/** Italian (it) UI pack — keys must stay in sync with en.ts. */
exportconstit: MessageDict={
"app.name":"Descrybe",
"app.home":"Home Descrybe",
"common.cancel":"Annulla",
"common.save":"Salva modifiche",
"common.saveShort":"Salva",
"common.continue":"Continua",
"common.open":"Apri",
"common.markDone":"Segna come fatto",
"common.viewAll":"Vedi tutto",
"common.close":"Chiudi",
"common.askAdmin":"Chiedi a un amministratore dell'azienda",
"common.you":"Tu",
"common.active":"Attivo",
"common.pending":"In sospeso",
"common.email":"Posta",
"common.password":"Password",
"common.name":"Il tuo nome",
"common.viewPricing":"Vedi i prezzi",
"common.backToSignIn":"Torna all'accesso",
"common.signingOut":"Disconnessione…",
"common.signOutAndContinue":"Esci e continua",
"common.staySignedIn":"Resta connesso",
"a11y.skipToContent":"Vai al contenuto",
"theme.switchToDark":"Passa al tema scuro",
"theme.switchToLight":"Passa al tema chiaro",
"header.signOut":"Esci",
"header.signingOut":"Disconnessione…",
"status.emDash":"—",
"status.pending":"In sospeso",
"status.processing":"Elaborazione",
"status.completed":"Completato",
"status.failed":"Non riuscito",
"status.cancelled":"Annullato",
"nav.section.overview":"Panoramica",
"nav.section.catalog":"Catalogo",
"nav.section.feeds":"Feed",
"nav.section.stores":"Negozi",
"nav.section.processing":"Elaborazione",
"nav.section.marketing":"Marketing",
"nav.section.integrations":"Integrazioni",
"nav.section.account":"Account",
"nav.section.platform":"Piattaforma",
"nav.dashboard":"Pannello",
"nav.products":"Prodotti",
"nav.categories":"Categorie",
"nav.attributes":"Attributi",
"nav.fields":"Campi",
"nav.feeds":"Feed",
"nav.exports":"Esportazioni",
"nav.stores":"Negozi",
"nav.jobs":"Lavori",
"nav.campaigns":"Campagne",
"nav.calendar":"Calendario",
"nav.seo":"SEO",
"nav.brand":"Marchio",
"nav.reviews":"Recensioni",
"nav.ai":"IA",
"nav.email":"Posta",
"nav.billing":"Fatturazione",
"nav.settings":"Impostazioni",
"nav.support":"Supporto",
"nav.admin":"Admin",
"nav.main":"Navigazione principale",
"nav.sidebar":"Barra laterale app",
"nav.close":"Chiudi navigazione",
"nav.closeMenu":"Chiudi menu",
"nav.open":"Apri navigazione",
"nav.commandPalette":"Cerca pagine",
"nav.commandPaletteLabel":"Cerca",
"auth.login.title":"Accedi",
"auth.login.description":"Usa la tua email e password Descrybe.",
"auth.login.submit":"Accedi",
"auth.login.submitting":"Accesso in corso…",
"auth.login.failed":"Accesso non riuscito",
"auth.login.passwordNotSet":"Questo account richiede ancora una password. Apri il link di invito o chiedi a un amministratore di generarne uno nuovo.",
"auth.login.setPasswordFirstTitle":"Imposta prima la password:",
"auth.login.setPasswordFirstBody":"usa il link di invito dalla tua email. Se il link è andato a un indirizzo vecchio (deriva email), chiedi a un amministratore dell'azienda di riemettere un invito per impostare la password a {email}.",
"auth.login.yourEmail":"la tua email",
"auth.login.platformAdminsReissue":"Gli amministratori della piattaforma possono riemettere da",
"auth.login.adminUsersLink":"Admin → Utenti",
"auth.login.haveToken":"Hai un token? Apri accetta invito",
"auth.login.noAccount":"Nessun account?",
"auth.login.createCompany":"Crea azienda",
"auth.login.haveInvite":"Hai un invito o un link per impostare la password?",
"auth.login.forgotPasswordHelp":"Inserisci la tua email nella pagina di reset. Se non hai mai impostato una password, usa il link di invito / impostazione password.",
"auth.forgot.title":"Password dimenticata",
"auth.forgot.description":"Inserisci l’email dell’account. Se corrisponde a un account attivo, invieremo un link di reset.",
"auth.forgot.submit":"Invia link di reset",
"auth.forgot.submitting":"Invio…",
"auth.forgot.failed":"Impossibile richiedere il reset",
"auth.forgot.sentTitle":"Controlla la tua email",
"auth.forgot.sentBody":"Se esiste un account per quell’indirizzo, il link di reset è in arrivo. Il link scade tra un’ora.",
"auth.forgot.backToSignIn":"Torna all’accesso",
"auth.reset.title":"Reimposta password",
"auth.reset.description":"Scegli una nuova password per il tuo account Descrybe (almeno 8 caratteri).",
"auth.reset.submit":"Salva nuova password",
"auth.reset.submitting":"Salvataggio…",
"auth.reset.failed":"Impossibile reimpostare la password",
"auth.reset.doneTitle":"Password aggiornata",
"auth.reset.doneDescription":"Accedi con la tua email e la nuova password.",
"auth.reset.goToSignIn":"Vai all’accesso",
"auth.reset.passwordConfirm":"Conferma password",
"auth.reset.passwordMismatch":"Le password non coincidono",
"auth.reset.missingTitle":"Link di reset mancante",
"auth.reset.missingDescription":"Apri il link dall’email per scegliere una nuova password.",
"auth.reset.requestNewLink":"Richiedi un nuovo link di reset",
"auth.reset.tokenMissing":"Nessun link di reset fornito. Usa il link dall’email oppure richiedine uno nuovo.",
"auth.reset.tokenInvalid":"Questo link di reset non è valido o è scaduto. Richiedine uno nuovo dalla pagina password dimenticata.",
"auth.reset.linkRecognized":"Link di reimpostazione riconosciuto. Inserisci una nuova password qui sotto — il segreto non è mostrato in questa pagina.",
"auth.reset.tokenLabel":"Token di reset",
"auth.reset.passwordHint":"Almeno 8 caratteri. Nessuna altra regola di complessità.",
"auth.register.title":"Crea azienda",
"auth.register.description":"Registra un'azienda e il relativo utente amministratore.",
"auth.register.companyName":"Nome azienda",
"auth.register.submit":"Crea account",
"auth.register.submitting":"Creazione…",
"auth.register.failed":"Registrazione non riuscita",
"auth.register.haveAccount":"Hai già un account?",
"auth.invite.description":"Imposta la password per unirti all'azienda. Il tuo amministratore ha assegnato Membro (lavoro quotidiano) o Admin (team e fatturazione).",
"auth.invite.setPasswordDescription":"Scegli una password per il tuo account Descrybe migrato (almeno 8 caratteri).",
"auth.invite.checking":"Verifica invito…",
"auth.invite.forEmail":"Invito per {email}.",
"auth.invite.linkRecognized":"Link di invito riconosciuto. Inserisci una password qui sotto per continuare — il segreto non è mostrato in questa pagina.",
"auth.invite.resetLinkRecognized":"Link di reimpostazione riconosciuto. Inserisci una password qui sotto per continuare — il segreto non è mostrato in questa pagina.",
"auth.invite.tokenLabel":"Token di invito",
"auth.invite.resetTokenLabel":"Token di reimpostazione",
"auth.invite.tokenHelp":"Incolla il token dall'email di invito. È mascherato in questo campo.",
"auth.invite.passwordHint":"Almeno 8 caratteri. Nessun'altra regola di complessità.",
"auth.invite.setPasswordFailed":"Impossibile impostare la password",
"auth.invite.expired":"Questo invito non è valido o è scaduto. Chiedi all'amministratore dell'azienda di inviare un nuovo invito, poi apri il nuovo link (o incolla il nuovo token qui sotto).",
"auth.invite.setPasswordExpired":"Questo link per impostare la password non è valido o è scaduto. Chiedi a un amministratore dell'azienda o della piattaforma di riemetterlo, poi apri il nuovo link (o incolla il nuovo token qui sotto).",
"auth.invite.emailMismatchDefault":"Hai effettuato l'accesso con un'email diversa da questo invito.",
"auth.invite.expiredFooter":"Link scaduto? Chiedi a un amministratore di riemetterlo — non c'è un'API di reinvio self-service. Amministratori della piattaforma:",
"auth.invite.doneDescription":"Il tuo account è pronto. Apri la dashboard per lavorare con feed e prodotti, oppure rivedi le impostazioni dell'azienda.",
"auth.invite.doneSetPasswordDescription":"Accedi con la tua email e la nuova password per aprire il tuo spazio di lavoro.",
"auth.invite.afterSignInNote":"Dopo l'accesso arrivi nel tuo spazio di lavoro — il tour di configurazione iniziale viene saltato.",
"auth.invite.mismatchTitle":"Account errato per questo invito",
"auth.invite.mismatchDescription":"Questo link è per un'email diversa da quella con cui hai effettuato l'accesso. Esci per continuare come utente invitato, oppure resta connesso e chiedi a un amministratore di riemettere l'invito.",
"auth.invite.mismatchDetail":"Accesso come {session}, ma questo invito è per {invite}.",
"auth.invite.mismatchFallback":"L'email della sessione non corrisponde a questo invito.",
"auth.invite.switchAccountBody":"esci, poi completa questo modulo con l'email invitata{emailSuffix}.",
"auth.invite.reissueTitle":"Percorso di riemissione:",
"auth.invite.reissueBody":"se la tua email di accesso reale è cambiata (deriva email), chiedi a un amministratore dell'azienda di revocare questo invito e inviarne uno nuovo all'email con cui accedi. Gli amministratori della piattaforma possono anche riemettere link per impostare la password da Admin → Utenti.",
"locale.switcher":"Lingua dell'interfaccia",
"locale.menu":"Scegli la lingua dell'interfaccia",
"locale.label":"Lingua della dashboard",
"locale.help":"Modifica le etichette di navigazione e impostazioni. La lingua dei contenuti generati si imposta separatamente in Azienda.",
"settings.contentLanguage":"Lingua dei contenuti",
"settings.contentLanguageHelp":"Lingua usata per titoli, descrizioni e altri contenuti generati",
"settings.tab.profile":"Profilo",
"settings.tab.company":"Azienda",
"settings.tab.alerts":"Avvisi",
"settings.tab.apiKeys":"Chiavi API",
"settings.tab.team":"Squadra",
"settings.title":"Impostazioni",
"settings.description":"Account, azienda, chiavi API e team.",
"settings.accessDenied":"Non hai l'autorizzazione per aprire le impostazioni dell'azienda. Chiedi aiuto a un amministratore.",
"settings.loadFailed":"Impossibile caricare le impostazioni",
"settings.profileHeading":"Profilo",
"settings.personalInfo":"Informazioni personali",
"settings.personalInfoHelp":"Aggiorna i tuoi dati personali",
"settings.firstName":"Nome",
"settings.firstNamePlaceholder":"Il tuo nome",
"settings.lastName":"Cognome",
"settings.lastNamePlaceholder":"Il tuo cognome",
"settings.email":"Posta",
"settings.profileUpdated":"Profilo aggiornato.",
"settings.profileUpdateFailed":"Impossibile aggiornare il profilo",
"settings.role.member":"Membro",
"settings.role.admin":"Admin",
"settings.teamHeading":"Membri del team",
"settings.inviteUser":"Invita utente",
"settings.teamAdminOnly":"Solo gli amministratori dell'azienda possono invitare, promuovere, degradare o rimuovere compagni di team.",
"settings.shareAcceptLink":"Condividi link di accettazione",
"settings.shareAcceptLinkHelp":"L'email in uscita non è configurata. Copia questo link monouso e invialo all'invitato. Imposterà una password (almeno 8 caratteri) e si unirà con il ruolo che hai scelto.",
"settings.acceptLinkLabel":"Link monouso di accettazione invito",
"settings.copyLink":"Copia link",
"settings.linkCopied":"Link di accettazione copiato.",
"settings.table.email":"Posta",
"settings.table.role":"Ruolo",
"settings.table.status":"Stato",
"settings.table.joined":"Iscrizione / scadenza",
"settings.table.actions":"Azioni",
"settings.teamForbidden":"Non hai l'autorizzazione per visualizzare l'elenco del team. Chiedi aiuto a un amministratore.",
"settings.noTeammates":"Ancora nessun compagno di team",
"settings.noTeammatesHelp":"Invita colleghi come Membro (prodotti e feed) o Admin (team e impostazioni azienda). Gli inviti in sospeso compaiono qui fino all'accettazione.",
"settings.noTeammatesMemberHelp":"Ancora nessun compagno di team elencato. Chiedi a un amministratore di inviare inviti.",
"settings.memberActions":"Azioni del membro",
"settings.makeAdmin":"Rendi admin",
"settings.makeMember":"Rendi membro",
"settings.removeMember":"Rimuovi",
"settings.revokeInvite":"Revoca invito",
"settings.needOneAdmin":"Le aziende necessitano di almeno un amministratore",
"settings.expires":"Scade il {date}",
"settings.invalidEmail":"Inserisci un indirizzo email valido.",
"settings.inviteCreatedNoMail":"Invito creato per {email} come {role}. Copia il link di accettazione qui sotto e condividilo — l'email in uscita non è configurata.",
"settings.inviteSent":"Invito inviato a {email} come {role}. Deve aprire l'email e accettare prima della scadenza.",
"settings.inviteRoleHint":"I membri gestiscono prodotti e feed. Gli amministratori possono anche invitare colleghi e modificare le impostazioni dell'azienda.",
"settings.sendInvite":"Invia invito",
"settings.companyHeading":"Impostazioni azienda",
"settings.activeCompany":"Azienda attiva",
"settings.creditsOverview":"Panoramica crediti",
"settings.plan":"Piano",
"settings.used":"Usato",
"settings.companyInfo":"Informazioni azienda",
"settings.companyInfoHelp":"Aggiorna i dettagli dell'azienda",
"settings.companyName":"Nome azienda",
"settings.companyNamePlaceholder":"Il nome della tua azienda",
"settings.mergeProducts":"Unisci prodotti con lo stesso GTIN",
"settings.emailIntegration":"Integrazione email",
"settings.aiIntegrations":"Integrazioni IA",
"settings.alertsHeading":"Avvisi operatore",
"settings.inAppToasts":"Toast in-app",
"settings.emailAlerts":"Avvisi email",
"settings.apiKeysHeading":"Chiavi API",
"settings.createApiKey":"Crea chiave API",
"settings.createApiKeyShort":"Crea chiave API",
"settings.createApiKeyTitle":"Crea chiave API",
"settings.apiKeyLabel":"Chiave API",
"settings.keyName":"Nome chiave",
"settings.storeKeySafe":"Conservala in un posto sicuro — non potrai più vedere il segreto completo.",
"settings.apiKeysIntro":"Crea una chiave API aziendale per chiamare gli endpoint pubblici /api/v1. Il segreto completo viene mostrato una sola volta alla creazione — copialo subito.",
"settings.apiKeysUseWhere":"Inviala come Authorization: Bearer <key> (consigliato) o X-API-Key.",
"settings.apiKeyOnceWarning":"Questa è l’unica volta in cui il segreto completo è mostrato. Copialo ora prima di chiudere questa finestra.",
"settings.table.name":"Nome",
"settings.table.key":"Chiave",
"settings.table.lastUsed":"Ultimo utilizzo",
"dashboard.demoSandbox":"Sandbox demo",
"dashboard.demoEmptyTitle":"La sandbox demo è vuota",
"dashboard.demoEmptyHint":"La sandbox demo è vuota — passa ad A1 o collega un feed per vedere statistiche reali del catalogo.",
"dashboard.overviewTitle":"Panoramica",
"dashboard.quickLinks":"Collegamenti rapidi",
"dashboard.whatsNew":"Novità",
"dashboard.startTutorial":"Avvia tutorial",
"dashboard.resumeTutorial":"Riprendi tutorial",
"dashboard.restartTutorial":"Riavvia tutorial",
"dashboard.tourTopics":"Argomenti del tour",
"dashboard.browseTutorialSections":"Sfoglia le sezioni del tutorial",
"dashboard.connectFeed":"Collega un feed",
"dashboard.processProducts":"Elabora prodotti",
"dashboard.openProducts":"Apri prodotti",
"dashboard.welcomeTo":"Benvenuto in {name}",
"dashboard.trialBadge":"Prova",
"dashboard.actions":"Azioni dashboard",
"dashboard.emptyPaygHint":"Descrybe importa un catalogo, lo arricchisce e lo elabora, poi esporta o lo invia agli store. Usa Per iniziare qui sotto.",
"dashboard.emptyCreditsHint":"Descrybe importa un catalogo, lo arricchisce e lo elabora, poi esporta o lo invia agli store. Hai {credits} — inizia con Per iniziare qui sotto.",
"dashboard.workflowTitle":"Flusso catalogo",
"dashboard.recentActivity":"Attività recente",
"dashboard.loadFailed":"Impossibile caricare la dashboard",
"dashboard.workspaceFallback":"Questo spazio di lavoro",
"dashboard.workflow.exportReady":"Modelli e download",
"dashboard.workflow.exportMap":"Mappa poi esporta",
"dashboard.workflowHint":"Catalogo in ingresso → arricchisci / elabora → esporta o invia agli store. Vai al passo successivo per {name}.",
"dashboard.overviewHint":"Totali in tempo reale per {name}",
"dashboard.demoEmptyMessage":"Passa ad A1 (o un'altra azienda con dati) nell'intestazione, oppure collega un feed qui per popolare questa sandbox.",
"dashboard.emptyTitle":"Importa un catalogo",
"dashboard.emptyMessage":"Catalogo in ingresso → arricchisci / elabora → esporta o invia agli store. Inizia con Per iniziare qui sotto (o collega un feed / carica un CSV).",
"dashboard.connectFeedAnyway":"Collega comunque un feed",
"dashboard.connectFeedShort":"Collega feed",
"dashboard.uploadCsv":"Carica CSV",
"dashboard.goToBilling":"Vai alla fatturazione",
"dashboard.freePlanTitle":"Sei sul piano Free",
"dashboard.freePlanMessageWithLimit":"{used} di {max} prodotti usati. Mappatura feed, pulizia di base ed etichette energetiche UE (EPREL) sono inclusi; passa a un piano superiore per titoli e descrizioni IA e più capacità.",
"dashboard.freePlanMessage":"Mappatura feed, pulizia di base ed etichette energetiche UE (EPREL) sono inclusi; passa a un piano superiore per titoli e descrizioni IA e più capacità.",
"dashboard.outOfCreditsTitle":"Hai esaurito i crediti IA",
"dashboard.outOfCreditsMessage":"Acquista altri crediti o passa a un piano superiore per continuare l'elaborazione.",
"dashboard.productLimitMessage":"Il piano {plan} consente {max} prodotti ({count} nel catalogo). Passa a un piano superiore per elaborarne di più.",
"dashboard.productLimitMessageFull":"È stato raggiunto il limite prodotti del piano {plan}. Passa a un piano superiore per elaborarne di più.",
"dashboard.comparePlans":"Confronta i piani",
"dashboard.viewPlans":"Vedi i piani",
"dashboard.trialTitle":"Prova · {plan}",
"dashboard.trialMessageDated":"La prova termina il {date}. {credits} crediti rimanenti.",
"dashboard.trialMessage":"{credits} crediti rimanenti nella prova.",
"dashboard.lowCreditsTitle":"Crediti in esaurimento",
"dashboard.lowCreditsMessage":"Restano {remaining} di {total} crediti. Ricarica o passa a un piano superiore prima che i processi si fermino.",
"dashboard.latestJobs":"Ultimi processi di elaborazione",
"dashboard.noJobsEmpty":"Ancora nessun processo — importa prima i prodotti.",
"dashboard.noJobsReady":"Nessun processo recente. Avviane uno da Prodotti quando sei pronto.",
"dashboard.startJob":"Avvia un job da Prodotti",
"dashboard.quickLinksHint":"Feed, prodotti, processi ed esportazione.",
"dashboard.feedsImportMap":"Importa e mappa",
"dashboard.productsBrowse":"Sfoglia ed elabora",
"dashboard.jobsMonitor":"Monitora le attività",
"dashboard.exportsTemplates":"Modelli e download",
"activation.title":"Per iniziare",
"activation.description":"Descrybe importa un catalogo, lo arricchisce e lo elabora, poi esporta o lo invia agli store. Completa il passo corrente e continua — il tour demo spiega le schermate senza modificare l’avanzamento della checklist.",
"activation.descriptionShort":"Inizia dal passo evidenziato qui sotto — un’azione alla volta. Collegare un negozio è facoltativo.",
"activation.nextCta":"Esegui questo passo",
"activation.valueProp":"Descrybe importa un catalogo, lo arricchisce e lo elabora, poi esporta o lo invia ai tuoi store.",
"activation.alreadyDone":"Già fatto",
"activation.skipForNow":"Salta per ora",
"activation.showAllSteps":"Mostra tutti i {total} passi",
"activation.showFewerSteps":"Mostra meno passi",
"activation.corePathLabel":"In breve",
"activation.corePath":"Catalogo in ingresso → Arricchisci / elabora → Esporta o invia agli store",
"activation.storeWizardHint":"Non obbligatorio per feed o export — salta a meno che tu non voglia inviare prodotti a un negozio live.",
"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} di {total} completati",
"activation.stepsLabel":"Passaggi di attivazione",
"activation.pausedTitle":"Per iniziare in pausa",
"activation.pausedBody":"Riprendi in qualsiasi momento — dai campi prodotto all’export. Collegare un negozio resta facoltativo.",
"activation.step.enable-fields.body":"Scegli quali colonne prodotto standard Descrybe deve mappare e pulire.",
"activation.step.connect-source.title":"Aggiungi un feed prodotti",
"activation.step.connect-source.body":"Aggiungi un feed catalogo CSV o XML così i prodotti entrano in Descrybe. Collegare un negozio live è un passaggio facoltativo successivo.",
"activation.step.map.title":"Mappa colonne del feed",
"activation.step.map.body":"In Feeds, apri Map sul tuo feed, abbina le colonne del fornitore e salva.",
"activation.step.sync-sample.title":"Sincronizza un campione",
"activation.step.sync-sample.body":"In Feeds, sincronizza un piccolo campione da un feed mappato per verificare la mappatura prima dell’esecuzione completa.",
"activation.step.process.body":"Apri i prodotti non elaborati ed esegui l’elaborazione per generare contenuti di catalogo puliti.",
"activation.step.store-connect.title":"Collega un negozio",
"activation.step.store-connect.body":"Facoltativo. Collega WooCommerce o Shopify per inviare prodotti al tuo negozio. Salta se usi solo feed ed export.",
"activation.step.export.title":"Crea un export",
"activation.step.export.body":"Crea un feed di export per scaricare o pubblicare prodotti puliti come XML o CSV.",
"docs.tryIt.memberCannotCreate":"Solo gli admin azienda possono creare chiavi API. Le chiavi legacy non sono state migrate — incolla una chiave sotto o chiedi a un admin di crearne una nuova.",
"docs.tryIt.noKeysLegacyAdmin":"Le chiavi API legacy non sono state migrate. Creane una con Use my API key o Impostazioni → Chiavi API — il secret è mostrato una sola volta.",
"docs.tryIt.noKeysLegacyMember":"Nessuna chiave API elencata. Le chiavi legacy non sono state migrate — chiedi a un admin di crearne una, o incolla una chiave dk_.",
"errors.couldNotUpdateLanguage":"Impossibile aggiornare la lingua",
"toast.support.replyTitle":"Risposta del supporto",
"toast.support.replyBody":"Lo staff ha risposto al tuo ticket di supporto.",
"tutorial.stepOf":"Passaggio {current} di {total}",
"tutorial.jumpTo":"Vai a…",
"tutorial.jumpToSectionAria":"Vai alla sezione",
"tutorial.back":"Indietro",
"tutorial.pause":"Pausa",
"tutorial.continue":"Continua",
"tutorial.finishTour":"Termina tour",
"tutorial.missingTargetHint":"Quel controllo non è ancora in questa schermata. Puoi comunque Continua: il tour non richiede mai salvataggio o sincronizzazione.",
"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":"Benvenuto in Descrybe",
"tutorial.step.welcome.body":"Il ciclo centrale di Descrybe è Feeds → Process → Export / Stores. Questa demo guidata evidenzia quelle schermate sul tuo dashboard reale — senza richiedere salvataggi, sync, abilitazione campi o creazione feed. Metti in pausa quando vuoi; riprendi dall’header. Salta a una sezione se ti serve aiuto su un solo argomento.",
"tutorial.step.welcome.tip":"Demo tour — your data stays unchanged until you choose to act outside the tour.",
"tutorial.step.welcome.nextLabel":"Start tour",
"tutorial.step.welcome.missingHint":"You’re on the dashboard — continue when ready.",
"tutorial.step.dashboard-overview.title":"Il tuo centro di comando",
"tutorial.step.dashboard-overview.body":"La striscia del workflow catalogo mostra il percorso quotidiano: Feeds → Map → Sync → Process. Getting started traccia il progresso reale del workspace (separato da questa demo). Quando sei pronto, usa Manage feeds o Start processing — poi esporta o collega uno store.",
"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":"I Standard Fields sono le colonne prodotto che Descrybe mappa, elabora ed esporta — titolo, descrizione, GTIN, immagini e altro. Enable recommended attiva un set predefinito sensato per la maggior parte dei cataloghi. Puoi raffinare l'elenco dopo senza rompere i mapping esistenti.",
"tutorial.step.enable-fields.tip":"In the demo you don’t need to click Enable recommended — Continue when you understand the idea.",
"tutorial.step.enable-fields.warning":"Enabling or disabling fields affects mapping and processing for this company. Prefer Enable recommended once, then tweak carefully.",
"tutorial.step.enable-fields.missingHint":"Wait for the Fields page to load, or open Fields from the Catalog section in the sidebar.",
"tutorial.step.catalog-depth.title":"Categorie e attributi",
"tutorial.step.catalog-depth.body":"Nella sezione Catalog della sidebar trovi anche Categories e Attributes. Categories organizzano il catalogo; gli attributi alimentano filtri e descrizioni strutturate. Non serve configurarli per finire questo tour.",
"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":"I feed sono come i cataloghi dei fornitori entrano in Descrybe — file CSV, XML o URL. Add Feed crea una nuova origine; ogni riga mostra lo stato (pronto per il mapping, mappato, attivo). Map apre la schermata di abbinamento campi per quel 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":"Mappa i campi origine",
"tutorial.step.map.body":"Nella schermata Map di un feed abbini le colonne del fornitore ai standard fields Descrybe. Auto-map suggerisce corrispondenze dai nomi colonna; conferma quelle approssimative, poi correggi il resto. Save Mappings salva la mappa così sync ed elaborazione sanno leggere ogni riga.",
"tutorial.step.map.tip":"Demo tip: open Map on a feed when you have one — you are not required to save.",
"tutorial.step.map.warning":"Don’t Save Mappings until Auto-map looks right — a bad map makes bad products.",
"tutorial.step.map.missingHint":"Add a feed and click Map to see the mapping UI; or Continue to keep learning.",
"tutorial.step.sync-sample.title":"Sincronizza un campione (quando pronto)",
"tutorial.step.sync-sample.body":"Dopo aver salvato i mapping, Sync + Process sample recupera un piccolo lotto ed esegue l'elaborazione per verificare titoli, immagini e attributi prima di un run completo. Full Sync now nell'elenco feed serve a import più ampi quando il campione è a posto.",
"tutorial.step.sync-sample.tip":"Skip Sync during the demo — use it only after Save Mappings on a real feed.",
"tutorial.step.sync-sample.warning":"Syncing writes products into this company. Prefer a sample first; avoid Sync now on unmapped feeds.",
"tutorial.step.sync-sample.missingHint":"Sync controls appear on feed rows and on the mapping screen footer.",
"tutorial.step.process.title":"Rivedi i prodotti",
"tutorial.step.process.body":"Products elenca articoli sincronizzati e processati. Filtra per stato, apri una riga per i dettagli e usa i badge EPREL quando ci sono dati di etichetta energetica. Qui individui errori di mapping prima di export o sync store.",
"tutorial.step.process.tip":"Browsing products is read-only for exploration — editing a row changes live catalog data.",
"tutorial.step.process.missingHint":"Wait for the products table, or Continue if the catalog is still empty.",
"tutorial.step.processing-hub.title":"Elaborazione in background",
"tutorial.step.processing-hub.body":"I job in Processing mostrano avanzamento AI e pipeline: esecuzioni completate e errori. Avvia job da dashboard o prodotti quando vuoi spendere crediti su un batch.",
"tutorial.step.processing-hub.tip":"Jobs consume credits — watch Billing before large runs.",
"tutorial.step.processing-hub.missingHint":"Open Jobs from the Processing section in the sidebar if the page is empty.",
"tutorial.step.stores-hub.title":"Store e piattaforme",
"tutorial.step.stores-hub.body":"Dopo il processing, Stores collega WooCommerce o Shopify per inviare il catalogo pulito al tuo negozio. Usalo quando marketplace/CMS è la destinazione — o passa a Export feeds se i partner bastano file/URL.",
"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":"Gli export feeds pubblicano prodotti puliti come XML o CSV per canali, partner o il tuo negozio. Crea un export, scegli formato e filtri, poi condividi l'URL del feed o scarica. Gli export leggono dati di catalogo elaborati — mappa ed elabora prima per risultati migliori.",
"tutorial.step.export.tip":"You don’t need to create an export during the demo.",
"tutorial.step.export.warning":"Creating or deleting export feeds affects what partners can download — avoid deleting production feeds casually.",
"tutorial.step.export.missingHint":"Wait for Export feeds to load, or open Exports from the Feeds section in the sidebar.",
"tutorial.step.billing-hub.title":"Crediti e fatturazione",
"tutorial.step.billing-hub.body":"Billing mostra piano, wallet e crediti rimanenti. Elaborazione e alcune funzioni AI attingono a questo saldo. Controlla l'uso prima di grandi run di catalogo.",
"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":"Campagne, SEO e recensioni",
"tutorial.step.grow-hub.body":"In Marketing: Campaigns genera contenuti, Content calendar pianifica post, SEO verifica gli listing e Reviews si collega a WooCommerce. Si basano su un catalogo ben mappato — completa Feeds → Process → Export / Stores prima di affidarti a loro.",
"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":"Pronto a esplorare",
"tutorial.step.tour-done.body":"Questa è la mappa prodotto: Feeds → Map → Sync → Process → Export / Stores. Usa Getting started sul dashboard per la configurazione reale. Riprendi o riavvia il tour dall’header in qualsiasi momento, o Jump to… una sezione. Skip tour termina la demo senza cambiare la checklist.",
"tutorial.step.tour-done.tip":"Demo complete — no cleanup needed. Your account was not modified by Continue alone.",
"admin.analytics.companiesHint":"Principali aziende per token con suddivisione provider",
"admin.analytics.noCompanies":"Nessuna azienda",
"admin.analytics.noCompaniesMsg":"L'elenco aziende è vuoto.",
"admin.analytics.company":"Azienda",
"admin.analytics.internal":"Interno",
"admin.analytics.popular":"Popolare",
"admin.analytics.custom":"Personalizzato",
"admin.analytics.noBillingCycles":"Nessun ciclo di fatturazione ancora",
"admin.analytics.linkDiagnostics":"Diagnostica",
"admin.analytics.linkStuck":"Prodotti bloccati",
"admin.users.eyebrow":"Admin piattaforma",
"admin.users.title":"Utenti e organizzazioni",
"admin.users.description":"Directory utenti della piattaforma, ruoli staff e assegnazioni piani azienda.",
"admin.users.staffRoleUnavailable":"Gli aggiornamenti del ruolo staff non sono ancora disponibili su questo deployment. Contatta l'amministratore della piattaforma se ti servono.",
"admin.users.cloneCatalogWarning":"Sostituisce categorie, feed, prodotti, attributi, mapping e brand sulla destinazione. Piano, fatturazione, membri, chiavi API e connettori store non vengono copiati.",
"admin.settings.description":"Credenziali piattaforma, ruoli IA, mail e integrazioni per questo deployment",
"admin.settings.intro":"Configura qui ruoli IA piattaforma, SMTP, OAuth, EPREL, Pinecone e Stripe. Lascia vuoti i campi segreti per mantenere il valore salvato. Le chiavi per azienda restano sotto Integrazioni tenant.",
"admin.settings.aiRolesUnavailable":"I ruoli IA completi non sono ancora disponibili su questo deployment. L'elaborazione continua a salvarsi via impostazioni OpenAI piattaforma; gli altri ruoli saranno persistiti quando supportati.",
"admin.settings.tab.integrations":"Panoramica",
"admin.settings.tab.ai":"Ruoli IA",
"admin.settings.tab.mail":"Mail",
"admin.settings.tab.other":"Altro",
"admin.settings.tab.admins":"Utenti admin",
"admin.settings.mailCardDesc":"Inviti set-password e e-mail in uscita della piattaforma",
"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":"Console ops per salute app, profondità coda, job recenti e flag di config. Secret e DSN non sono mai mostrati; gli errori dei job sono sanitizzati.",
"admin.diagnostics.filterAria":"Filtro stato job",
"admin.diagnostics.queue":"Coda",
"admin.diagnostics.noJobsInQueue":"Nessun job in coda.",
"admin.diagnostics.sanitizedErrors":"Errori sanitizzati · max 25",
"admin.diagnostics.colId":"ID",
"admin.diagnostics.colCompany":"Azienda",
"admin.diagnostics.colStatus":"Stato",
"admin.diagnostics.colProgress":"Avanzamento",
"admin.diagnostics.colUpdated":"Aggiornato",
"admin.diagnostics.colError":"Errore",
"admin.diagnostics.colTicket":"Ticket",
"admin.diagnostics.colWhen":"Quando",
"admin.diagnostics.noJobsFilter":"Nessun job per questo filtro.",
"admin.stuck.title":"Prodotti bloccati",
"admin.stuck.description":"Esamina i job di elaborazione recenti e reimposta quelli bloccati da più di 2 ore",
"admin.stuck.noJobs":"Nessun job trovato.",
"admin.stuck.filterAria":"Filtra i job per stato",
"admin.orphan.title":"Orphan processed",
"admin.orphan.description":"Cutover ops #7 — report stale catalog rows first (dry-run), then confirm delete only if needed.",
"admin.orphan.cutoverHint":"Safe by default: refresh and dry-run never delete. Confirm delete sends confirm=true only after you approve the dialog.",
"admin.orphan.refreshReport":"Refresh report",
"admin.orphan.dryRunBtn":"Dry-run cleanup",
"admin.orphan.deleteBtn":"Confirm delete…",
"admin.orphan.loadFailed":"Could not load orphan report",
"admin.orphan.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":"Admin fatturazione",
"admin.billing.description":"Gestisci piani, crediti, autorizzazioni funzionalità per pacchetto e switch di funzionalità a livello piattaforma.",
"admin.billing.noCompaniesFilter":"Nessuna azienda corrisponde a questo filtro.",
"admin.billing.assignPlanTitle":"Assegna piano",
"admin.billing.assignPlanDesc":"Collega un piano di fatturazione a un'azienda. I crediti prova facoltativi azzerano il saldo aziendale per il periodo di prova.",
"admin.knowledge.noArticles":"Nessun articolo di knowledge",
"admin.knowledge.emptyCategoryMsg":"La categoria «{category}» è pronta — aggiungi uno scheletro di articolo da far compilare a un agente contenuti.",
"admin.knowledge.emptyArticlesMsg":"Aggiungi scheletri in stile FAQ con categorie e parole chiave. Lascia segnaposto nel corpo per gli agenti contenuti.",
"admin.plans.description":"Pubblico ladder, A1 / Legacy, Piattaforma Demo, and custom deals. Ephemeral test and obsolete ladder rows stay under Nascosto.",
"admin.plans.searchPlaceholder":"Cerca nome o descrizione…",
"admin.plans.searchAria":"Cerca piani",
"admin.plans.filterAria":"Filtra piani per visibilità",
"admin.permissions.noteBody":"Questi interruttori definiscono cosa può includere questo pacchetto. I master on/off a livello di piattaforma sono nella scheda {global} — un piano può abilitare una funzione che resta comunque disattivata se lo switch di piattaforma è off.",
"admin.permissions.globalTab":"Switch globali",
"admin.permissions.title":"Autorizzazioni del piano",
"admin.permissions.profilesHint":"Matrici con un clic per i pacchetti della scala pubblica e la navigazione legacy migrata. Salva override solo per il pacchetto selezionato.",
"admin.permissions.sectionFailed":"Sezione update non riuscito",
"admin.profile.legacy.label":"Legacy",
"admin.profile.legacy.description":"Migrated legacy navigation: catalog, feed, fatturazione, and impostazioni; no Indietroground Tasks, negozi, or marketing.",
"admin.profile.free.label":"Gratuito",
"admin.profile.free.description":"Pubblico Free ladder — AI, chiave APIs, live email, and own-key AI disattivo.",
"admin.profile.starter.label":"Starter",
"admin.profile.starter.description":"Pubblico Starter — AI on; own-key AI disattivo.",
"admin.profile.growth.label":"Growth",
"admin.profile.growth.description":"Tutte le funzionalità del catalogo attive.",
"admin.profile.business.label":"Business",
"admin.profile.business.description":"Tutte le funzionalità del catalogo attive.",
"admin.profile.enterprise.label":"Enterprise / tutto attivo",
"admin.profile.enterprise.description":"Full matrice funzionalità (custom and Enterprise default).",
"admin.gates.noteBody":"Questi interruttori valgono per ogni pacchetto. L’accesso effettivo è {combo}. I diritti per pacchetto restano nella scheda {permissions}.",
"admin.gates.combo":"permesso del piano E sezione globale E funzionalità globale",
"admin.gates.permissionsTab":"Autorizzazioni del piano",
"admin.gates.sectionsDesc":"Turn an entire prodotto area on or disattivo for all packages. “Sezione + features” also updates every feature master in that section.",
"admin.knowledge.publishedEligible":"Pubblicato (idoneo al matching)",
"admin.knowledge.field.name":"Nome",
"admin.knowledge.field.templateBody":"Corpo",
"admin.knowledge.active":"Attivo",
"admin.settings.card.aiRolesTitle":"Piattaforma AI roles",
"admin.settings.card.aiRolesDesc":"Elaborazione, vectorization, docs/API, and supporto — separate keys/models",
"admin.settings.roleOff":" (disattivo)",
"admin.settings.roleNotSet":"· not set",
"admin.settings.someRolesUnavailable":"Some AI roles are not disponibile on this deployment yet. Elaborazione still uses the platform ApriAI impostazioni until all roles are supportoed.",
"admin.support.disableAuto":"Disabilita auto per questo ticket",
"admin.support.aiDraftTitle":"Bozza IA (approva o modifica)",
"admin.support.aiDraftDesc":"La modalità solo bozza ha lasciato una nota interna. Modifica se serve, poi invia al cliente — oppure scarta e continua manualmente.",
"admin.support.confidence":"Confidenza {value}",
"admin.support.statusAfterSend":"Stato dopo l’invio",
"admin.support.approveSend":"Approva e invia",
"admin.support.discardDraft":"Scarta bozza",
"admin.support.threadTitle":"Thread",
"admin.support.threadMeta":"{count} · ultima attività {when}",
"admin.support.replyDesc":"Le risposte pubbliche notificano il cliente. Le note interne restano solo staff. Lo stato predefinito dopo una risposta pubblica è in sospeso.",
"admin.support.internalNote":"Nota interna (non visibile al cliente)",
"admin.support.setStatus":"Imposta stato",
"admin.support.statusDefault":"Predefinito",
"admin.support.saveNote":"Salva nota",
"admin.support.sendReply":"Invia risposta",
"admin.support.replyAndResolve":"Rispondi e risolvi",
"admin.support.closedBanner":"Questo ticket è chiuso. Riapirlo per continuare la conversazione.",
"admin.settings.tenantDesc":"Le chiavi IA e l’email marketing aziendali restano in Integrazioni. I segreti di sessione e cifratura restano nell’ambiente server e non si modificano qui.",
"admin.settings.perCompanyAiEmail":"IA/e-mail per azienda —",
"admin.settings.plansCredits":"Piani e crediti —",
"admin.settings.smtpCardDesc":"Usato per inviti set-password e e-mail in uscita di piattaforma. Resend/SMTP marketing resta per azienda in Integrazioni → Email.",
"admin.settings.eprelDesc":"Dati pubblici gratuiti delle etichette energetiche UE durante l’elaborazione. Attivo di default per tutti i piani — nessuna attivazione o upgrade a pagamento. Usa i controlli solo per disabilitare o regolare il client.",
"admin.settings.optionalKeySaved":"Chiave API opzionale salvata",
"admin.settings.noApiKeyNeeded":"Nessuna chiave API necessaria",
"admin.settings.optionalApiKey":"Chiave API opzionale",
"admin.settings.optionalApiKeySavedHint":"(salvato — leave blank to keep)",
"admin.settings.clearEprelKey":"Cancella chiave API EPREL salvata",
"admin.settings.pineconeDesc":"Suggerimenti opzionali di categoria vettoriale durante l’elaborazione. I valori dell’ambiente host si usano se questi campi restano vuoti.",
"admin.settings.apiKeyConfigured":"Chiave API configurata",
"admin.settings.noApiKey":"Nessuna chiave API",
"admin.settings.apiKeyLabel":"Chiave API",
"admin.settings.clearPineconeKey":"Cancella chiave API Pinecone salvata",
"admin.settings.stripeDesc":"Override opzionali della configurazione Stripe del server. Preferisci i campi password; i valori non vengono più mostrati dopo il salvataggio.",
"admin.settings.stripeMock":"Forza modalità mock Stripe (solo non produzione — disabilita addebiti reali)",
"admin.settings.aiRole.docs_api.desc":"Slot futuro assistente docs/API — /docs Ask resta rule-based e non deve mai chiamare questo ruolo.",
"admin.settings.aiRole.support.label":"Supporto",
"admin.settings.aiRole.support.desc":"IA di fallback per auto-risposta ticket — configura provider/chiave/modello qui; abilita l’invio in Knowledge support → Auto-risposta.",
"admin.support.searchPlaceholder":"Cerca oggetto, email o azienda",
"admin.support.searchAria":"Cerca ticket",
"admin.support.assignStaffAria":"Assegna allo staff",
"admin.support.aiDraftAria":"Bozza IA",
"admin.support.replyPlaceholder":"Scrivi una risposta…",
"admin.support.replyAria":"Corpo della risposta",
"admin.knowledge.eyebrow":"Admin piattaforma",
"admin.knowledge.title":"Knowledge support",
"admin.knowledge.description":"Struttura gli articoli di aiuto per l'abbinamento automatico FAQ. Gli agent di contenuto compilano i corpi — mantieni i fatti accurati.",
"admin.knowledge.notReady":"La knowledge di supporto non è pronta",
"admin.knowledge.noTemplates":"Nessun modello di risposta",
"admin.knowledge.articleDesc":"Il corpo Markdown supporta immagini tramite caricamento sicuro. Non inventare fatti di prodotto — lascia segnaposto per gli agent di contenuto.",
"admin.bootstrap.description":"Conferma se il tuo account ha già accesso admin piattaforma. I nuovi admin devono essere concessi da un amministratore esistente.",
"admin.bootstrap.statusDesc":"L'accesso admin piattaforma è concesso da un amministratore esistente. Non c'è bootstrap self-serve per questo ruolo.",
"admin.bootstrap.alreadyAdmin":"Hai già accesso admin piattaforma.",
"admin.bootstrap.signedInAs":"Accesso come {email}. Apri il pannello admin per continuare.",
"admin.bootstrap.signedInAsShort":"Accesso come {email}",
"admin.bootstrap.notAdminTitle":"Non sei admin piattaforma",
"admin.bootstrap.notAdminMsg":"Il tuo account è autenticato ma non è contrassegnato come admin piattaforma. Chiedi a un admin esistente di concedere l'accesso, poi esci e accedi di nuovo.",
"admin.bootstrap.goToPanel":"Vai al pannello admin",
"admin.bootstrap.loadFailed":"Impossibile caricare il profilo",
"admin.migrate.description":"Questo strumento di migrazione è ritirato e non modifica alcun dato.",
"admin.migrate.notAvailable":"Non disponibile",
"admin.migrate.body":"La migrazione organizzazione dal precedente identity provider non è più necessaria. Aziende e auth locale sono gestite in Utenti e organizzazioni.",
"admin.migrate.hint":"Se hai aperto questa pagina da un vecchio segnalibro, continua con Utenti e organizzazioni, Fatturazione piattaforma o Prodotti bloccati.",
"admin.migrate.adminHome":"Home admin",
"admin.migrate.users":"Utenti",
"admin.redirect.diagnostics":"Reindirizzamento a Diagnostica…",
"admin.redirect.stuck":"Reindirizzamento a Prodotti bloccati…",
"common.refresh":"Aggiorna",
"common.delete":"Elimina",
"common.clearSearch":"Cancella ricerca",
"common.loading":"Caricamento…",
"common.never":"Mai",
"common.back":"Indietro",
"common.startOver":"Ricomincia",
"common.create":"Crea",
"common.required":"Obbligatorio",
"common.actions":"Azioni",
"common.status":"Stato",
"common.nameCol":"Nome",
"common.products":"Prodotti",
"common.more":"+{count} in più",
"feeds.title":"I tuoi feed",
"feeds.loadingDesc":"Caricamento dei feed fornitore…",
"feeds.desc":"{page} in questa pagina · {total} feed totali — URL CSV/XML fornitore e caricamenti. Collega da Negozi per opzioni guidate.",
"feeds.storesHub":"Hub negozi",
"feeds.addFeed":"Aggiungi feed",
"feeds.searchPlaceholder":"Cerca feed...",
"feeds.emptyTitle":"Nessun feed prodotti ancora",
"feeds.emptyMessage":"Collega un URL CSV/XML fornitore o carica un file per sincronizzare i prodotti nel catalogo.",
"feeds.field.intervalHint":"Ogni quanto Descrybe deve scaricare questo feed automaticamente mentre è attivo. Sync nell'elenco avvia un download una tantum — non modifica questa pianificazione.",
"feeds.createFeed":"Crea feed",
"feeds.editTitle":"Modifica feed",
"feeds.editDesc":"Aggiorna nome, tipo, pianificazione sync automatica o URL di origine. Sync nell'elenco feed esegue un download una tantum.",
"feeds.csvSource":"Origine CSV",
"feeds.uploadedCsv":"CSV caricato",
"feeds.replaceFileHint":"Per sostituire il file, crea un nuovo feed. La sync rilegge il caricamento memorizzato.",
"feeds.csvTypeLocked":"I feed CSV caricati restano di tipo CSV.",
"feeds.saveChanges":"Salva modifiche",
"feeds.historyTitle":"Cronologia sync",
"feeds.historyDesc":"Job di sync recenti per “{name}”.",
"feeds.syncFailed":"Sincronizzazione non riuscita",
"feeds.statusUpdateFailed":"Impossibile aggiornare lo stato",
"feeds.deleteConfirm":"Eliminare il feed “{name}”? Operazione irreversibile.",
"feeds.deleted":"Feed eliminato.",
"feeds.deleteFailed":"Impossibile eliminare il feed",
"feeds.historyLoadFailed":"Impossibile caricare la cronologia sync",
"feeds.ftpUnsupported":"La sync FTP/FTPS non è supportata. Chiedi al fornitore un URL HTTPS pubblico, carica un feed CSV qui o importa un file da Uploads.",
"feeds.ftpUnsupportedShort":"Sync FTP non supportata",
"feeds.ftpBadge":"FTP",
"feeds.ftpMigrateBanner":"Alcuni feed usano ancora FTP/FTPS. Descrybe non può scaricarli. Passa a un URL HTTPS pubblico, aggiungi un feed CSV o carica da Uploads.",
"feeds.stats.readyCatalog":"Righe catalogo — non una quota degli importati",
"feeds.stats.unprocessed":"In attesa di elaborazione",
"feeds.stats.waiting":"Coda grezza — non una quota degli importati",
"feeds.format.howTo":"Come strutturare il feed",
"feeds.format.required":"Obbligatorio:",
"feeds.preview.title":"Anteprima origine feed",
"feeds.preview.truncated":"Troncato",
"feeds.preview.refresh":"Aggiorna anteprima",
"feeds.preview.copy":"Copia anteprima",
"feeds.preview.loading":"Caricamento anteprima…",
"feeds.preview.empty":"Estrai lo schema per anteprima dell'origine del feed.",
"feeds.schema.search":"Cerca campi…",
"feeds.schema.fieldName":"Nome campo",
"feeds.schema.sourcePath":"Percorso origine",
"feeds.schema.confirm":"Conferma",
"feeds.schema.apply":"Applica",
"feeds.preflight.missingItemPath":"Seleziona un percorso elemento prodotto prima di sincronizzare.",
"feeds.preflight.emptyMappings":"Mappa almeno un campo di origine prima di sincronizzare.",
"feeds.preflight.missingRequired":"Mappa i campi obbligatori prima di sincronizzare: {fields}.",
"feeds.preflight.unknownSource":"Alcune origini mappate non sono state trovate nello schema estratto: {fields}{more}. Riestrai o correggi i percorsi prima di affidarti ai valori campione.",
"feeds.preflight.emptySample":"I campi obbligatori hanno valori campione vuoti: {fields}. Controlla le colonne di origine prima di una sync completa.",
"feeds.preflight.fix":"Correggi le mappature campi prima di sincronizzare.",
"mapping.title":"Mappatura feed",
"mapping.titleNamed":"Mappa: {name}",
"mapping.description":"Seleziona l’elemento prodotto ripetuto, estrai i campi di origine e mappali sui campi prodotto Descrybe.",
"mapping.autoMap":"Auto-mappa",
"mapping.fuzzy":"{count} approssimati",
"mapping.extractSchema":"Estrai schema",
"mapping.backToFeeds":"Torna ai Feeds",
"mapping.ftpStillEdit":"{message} Puoi comunque modificare le mappature. Per aggiornare i prodotti, passa a HTTPS o carica un file.",
"mapping.csvHint":"I feed CSV usano le intestazioni di colonna come campi di origine. Estrai lo schema per caricare le colonne, poi continua la mappatura.",
"mapping.appliedNew":"Applicate {count} nuove mappature {kind} ({total} totali).",
"mapping.kindHighConfidence":"ad alta confidenza",
"mapping.kindFuzzy":"approssimata/e",
"mapping.fuzzyConfirmFlash":"{count} corrispondenza approssimata da confermare — usa Conferma approssimati o i chip per riga.",
"mapping.fuzzyConfirmFlashPlural":"{count} corrispondenze approssimative da confermare — usa Conferma approssimati o i chip per riga.",
"mapping.formatHelp.title":"Come strutturare il feed",
"mapping.formatHelp.required":"Obbligatorio:",
"mapping.formatHelp.requiredBody":"{gtin} (EAN/UPC), {title} (o {name}), {brand}",
"mapping.formatHelp.https":"Usa URL HTTPS pubblici per feed remoti (non FTP o localhost). L’upload CSV va bene per file locali.",
"mapping.formatHelp.specs":"Specifiche come coppie Etichetta: valore (es. {ram}). Dimensioni: {height}, {width}, {depth}, {mass}",
"mapping.formatHelp.also":"Supportati anche: prezzi, stock, immagini, categoria, garanzia, ID EPREL, descrizioni HTML, immagini extra, URL video e altro — scarica il campione completo.",
"mapping.formatHelp.downloadXml":"Scarica XML di esempio",
"mapping.formatHelp.downloadCsv":"Scarica CSV di esempio",
"mapping.sourcePreview.errorHint":"Puoi comunque inserire manualmente il percorso dell’elemento prodotto. Estrai lo schema quando l’URL è raggiungibile.",
"mapping.sourcePreview.emptyHintXml":"Fai clic su «Estrai schema» per scaricare un campione e scoprire i campi, oppure inserisci un percorso item manualmente.",
"mapping.sourcePreview.emptyHintCsv":"Fai clic su «Estrai schema» per scaricare un campione e scoprire i campi.",
"imports.description":"Import CSV salvati per quest'area di lavoro — prodotti, categorie e attributi.",
"imports.importProducts":"Importa prodotti",
"imports.emptyTitle":"Nessun upload ancora",
"imports.emptyMessage":"Gli import CSV di prodotti, categorie e attributi compariranno qui dopo il caricamento.",
"imports.goProducts":"Vai ai prodotti",
"imports.categories":"Categorie",
"imports.recent":"Caricamenti recenti",
"imports.fileCount":"{count} file",
"imports.fileCountPlural":"{count} file",
"imports.col.fileName":"Nome file",
"imports.col.kind":"Tipo",
"imports.col.uploaded":"Caricato",
"imports.col.size":"Dimensione",
"imports.actions":"Azioni caricamento",
"imports.loadFailed":"Impossibile caricare i caricamenti",
"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":"Eliminare “{name}”? Rimuove il record di upload (e il blob locale se presente).",
"imports.deleted":"Upload eliminato.",
"imports.deleteFailed":"Impossibile eliminare il caricamento",
"reviews.needsReconnect":"L’import recensioni non può avviarsi finché le credenziali non sono riconnesse dopo la migrazione. Nella scheda Connessione: Salva, poi Testa connessione.",
"reviews.queueImport":"Metti in coda import recensioni (negozio → Descrybe)",
"reviews.queueing":"In coda...",
"reviews.saveTestFirst":"Salva le credenziali e testa la connessione prima di sincronizzare",
"reviews.refreshList":"Aggiorna elenco",
"reviews.loading":"Caricamento recensioni…",
"reviews.emptyTitle":"Nessuna recensione ancora",
"reviews.emptyMessage":"Accoda una sincronizzazione recensioni dopo aver collegato lo store. Questa scheda resta utilizzabile con elenco vuoto.",
"reviews.col.product":"Prodotto",
"reviews.col.reviewer":"Recensore",
"reviews.col.rating":"Valutazione",
"reviews.col.review":"Rivedi",
"reviews.queuedSuccess":"Sincronizzazione recensioni in coda. Partirà a breve.",
"reviews.queueFailed":"Impossibile accodare la sincronizzazione recensioni",
"campaigns.title":"Campagne",
"campaigns.description":"Crea campagne email stagionali dal catalogo: scegli la stagione, seleziona i prodotti, imposta il pubblico e genera.",
"campaigns.new":"Nuova campagna",
"campaigns.loading":"Caricamento campagne…",
"campaigns.loadFailed":"Caricamento non riuscito campagne",
"campaigns.deleteConfirm":"Eliminare la campagna “{name}”? L’azione non può essere annullata.",
"campaigns.deleted":"Campagna eliminata",
"campaigns.deleteFailed":"Eliminazione campagna non riuscita",
"campaigns.partialUnavailable":"Le campagne non sono pienamente raggiungibili al momento. Genera e invia potrebbero non riuscire finché il servizio non torna.",
"campaigns.searchPlaceholder":"Cerca campagne…",
"campaigns.unavailableTitle":"Campagne non disponibili",
"campaigns.unavailableMessage":"Il servizio campagne non è raggiungibile. Puoi aprire la procedura guidata, ma genera e invia aspetteranno il ritorno del servizio.",
"campaigns.openWizard":"Apri procedura guidata di creazione",
"campaigns.backDashboard":"Torna alla dashboard",
"campaigns.browseProducts":"Sfoglia prodotti",
"campaigns.emptyTitle":"Nessun campagne ancora",
"campaigns.noMatches":"Nessuna corrispondenza",
"campaigns.emptyMessage":"Crea una campagna Black Friday, Natale o personalizzata in pochi passaggi — i modelli stagionali sono pronti per iniziare.",
"campaigns.noMatchesMessage":"Prova un nome, stagione o stato diverso.",
"campaigns.create":"Crea campagna",
"campaigns.col.season":"Stagione",
"campaigns.col.updated":"Aggiornato",
"campaigns.scheduled":"Programmato {date}",
"campaigns.newTitle":"Nuova campagna",
"campaigns.newDesc":"Scegli una stagione, seleziona prodotti e pubblico, scrivi il prompt, poi genera, testa e programma.",
"campaigns.editTitle":"Modifica campagna",
"campaigns.editDesc":"Aggiorna stagione, prodotti e pubblico — poi rigenera, invia un test o programma.",
"campaignWizard.apiMissing":"L'API campagne è temporaneamente non disponibile. Puoi esplorare la procedura; salva / genera / invia richiedono /api/campaigns raggiungibile.",
"campaignWizard.upgradeTitle":"Le campagne IA sono una funzione a pagamento",
"campaignWizard.upgradeMessage":"I piani Free possono preparare stagioni e audience, ma Genera IA richiede Starter o superiore. Aggiorna per sbloccare bozze e-mail IA.",
"campaignWizard.comparePlans":"Confronta i piani",
"campaignWizard.step.season":"Stagione",
"campaignWizard.step.catalog":"Prodotti",
"campaignWizard.step.audience":"Pubblico",
"campaignWizard.step.prompt":"Prompt",
"campaignWizard.step.preview":"Anteprima",
"campaignWizard.step.send":"Invia",
"campaignWizard.pickSeason":"Scegli una stagione",
"campaignWizard.pickSeasonHelp":"Parti da un modello — puoi modificare tutto dopo.",
"campaignWizard.advancedHelp":"La generazione IA usa il brand kit (se impostato) e i prodotti selezionati. L'anteprima solo modello salta l'IA e funge da stub di layout.",
"campaignWizard.planFree":"Gratuito",
"campaignWizard.planPaid":"A pagamento",
"campaignWizard.planLine":"Piano:",
"campaignWizard.aiLocked":"— Genera IA è bloccato.",
"settings.creditsOverviewHelp":"Saldo crediti IA dell'azienda attiva. L'utilizzo dettagliato è in Fatturazione.",
"settings.billingLabel":"Fatturazione",
"settings.remainingLabel":"Rimanenti",
"settings.creditsUnavailable":"Il saldo crediti non è ancora disponibile per quest'area di lavoro.",
"settings.openBilling":"Apri utilizzo e fatturazione",
"settings.companyNameHelp":"Questo nome compare negli inviti e nelle impostazioni dell'organizzazione",
"settings.contentSettingsHelp":"Configura lingua e corrispondenza prodotti per i contenuti generati",
"settings.mergeProductsHelp":"Se abilitato, gli import CSV uniscono le righe con lo stesso GTIN in un prodotto. Disattiva per mantenere ogni riga indipendente.",
"settings.emailIntegrationHelp":"Configura Resend o SMTP per inviti, campagne e mail transazionali.",
"settings.configureEmail":"Configura e-mail",
"settings.aiIntegrationsHelp":"Crediti piattaforma o la tua chiave, più prompt modificabili per titoli, descrizioni, SEO e campagne. Chiavi cifrate a riposo.",
"settings.mergeOn":"I prodotti con lo stesso GTIN saranno uniti tra i feed.",
"settings.mergeOff":"I prodotti con lo stesso GTIN restano separati.",
"settings.mergeUpdateFailed":"Impossibile aggiornare l'impostazione di unione",
"settings.inAppToastsHelp":"Solo in questo browser. Gli errori sono attivi di default; i completamenti sono silenziati per ridurre il rumore. Feedback dei form e Annulla non vengono mai silenziati.",
"settings.emailAlertsHelp":"Le preferenze di avviso e-mail arrivano presto. Gli avvisi di errore saranno on di default (come in-app); le email di completamento restano off salvo opt-in.",
"settings.emailAlertsBody":"Per ora configura la mail transazionale in Azienda → Integrazione e-mail. Gli avvisi in-app sopra restano validi.",
"settings.apiKeysLegacyNotice":"Le chiavi API legacy non sono state migrate. Creane una nuova per ripristinare l’accesso — il segreto è mostrato una sola volta.",
"settings.apiKeysAdminOnly":"Solo gli amministratori possono creare o revocare chiavi API. Puoi vedere i prefissi esistenti.",
"settings.apiKeysCopyUnavailableNotice":"Copia non disponibile per chiavi esistenti — è salvato solo il prefisso. Crea una nuova chiave per copiare il segreto una volta, poi revoca la vecchia se serve.",
"settings.apiKeysForbidden":"Non hai l’autorizzazione a vedere le chiavi API. Chiedi aiuto a un amministratore.",
"settings.noApiKeys":"Nessuna chiave API ancora",
"settings.noApiKeysHelpAdmin":"Le chiavi API legacy non sono state migrate. Creane una per autenticare le richieste Descrybe (X-API-Key). Il segreto completo è mostrato una sola volta.",
"settings.noApiKeysHelpMember":"Nessuna chiave API per questa azienda. Le chiavi legacy non sono state migrate — chiedi a un amministratore di crearne una.",
"settings.unnamedKey":"Chiave senza nome",
"settings.neverUsed":"Mai usato",
"settings.apiKeyActions":"Azioni chiave API",
"settings.copyUnavailable":"Copia non disponibile",
"settings.copyUnavailableTitle":"Il segreto completo è mostrato una sola volta alla creazione della chiave",
"settings.revoke":"Revoca",
"settings.apiKeyNameRequired":"Inserisci un nome per questa chiave API.",
"settings.apiKeyCreatedOnce":"Chiave API creata. Copiala ora — non verrà più mostrata.",
"settings.apiKeyCreated":"Chiave API creata.",
"settings.apiKeyCreateFailed":"Impossibile creare la chiave API",
"settings.apiKeyRevokeConfirm":"Revocare questa chiave API? Le richieste che la usano smetteranno di funzionare.",
"settings.apiKeyRevoked":"Chiave API revocata.",
"settings.apiKeyRevokeFailed":"Impossibile revocare la chiave API",
"settings.apiKeyCopied":"Chiave API copiata.",
"settings.createApiKeyOnceHelp":"Copia questa chiave ora — non verrà più mostrata. Usala come Authorization: Bearer o X-API-Key su /api/v1.",
"settings.createApiKeyNameHelp":"Dai un nome alla chiave per distinguerla dopo. Dopo la creazione, inviala come Authorization: Bearer (consigliato) o X-API-Key.",
"settings.keyNamePlaceholder":"es. Production",
"settings.newApiKeyAria":"Nuova chiave API mostrata una volta",
"settings.copyApiKeyAria":"Copia chiave API",
"settings.alert.sync_fail.title":"Errori di sync",
"settings.alert.sync_fail.description":"Quando una sincronizzazione feed scade o l’API restituisce un errore.",
"settings.alert.ai_done.description":"Quando un job in background termina con successo. I toast di avvio restano sempre on così Annulla resta disponibile.",
"settings.alert.export_fail.title":"Errori di esportazione",
"settings.alert.export_fail.description":"Quando un’esportazione di prodotto o feed di esportazione fallisce.",
"flash.admin.featuresAllOn":"Tutte le funzioni abilitate per questo piano.",
"flash.admin.featuresAllOff":"Tutte le funzioni disabilitate per questo piano.",
"flash.admin.profileApplied":"Profilo {label} applicato a {name}.",
"flash.admin.overridesCleared":"Override cancellati — uso dei valori predefiniti del nome piano.",
"empty.plans.none":"Nessun piano trovato.",
"empty.plans.noMatch":"Nessun piano corrisponde a questo filtro.",
"empty.plans.selectPackage":"Seleziona un pacchetto per modificare le funzioni.",
"empty.products.processingTitle":"Nessun prodotto in elaborazione",
"empty.products.processingMessageCan":"L’avanzamento live è in Elaborazione. Apri un job in corso per vedere lo stato dei passaggi; questa scheda elencherà i prodotti in corso quando il filtro per elementi sarà disponibile.",
"empty.products.processingMessageCannot":"I prodotti attualmente in un job compaiono qui una volta avviata l’elaborazione dal catalogo.",
"empty.products.reviewTitle":"Nessun prodotto da revisionare",
"empty.products.reviewMessage":"Dopo un job, i prodotti arricchiti arrivano qui. Apri una riga per confrontare originale vs arricchito, poi Accetta, modifica o Rifiuta.",
"empty.products.errorTitle":"Nessun prodotto con errori",
"empty.products.errorMessage":"Quando un job fallisce per un prodotto, compare qui così puoi riprovare.",
"empty.products.filterTitleUnprocessed":"Nessuna corrispondenza non elaborata",
"empty.products.filterTitle":"Nessun prodotto corrisponde",
"empty.products.filterMessage":"Prova un’altra ricerca, categoria o feed — oppure cancella i filtri per vedere tutto.",
"empty.products.unprocessedTitle":"Nessun prodotto non elaborato ancora",
"empty.products.unprocessedMessage":"Collega un feed fornitore o carica un CSV per importare prodotti nel catalogo.",
"empty.products.noneTitle":"Nessun prodotto ancora",
"empty.products.noneMessageStores":"Importa da un feed o store, poi avvia un job per costruire il catalogo.",
"empty.products.noneMessage":"Importa da un feed o carica un CSV, poi avvia un job.",
"empty.products.viewJobs":"Vedi lavori",
"empty.products.startJob":"Avvia un lavoro",
"empty.products.clearFilters":"Cancella filtri",
"empty.products.viewProcessed":"Vedi elaborati",
"empty.products.retryCatalog":"Riprova dal catalogo",
"empty.feeds.noMatchMessage":"Prova un altro termine di ricerca, oppure cancella la ricerca per vedere tutti i feed.",
"empty.export.loadFailedTitle":"Impossibile caricare i feed di esportazione",
"empty.export.loadFailedMessage":"Qualcosa è andato storto nel caricamento delle esportazioni. Riprova o controlla l'errore sopra per i dettagli.",
"empty.export.noneTitle":"Nessun feed di esportazione ancora",
"empty.export.noneMessage":"Crea un feed Google Shopping, Meta o CSV/XML personalizzato per scegliere quali prodotti e campi esportare. Genera un URL pubblico per Merchant Center o qualsiasi partner — oppure esporta un sottoinsieme da Prodotti.",
"empty.export.noMatchMessage":"Prova un altro termine di ricerca.",
"empty.files.noneTitle":"Nessun upload ancora",
"empty.files.noneMessage":"Gli import CSV di prodotti, categorie e attributi compaiono qui dopo l’upload. Dopo una migrazione di piattaforma, i contenuti dei file (blob) non sono stati copiati — ricaricali se ti servono.",
"empty.files.uploadCta":"Carica CSV",
"empty.export.fromProductsCta":"Esporta da Prodotti",
"empty.dashboard.noJobsMessage":"I job compaiono qui dopo l’avvio dell’elaborazione da Prodotti. Arricchisci titoli e descrizioni prima di esportare.",
"empty.stores.noneMessage":"Collega WooCommerce o Shopify per sincronizzare catalogo e ordini. Preferisci un file fornitore? Usa URL feed o caricamento CSV.",
"empty.stores.noneMessageMember":"Solo gli admin azienda possono collegare WooCommerce o Shopify. Chiedi a un admin, oppure usa Feed URL/CSV se il tuo ruolo lo consente.",
"empty.woo.openConnection":"Apri impostazioni di connessione",
"empty.shopify.openConnection":"Apri impostazioni di connessione",
"empty.processing.noneTitle":"Nessun job ancora",
"empty.processing.noneMessage":"Avvia un job da Prodotti quando sei pronto. Progresso e cronologia compariranno qui.",
"empty.campaigns.unavailableTitle":"Campagne non disponibili",
"empty.campaigns.unavailableMessage":"Il servizio campagne non è raggiungibile. Puoi aprire la procedura guidata, ma genera e invia aspetteranno il ritorno del servizio.",
"empty.vector.noMatchMessage":"Inserisci una descrizione prodotto e cerca per vedere le corrispondenze vettoriali.",
"empty.structured.unavailableTitle":"Descrizioni strutturate non disponibili",
"empty.structured.unavailableMessage":"Questa API non è ancora su questo backend. Non puoi gestire i campi Export ID finché /api/structured-descriptions non è collegata.",
"empty.structured.noneTitle":"Nessun campo di descrizione strutturata ancora",
"empty.structured.noneMessage":"Aggiungi un campo qui, oppure crea Export ID in una formula descrizione categoria — compariranno per i feed di esportazione.",
"empty.support.unavailableTitle":"Support non disponibile",
"empty.support.noneTitle":"Nessun ticket ancora",
"empty.support.unavailableMessage":"L’API di supporto non è raggiungibile. Riprova a breve o apri un nuovo ticket quando il servizio è su.",
"empty.support.filterMessage":"Nessun ticket corrisponde a questo stato. Prova un altro filtro o crea un nuovo ticket.",
"empty.support.noneMessage":"Descrivi il problema e il team risponderà in questo thread. Riceverai anche una notifica in-app quando risponde lo staff.",
"empty.support.createTicket":"Crea ticket",
"empty.support.clearFilter":"Cancella filtro",
"empty.support.ticketNotFoundTitle":"Ticket non trovato",
"empty.support.ticketNotFoundMessage":"Questo ticket potrebbe essere stato rimosso oppure non hai accesso.",
"empty.support.noMessagesMessage":"Questo thread non ha ancora messaggi.",
"empty.settings.noApiKeysTitle":"Nessuna chiave API ancora",
"empty.shopify.noOrdersTitle":"Nessun ordine ancora",
"empty.shopify.noOrdersMessage":"Gli ordini compaiono dopo aver collegato Shopify e avviato un import ordini. Le liste vuote sono normali fino al primo sync.",
"empty.woo.noOrdersTitle":"Nessun ordine ancora",
"empty.woo.noOrdersMessage":"Gli ordini compaiono dopo aver collegato WooCommerce e avviato una sync ordini. Le liste vuote sono normali fino al primo sync.",
"empty.woo.noReviewsMessage":"Le recensioni compaiono dopo aver messo in coda un import da un negozio collegato. Questa scheda resta utilizzabile con lista vuota.",
"empty.admin.noCompaniesMatch":"Nessuna azienda corrisponde a questo filtro.",
"empty.admin.notPlatformTitle":"Non sei admin piattaforma",
"empty.admin.notPlatformMessage":"Il tuo account è autenticato ma non è contrassegnato come admin piattaforma. Chiedi a un admin esistente di concedere l'accesso, poi esci e accedi di nuovo.",
"empty.admin.noJobsFilter":"Nessun job per questo filtro.",
"products.empty.processing.messageJobs":"Non c'è nulla in esecuzione. Avvia un job da Non elaborati, oppure apri Elaborazione per seguire i progressi.",
"products.empty.processing.messageBasic":"I prodotti compaiono qui mentre un job è in corso.",
"products.empty.needsReview.title":"Nessun prodotto da revisionare",
"products.empty.needsReview.message":"Dopo un job, i prodotti arricchiti arrivano qui. Apri una riga per confrontare originale vs arricchito, poi Accetta, modifica o Rifiuta.",
"products.empty.error.title":"Nessun prodotto con errori",
"products.empty.error.message":"Quando un job fallisce per un prodotto, compare qui così puoi riprovare.",
"products.empty.noUnprocessedMatches":"Nessuna corrispondenza non elaborata",
"products.empty.noMatch":"Nessun prodotto corrisponde",
"products.empty.filtersHint":"Prova un’altra ricerca, categoria o feed — oppure cancella i filtri per vedere tutto.",
"products.empty.noUnprocessed.title":"Nessun prodotto non elaborato ancora",
"products.empty.noUnprocessed.message":"Collega un feed fornitore o carica un CSV per importare prodotti nel catalogo.",
"products.empty.none.title":"Nessun prodotto ancora",
"products.empty.none.messageStores":"Completa prima Feeds → Map → Sync, poi Process. Importa da un feed o da un negozio.",
"products.empty.none.messageBasic":"Completa prima Feeds → Map → Sync, poi Process. Collega un feed o carica un CSV.",
"products.enrichment.rejectBody":"Rifiutare l'arricchimento e riportare questo prodotto a non elaborato? Potrai rieseguire l'elaborazione in seguito.",
"categories.noMatch":"Nessuna categoria corrisponde a “{query}”. Cancella la ricerca o prova un altro termine.",
"categories.emptyHint":"Aggiungi una categoria o importa un CSV per costruire l'albero.",
"categories.promptCountOne":"{count} categoria ha un prompt di generazione IA. Apri il menu ⋮ → Modifica prompt IA, oppure modifica una categoria e scegli Modifica prompt IA.",
"categories.promptCountMany":"{count} categorie hanno un prompt di generazione IA. Apri il menu ⋮ → Modifica prompt IA, oppure modifica una categoria e scegli Modifica prompt IA.",
"categories.actions":"Azioni categoria",
"categories.chooseCsv":"Scegli CSV",
"categories.createSingleOrImport":"Crea una singola categoria o importane molte da CSV.",
"categories.createSingle":"Crea una singola categoria.",
"fields.deleteFieldConfirm":"Questa azione non può essere annullata. Eliminerà definitivamente il campo e lo rimuoverà da qualsiasi modello che lo usa.",
"fields.deleteGroupConfirm":"Questa azione non può essere annullata. Eliminerà definitivamente il gruppo. I campi di questo gruppo dovranno essere riassegnati.",
"attributes.type.multiselect.hint":"Scegli una o più opzioni da un elenco",
"standardFields.title":"Campi standard",
"standardFields.description":"Definisci campi prodotto standard e organizzali in gruppi",
"standardFields.apiUnavailable":"L'API dei campi standard non è disponibile. Le modifiche non possono essere salvate.",
"standardFields.apiUnreachable":"L'API dei campi standard non è raggiungibile ora. Crea/modifica resta disabilitato finché /api/standard-fields e /api/field-groups non rispondono.",
"standardFields.addNewGroup":"Aggiungi nuovo gruppo",
"standardFields.editGroupDesc":"Aggiorna i dettagli di questo gruppo di campi",
"standardFields.addGroupDesc":"Crea un nuovo gruppo per organizzare i campi standard",
"standardFields.group.name":"Nome",
"standardFields.group.namePlaceholder":"Informazioni di base",
"standardFields.group.nameHint":"Nome visualizzato di questo gruppo",
"standardFields.group.description":"Descrizione",
"standardFields.group.descriptionPlaceholder":"Inserisci una descrizione per questo gruppo",
"standardFields.group.descriptionHint":"Descrizione facoltativa che spiega lo scopo di questo gruppo",
"standardFields.group.order":"Ordine di visualizzazione",
"standardFields.group.orderHint":"I numeri più bassi appaiono per primi",
"standardFields.updateGroup":"Aggiorna gruppo",
"standardFields.createGroup":"Crea gruppo",
"standardFields.deleteFieldDesc":"Questa azione non può essere annullata. Eliminerà definitivamente il campo e lo rimuoverà da qualsiasi modello che lo usa.",
"standardFields.deleteGroupDesc":"Questa azione non può essere annullata. Eliminerà definitivamente il gruppo. I campi di questo gruppo dovranno essere riassegnati.",
"export.dialog.description":"Esporta {count} prodotto/i selezionato/i. Scegli il feed di esportazione che definisce formato e campi — come scegliere cosa sincronizzare, ma per un download o un partner.",
"export.dialog.loadFailed":"Caricamento opzioni feed di esportazione non riuscito. Riprova.",
"export.dialog.selectPlaceholder":"Seleziona un feed di esportazione…",
"export.dialog.help":"La selezione sceglie i prodotti; il feed sceglie formato del canale e campi mappati.",
"export.dialog.emptyTitle":"Nessun feed di esportazione ancora",
"export.dialog.emptyMessage":"Crea un feed di esportazione per scegliere formato e campi, poi torna a esportare questa selezione.",
"export.dialog.createFeedCta":"Crea feed di esportazione",
"billing.loadFailed":"Caricamento fatturazione non riuscito",
"billing.usageLoadFailed":"Caricamento utilizzo non riuscito",
"billing.checkoutComplete":"Checkout completato. Piano e crediti si aggiorneranno a breve.",
"billing.checkoutCompletePlan":"Piano aggiornato. I tuoi crediti {plan} sono pronti.",
"billing.checkoutCanceled":"Checkout annullato. Nessuna modifica è stata apportata.",
"billing.portalReturned":"Tornato dal portale di fatturazione. Gestisci il piano qui o in Plans.",
"billing.comparePlans":"Confronta piani",
"billing.managePayment":"Gestisci pagamento",
"billing.addCredits":"Aggiungi crediti",
"billing.addingCredits":"Aggiunta…",
"billing.addCreditsTitle":"Aggiungi crediti",
"billing.addCreditsDescription":"Solo admin della piattaforma. I crediti sono subito disponibili per titoli IA, descrizioni e altri passaggi a pagamento.",
"billing.creditAmount":"Importo credito",
"billing.invalidCreditAmount":"Inserisci un importo crediti valido.",
"billing.companyNotFound":"Azienda non trovata.",
"billing.creditsAdded":"Sono stati aggiunti {amount} crediti.",
"billing.addCreditsFailed":"Aggiunta crediti non riuscita. Potrebbe essere richiesto l'accesso admin della piattaforma.",
"billing.planApplied":"Piano applicato. I tuoi crediti sono pronti.",
"billing.checkoutFailed":"Checkout non riuscito",
"billing.portalFailed":"Impossibile aprire il portale di fatturazione",
"billing.noPlanAssigned":"Nessun piano assegnato",
"billing.unlimited":"Illimitato",
"billing.payAsYouGo":"Pay as you go",
"billing.noMonthlyAiCredits":"Nessun credito IA mensile",
"billing.header.noPlan":"Nessun piano assegnato. Scegli un piano o chiedi a un amministratore.",
"billing.header.free":"Mappa i feed e pulisci i dati prodotto senza crediti IA.",
"billing.header.enterprise":"Prodotti e capacità IA illimitati.",
"billing.header.payg":"Pay as you go — i crediti provengono dal wallet aziendale.",
"billing.header.remaining":"{remaining} crediti IA rimanenti in questo periodo.",
"billing.na":"N/D",
"billing.range.7d":"ultimi 7 giorni",
"billing.range.30d":"ultimi 30 giorni",
"billing.range.cycle":"ciclo di fatturazione attuale",
"billing.range.all":"di sempre",
"billing.rangeOpt.7d":"Ultimi 7 giorni",
"billing.rangeOpt.30d":"Ultimi 30 giorni",
"billing.rangeOpt.cycle":"Ciclo attuale",
"billing.rangeOpt.all":"Di sempre",
"billing.freeBannerTitle":"Sei sul piano Free",
"billing.freeBannerMessage":"Esegui l'upgrade per titoli e descrizioni IA e limiti prodotto più alti.",
"billing.outOfCreditsTitle":"Hai esaurito i crediti IA",
"billing.recovery.pastDueAdmin":"Il pagamento dell'abbonamento non è riuscito. Aggiorna il pagamento nel Customer Portal — l'accesso resta aperto durante questo periodo di grazia.",
"billing.recovery.pastDueMember":"La fatturazione richiede attenzione. Chiedi a un amministratore di aggiornare il pagamento nel Customer Portal. L'accesso resta aperto durante questo periodo di grazia.",
"billing.recovery.contactAdmin":"Contatta un amministratore",
"billing.recovery.goToBilling":"Vai alla fatturazione",
"billing.recovery.missingPlanTitle":"Nessun piano assegnato",
"billing.recovery.missingPlanMessage":"Questa azienda non ha un piano attivo (spesso dopo una migrazione saltata). Assegna un piano via Checkout o chiedi al supporto — non dare per scontata la capacità Unlimited.",
"billing.recovery.choosePlan":"Scegli un piano",
"billing.upgrade":"Aggiorna",
"billing.askCompanyAdmin":"Chiedi a un amministratore dell'azienda",
"billing.memberHint":"Solo gli amministratori possono cambiare piano o aprire Checkout.",
"exports.loadErrorTitle":"Impossibile caricare i feed di esportazione",
"exports.loadErrorBody":"Qualcosa è andato storto nel caricamento delle esportazioni. Riprova o controlla l'errore sopra per i dettagli.",
"exports.tryAgain":"Riprova",
"exports.emptyTitle":"Nessun feed di esportazione ancora",
"exports.emptyBody":"Crea un feed Google Shopping, Meta o CSV/XML personalizzato per scegliere quali prodotti e campi esportare. Genera un URL pubblico per Merchant Center o qualsiasi partner — oppure esporta un sottoinsieme da Prodotti.",
"exports.noMatchBody":"Prova un altro termine di ricerca.",
"exports.col.name":"Nome",
"exports.col.format":"Formato",
"exports.col.feedUrl":"URL del feed",
"exports.col.lastGenerated":"Ultima generazione",
"exports.col.status":"Stato",
"exports.col.actions":"Azioni",
"exports.working":"In corso.",
"exports.generatingShort":"Generazione…",
"exports.copyUrl":"Copia URL",
"exports.openMenu":"Apri menu",
"exports.preview":"Anteprima",
"exports.download":"Scarica",
"exports.refreshFeed":"Aggiorna feed",
"exports.editAction":"Modifica",
"exports.delete":"Elimina",
"exports.rotateToken":"Ruota token URL",
"exports.rotateFailed":"Rotazione del token URL non riuscita",
"exports.deleting":"Eliminazione…",
"exports.channelPreset":"Preset canale",
"exports.name":"Nome",
"exports.format":"Formato",
"exports.sourceFeed":"Feed di origine (facoltativo)",
"exports.sourceFeedHelp":"Limita questo feed ai prodotti di un feed di input, oppure lascia Tutti i prodotti — così scegli cosa include l'URL pubblico.",
"exports.allProducts":"Tutti i prodotti",
"exports.rootElement":"Elemento radice",
"exports.itemElement":"Elemento item",
"exports.productStatuses":"Stati prodotto (separati da virgola)",
"exports.productStatusesHelp":"Includi solo prodotti con questi stati (es. active). Lascia vuoto per tutti gli stati.",
"exports.fieldHelp":"Le esportazioni leggono i prodotti elaborati (con mapped_data grezzo come fallback). Usa eprel_* / energy_* per i campi EPREL, spec.* per una specifica, o specifications.* per espandere tutte le specs come nodi XML.",
"exports.saving":"Salvataggio…",
"exports.saveChanges":"Salva modifiche",
"exports.createFeed":"Crea feed",
"exports.updated":"Feed di esportazione aggiornato.",
"exports.created":"Feed di esportazione creato.",
"exports.saveFailed":"Salvataggio non riuscito",
"exports.urlCopied":"URL pubblico del feed {format} copiato. Incollalo in qualsiasi sistema che recupera feed prodotto.",
"exports.copyFailed":"Copia URL negli appunti non riuscita",
"exports.preset.google_shopping_csv.description":"Feed prodotti Merchant Center con le colonne Google standard (id, title, price, gtin, …).",
"exports.preset.google_shopping_csv.hint":"Dopo aver aggiornato il feed, copia l'URL CSV pubblico in Google Merchant Center → Products → Feeds → Add feed → Scheduled fetch.",
"exports.preset.google_shopping_xml.description":"Stesse colonne Google degli elementi XML (g:id, g:title, …) per i feed XML di Merchant Center.",
"exports.preset.google_shopping_xml.hint":"Incolla l'URL XML pubblico in Merchant Center come scheduled fetch. Se necessario, mappa i campi negozio mancanti (link, price) in Field mappings.",
"exports.preset.custom_xml.description":"Crea una forma XML personalizzata con i tuoi nomi root/item e mappature campi.",
"exports.preset.custom_xml.hint":"Imposta i nomi degli elementi root e item, poi mappa ogni chiave di output a una fonte prodotto.",
"exports.preset.custom_xml.defaultName":"Esportazione XML personalizzata",
"processing.title":"Elaborazione",
"processing.description":"Progresso live della pipeline per i processi di elaborazione prodotti. Aggiornamento automatico mentre questa scheda è visibile. I processi completati rimandano a Needs Review per accettare / modificare / rifiutare.",
"processing.refresh":"Aggiorna",
"processing.loadFailed":"Caricamento processi non riuscito",
"processing.tooManyRequests":"Troppe richieste — attendi un momento e riprova.",
"processing.serverError":"{fallback} (errore del server {status}). Riprova a breve.",
"processing.actions.freeNoAiBody":"Normalize, specs, fill ed EPREL vengono comunque eseguiti. Titoli/descrizioni IA richiedono un piano a pagamento o crediti.",
"processing.actions.comparePlans":"Confronta i piani",
"processing.actions.selectAll":"Seleziona tutto",
"processing.actions.selectAllAria":"Seleziona tutte le modalità di elaborazione",
"processing.actions.confirmBody":"Elabora {count} prodotto/i in questa pagina per {credits} crediti. I crediti vengono consumati all'avvio del processo e non possono essere annullati da questa azione.",
"processing.receipt.cancelledMany":"Job di elaborazione annullati",
"processing.receipt.cancelledDesc":"Il processo appena avviato è stato annullato.",
"processing.receipt.cancelFailed":"Impossibile annullare il processo",
"unsubscribe.title":"Annulla iscrizione",
"unsubscribe.me":"Annulla la mia iscrizione",
"unsubscribe.invalidLink":"Link non valido",
"unsubscribe.failedShort":"Annullamento iscrizione non riuscito",
"unsubscribe.already":"Sei già disiscritto.",
"unsubscribe.confirmPrompt":"Conferma sotto per annullare l'iscrizione alle email di marketing.",
"unsubscribe.done":"Iscrizione annullata.",
"stores.title":"Negozi e origini",
"stores.description":"Collega qualsiasi negozio o fornitore in un unico posto — Woo, Shopify, URL feed o CSV. Negozi live: prodotti Descrybe → negozio; ordini/recensioni negozio → Descrybe. Esporta quando il catalogo è pronto.",
"stores.allInputFeeds":"Tutti i feed di input",
"stores.exportFeeds":"Feed di esportazione",
"stores.migrationNote":"Dopo una migrazione della piattaforma Descrybe, le credenziali WooCommerce e Shopify potrebbero dover essere reinserite: è una riconnessione, non una sync rotta.",
"stores.docsPrefix":"Docs:",
"stores.docsApiOverview":"Panoramica API",
"stores.docsSuffix":"per l’accesso pubblico ai prodotti; usa WooCommerce o Shopify qui sotto per la sync live del negozio.",
"stores.connectorsHeading":"Connettori negozio e catalogo",
"stores.statusAria":"Status: {label}",
"stores.ctaAria":"{cta}: {title}",
"stores.startTitle":"Da dove inizio?",
"stores.startBody":"Negozio Woo → WooCommerce. Shopify o un’altra piattaforma → URL feed o caricamento CSV. Pronto per Merchant Center o partner → Feed di export (preset Google Shopping o campi personalizzati). Dopo una migrazione, ricollega Woo/Shopify prima di aspettarti che la sync funzioni.",
"stores.startBodyMember":"Chiedi a un admin di collegare WooCommerce o Shopify. Puoi comunque aprire i negozi collegati per sync e navigazione, e usare Feed URL, CSV o export feed in base al piano.",
"stores.wizard.adminOnly":"Solo gli admin azienda possono eseguire la configurazione guidata (salva credenziali e primo sync). Puoi comunque aprire i negozi collegati.",
"stores.wizard.pickChannel":"Scegli un connettore",
"stores.wizard.pickChannelBody":"Scegli WooCommerce o Shopify. Completa collega → testa → prima sync sulla pagina del connettore, poi torna qui.",
"stores.shopify.description":"Invia prodotti Descrybe → Shopify. Importa ordini Shopify → Descrybe. Le recensioni non sono disponibili tramite Admin API di Shopify.",
"stores.feedUrl.description":"Pull any supplier or negozio catalog from a public CSV or XML URL on a schedule. Map fields, then sync.",
"stores.feedUrl.cta":"Aggiungi URL feed",
"stores.csv.title":"Caricamento CSV",
"stores.csv.description":"Carica un CSV prodotti come feed di input. Ideale per file fornitore una tantum o export dall’admin Shopify.",
"stores.csv.cta":"Carica CSV",
"stores.export.title":"Export / REST",
"stores.export.description":"Pubblica Google Shopping o CSV/XML personalizzati con URL pubblica. Oppure recupera prodotti con chiave API (/api/v1).",
"stores.export.cta":"Apri esportazioni",
"stores.apiKeys.title":"Chiavi API",
"stores.apiKeys.description":"Le chiavi API legacy non sono state migrate. Crea una nuova chiave in Impostazioni per ripristinare l’accesso a /api/v1 — il secret viene mostrato una sola volta.",
"stores.apiKeys.descriptionMember":"Chiavi API aziendali per /api/v1. Le chiavi legacy non sono state migrate — solo gli admin possono creare o revocare; i prefissi sono in Impostazioni.",
"store.connectionFailed":"Connessione non riuscita",
"store.connectionFailedDot":"Connessione non riuscita.",
"store.connectionTestFailed":"Test di connessione non riuscito",
"store.testFailed":"Test non riuscito",
"store.setupSteps":"Passaggi di setup",
"store.col.order":"Ordine",
"store.col.customer":"Cliente",
"store.col.status":"Stato",
"store.col.total":"Total",
"store.col.date":"Data",
"store.loadingOrders":"Caricamento ordini…",
"store.loadingOrdersDot":"Caricamento ordini.",
"flash.store.saveFailed":"Impossibile salvare le impostazioni",
"flash.store.queueSyncFailed":"Impossibile accodare la sincronizzazione",
"flash.store.queueOrdersFailed":"Impossibile accodare la sincronizzazione ordini",
"flash.store.connectedTo":"Connesso a {name}.",
"flash.shopify.loadFailed":"Caricamento config Shopify non riuscito",
"flash.shopify.productSyncQueued":"Sincronizzazione prodotti in coda. Il worker la eseguirà a breve.",
"flash.shopify.ordersSyncQueued":"Sincronizzazione ordini in coda. Il worker la eseguirà a breve.",
"flash.woo.loadFailed":"Caricamento config WooCommerce non riuscito",
"flash.woo.productSyncQueued":"Sincronizzazione prodotti in coda. Partirà a breve.",
"flash.woo.ordersSyncQueued":"Sincronizzazione ordini in coda. Partirà a breve.",
"flash.woo.reviewsSyncQueued":"Sincronizzazione recensioni in coda. Partirà a breve.",
"flash.woo.queueReviewsFailed":"Impossibile accodare la sincronizzazione recensioni",
"flash.woo.remoteMapsFailed":"Caricamento map remote non riuscito",
"flash.woo.syncSettingsFailed":"Impossibile salvare le impostazioni di sincronizzazione",
"flash.woo.categoryAutoMapFailed":"Auto-mappatura categorie non riuscita",
"flash.woo.attributeAutoMapFailed":"Auto-mappatura attributi non riuscita",
"shopify.title":"Integrazione Shopify",
"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 azienda admins can change Shopify connection impostazioni. Sincronizza and browse stay disponibile.",
"shopify.noCredentialsMember":"Nessuna credenziale Shopify ancora presente. Chiedi a un amministratore aziendale di collegare il negozio. Sync e consultazione ordini restano disponibili dopo salvataggio e test di connessione.",
"shopify.enterToken":"Inserisci le credenziali",
"shopify.noCredentials":"Nessuna credenziale Shopify. Inserisci il dominio *.myshopify.com e Client ID + secret del Dev Dashboard (o un token Admin API legacy), poi Salva e Testa connessione. Dopo una migrazione di piattaforma i vecchi secret non vengono trasferiti: riconnetti con un token nuovo.",
"shopify.allConnectors":"Tutti i connettori negozio",
"shopify.setupDesc":"New Shopify apps are created in the Dev Dashboard (not Develop apps in Admin). Paste Client ID + secret below — Descrybe exchanges them for Admin API tokens and refreshes before they expire.",
"shopify.setup.oauthNote":"Still manual: create/install the app in Shopify and paste Client ID + secret here. Descrybe does not host a one-click App Store install. Legacy permanent shpat_ tokens from older Admin custom apps still work.",
"shopify.setup.scopesTitle":"Scope Admin API richiesti",
"shopify.setup.scopesIntro":"Add these scopes on the app version in the Dev Dashboard before you release and install:",
"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":"Trovare prodotti esistenti tramite SKU prima dell’aggiornamento",
"shopify.setup.scope.read_orders":"read_orders",
"shopify.setup.scope.read_ordersWhy":"Importare ordini in Descrybe (in ingresso)",
"shopify.setup.step1":"Se hai collegato Shopify prima di una migrazione di piattaforma: crea una nuova app Dev Dashboard (o riconnetti con un token legacy nuovo) — i secret salvati non vengono trasferiti.",
"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":"Salva prima il dominio negozio e il token, poi esegui Verifica connessione. Un test riuscito conferma token e scope prima di mettere in coda la sync.",
"shopify.overwriteTitle":"Sovrascrivere i prodotti Shopify?",
"shopify.overwriteBodyCount":"Questo mette in coda un push prodotti in uscita. {count} prodotto/i Shopify già collegati possono essere aggiornati con il contenuto Descrybe.",
"shopify.overwriteBody":"Questo mette in coda un push prodotti in uscita. I prodotti Shopify corrispondenti possono essere aggiornati con il contenuto Descrybe.",
"shopify.credentialsTitle":"Credenziali del negozio",
"shopify.credentialsDesc.before":"Il dominio negozio deve essere il tuo",
"shopify.credentialsDesc.code":"*.myshopify.com",
"shopify.credentialsDesc.after":"domain. Prefer Dev Dashboard Client ID + secret; legacy Admin API tokens still work.",
"shopify.field.shopDomain":"Dominio negozio",
"shopify.field.accessToken":"Token di accesso Admin API",
"shopify.field.apiVersion":"Versione API",
"shopify.placeholder.tokenKeep":"******** (lascia vuoto per mantenere)",
"shopify.ordersDesc":"Shopify → Descrybe — importa ordini e righe in Descrybe (non scrive su Shopify).",
"shopify.ordersNeedsReconnect":"L’import ordini non può avviarsi finché le credenziali non sono riconnesse dopo la migrazione. Nella scheda Connessione: Salva, poi Testa connessione.",
"shopify.notes.productsBody":"— i prodotti Descrybe elaborati vengono creati o aggiornati in Shopify (match SKU via GraphQL se non c’è id prodotto Shopify in cache). Una re-sync può sovrascrivere i campi remoti corrispondenti.",
"shopify.notes.ordersBody":"— pulled for reporting and future audience workflows.",
"shopify.notes.reviewsLabel":"Recensioni",
"shopify.notes.reviewsBody":"-- not supportoed. Shopify has no first-party prodotto reviews Admin API (third-party review apps are out of scope here).",
"shopify.notes.encryption.before":"Token are encrypted at rest with",
"woo.title":"Integrazione WooCommerce",
"woo.description":"Create a WordPress REST API key, connect your store, then push products (Descrybe → WooCommerce) and pull orders/reviews (WooCommerce → Descrybe).",
"woo.allStores":"Tutti i negozi",
"woo.adminOnly":"Solo gli admin dell’azienda possono modificare connessione e mappatura WooCommerce. Sync e navigazione restano disponibili.",
"woo.enterCredentials":"Inserisci le credenziali",
"woo.noCredentials":"Nessuna credenziale WooCommerce. Inserisci l’URL del negozio, crea una chiave REST API Read/Write in WordPress, incolla Consumer Key e Secret, poi Salva e Testa connessione. Dopo una migrazione di piattaforma i vecchi secret non vengono trasferiti: riconnetti con una chiave nuova.",
"woo.noCredentialsMember":"Nessuna credenziale WooCommerce ancora presente. Chiedi a un amministratore aziendale di collegare il negozio. Sync, ordini e recensioni restano disponibili dopo salvataggio e test di connessione.",
"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":"Se hai collegato WooCommerce prima di una migrazione di piattaforma: crea una nuova chiave REST API — le credenziali salvate non sono utilizzabili.",
"woo.setup.step2.before":"Enter your store",
"woo.setup.step2.path":"HTTPS URL",
"woo.setup.step2.after":"in the form below (example: https://yourstore.com).",
"woo.setup.openKeysNeedUrl":"Salva prima un URL negozio valido per aprire i link admin.",
"woo.setup.docsLink":"Documentazione REST API WooCommerce",
"woo.overwriteTitle":"Sovrascrivere i prodotti WooCommerce?",
"woo.overwriteBodyCount":"Questo mette in coda un push prodotti in uscita. {count} prodotto/i WooCommerce già collegati possono essere aggiornati con il contenuto Descrybe.",
"woo.overwriteBody":"Questo mette in coda un push prodotti in uscita. I prodotti WooCommerce corrispondenti possono essere aggiornati con il contenuto Descrybe.",
"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 — importa ordini e righe in Descrybe (non scrive sul negozio).",
"woo.ordersNeedsReconnect":"L’import ordini non può avviarsi finché le credenziali non sono riconnesse dopo la migrazione. Nella scheda Connessione: Salva, poi Testa connessione.",
"woo.syncSettingsTitle":"Impostazioni sync",
"woo.syncSettingsDesc":"Configura come i prodotti vengono inviati Descrybe → WooCommerce",
"woo.matchStrategy":"Prodotto Matching Strategy",
"woo.matchStrategyHelp":"L’invio prodotti (Descrybe → WooCommerce) abbina prodotti remoti per SKU o EAN/GTIN. Metti in coda dalla scheda Connessione (manuale).",
"products.edit.coverageTitle":"Quanti tra Nome, Descrizione, Attributi e Categoria sono presenti (feed o elaborati).",
"products.edit.coverageReady":"{count}/4 pronti",
"products.edit.eprelPresentTitle":"L'id European Product Registry for Energy Labelling (EPREL) è presente su questo prodotto.",
"products.edit.noEprelBadge":"Nessun EPREL",
"products.edit.specsBadge":"Specifiche",
"products.edit.reviewBannerTitle":"Rivedi i campi arricchiti prima di accettare",
"products.edit.reviewBannerHelp":"Usa la scheda Revisione per confrontare originali e IA. Scorciatoie: A accetta · R rifiuta · Alt+1/2 campo · ⌘/Ctrl+Invio accetta tutto.",
"products.edit.noAttrsYet":"No attributo or specification data on this prodotto yet.",
"products.edit.fromFeed":"Dal feed",
"products.edit.feedAttrsHelp":"Valori analizzati dal feed (specifiche HTML, garanzia, dimensioni, EPREL). Le chiavi sono collegate ad attribute_key quando possibile.",
"products.edit.editableAttributesHelp":"Le modifiche vengono salvate nella mappa attributi del prodotto. Le righe feed e IA sotto restano come riferimento quando differiscono.",
"products.table.selectProduct":"Seleziona prodotto {name}",
"products.table.rename":"Rinomina {name}",
"products.table.productNameAria":"Nome prodotto per {name}",
"products.table.selectPage":"Seleziona {count} in questa pagina",
"products.table.deselectPage":"Deseleziona {count} in questa pagina",
"categories.assign":"Assegna",
"categories.titleFormulaSubtitle":"Configura come generare i titoli prodotto per {name}",
"categories.addText":"Aggiungi testo",
"categories.aboutTitleFormulas":"Informazioni sulle formule titolo",
"categories.aboutTitleFormulasHelp":"I titoli sono assemblati da sinistra a destra dagli elementi seguenti.",
"categories.variablesReplacedHelp":"Le variabili vengono sostituite con i dati prodotto quando disponibili. I valori mancanti vengono saltati.",
"categories.variableTypeHelp":"Campo dinamico dai dati prodotto (esempio: brand).",
"categories.textTypeHelp":"Testo statico che appare sempre come scritto.",
"categories.assignTitleCopyHelp":"Usa Assegna per copiare questa formula ad altre categorie che devono condividere lo stesso schema di titolo.",
"categories.titleFormulaInvalid":"Questa pagina della formula titolo richiede una categoria valida. Torna alle categorie e apri di nuovo Modifica formula titolo.",
"categories.preview.title":"Anteprima titolo",
"categories.preview.description":"Ecco come saranno strutturati i titoli prodotto",
"categories.aiInstructionsBody":"Scrivi un obiettivo chiaro per sezione (cosa coprire, tono, lunghezza). Prompt vaghi producono testi vaghi.",
"categories.exportIdsHeading":"ID di esportazione",
"categories.exportIdsBody":"Gli ID facoltativi mappano una sezione nei feed di esportazione (ad esempio short_description).",
"categories.assignDescCopyHelp":"Usa Assegna per copiare questo modello ad altre categorie che devono condividere la stessa struttura.",
"categories.descriptionFormulaInvalid":"Questa pagina della formula descrizione richiede una categoria valida. Torna alle categorie e apri di nuovo Modifica formula descrizione.",
"categories.sectionType.h1":"Titolo 1",
"categories.sectionType.h2":"Titolo 2",
"categories.sectionType.h3":"Titolo 3",
"categories.sectionType.h4":"Titolo 4",
"categories.sectionType.p":"Paragrafo",
"categories.sectionType.ul":"Elenco puntato",
"categories.aiGenerationPrompt":"Prompt di generazione IA",
"categories.aiPromptOverrides":"Sostituisce il prompt utente di miglioramento prodotto aziendale per {name}",
"categories.promptTemplate":"Modello di prompt",
"categories.promptTemplateHelp":"Usa segnaposto come {{name}} e {{description}}. Lascia vuoto per usare il valore predefinito aziendale in Integrazioni → IA.",
"categories.clear":"Cancella",
"categories.promptLabel":"Prompt",
"categories.charactersCount":"{count} caratteri",
"categories.activeOverride":"· override attivo per questa categoria",
"categories.usingCompanyDefault":"· uso del valore predefinito aziendale / integrato",
"categories.usingCompanyDefaultForLang":"· vuoto per questa lingua — si applica il default aziendale / integrato",
"categories.aiPromptSavedLang":"Prompt IA salvato per {lang}.",
"categories.aiPromptClearedLang":"Prompt IA cancellato per {lang} (si applica il default aziendale).",
"contentLang.switcherLabel":"Lingua di contenuto",
"contentLang.primary":"principale",
"contentLang.hasOverride":"personalizzato",
"contentLang.addLanguage":"Aggiungi lingua…",
"contentLang.add":"Aggiungi",
"contentLang.removeLanguage":"Rimuovi {lang}",
"contentLang.resultsHint":"Cambia lingua per rivedere titoli e descrizioni IA di ciascuna lingua di contenuto.",
"contentLang.settingsTitle":"Lingue di contenuto",
"contentLang.settingsHelp":"La lingua principale è usata per impostazione predefinita. Le lingue aggiuntive hanno prompt e risultati IA propri (ogni passaggio consuma crediti).",
"ai.prompts.languageHelp":"Modifica i prompt aziendali per lingua di contenuto. Una lingua vuota usa il valore predefinito integrato per quella lingua.",
"header.accountSettingsAria":"Impostazioni account per {email}",
"products.enrichment.rejectSelectedTitle":"Rifiutare i prodotti selezionati?",
"products.enrichment.resetTitle":"Reimpostare a non elaborato?",
"products.selectedOnPage":"{count} selezionati in questa pagina",
"products.selectionPageOnly":"Mostro {shown} di {total} — selezione solo questa pagina",
"products.edit.coverageHint":"Quanti tra Nome, Descrizione, Attributi e Categoria sono presenti (feed o elaborati).",
"products.edit.noEprelShort":"Nessun EPREL",
"products.edit.specs":"Specifiche",
"products.edit.reviewBannerBody":"Usa la scheda Revisione per confrontare originali e IA. Scorciatoie: A accetta · R rifiuta · Alt+1/2 campo · ⌘/Ctrl+Invio accetta tutto.",
"products.edit.noMappedFields":"No mapped feed fields on this prodotto.",
"products.edit.emptyBadge":"Vuoto",
"products.edit.coreBadge":"Core",
"products.edit.feedAttrsHint":"Valori analizzati dal feed (specifiche HTML, garanzia, dimensioni, EPREL). Le chiavi sono collegate ad attribute_key quando possibile.",
"products.edit.aiAttrs":"Attributi IA / arricchiti",
"mapping.confidence.exact":"Esatto",
"mapping.confidence.alias":"Alias",
"mapping.confidence.fuzzy":"Approssimato",
"field.group.basic":"Informazioni di base",
"field.group.pricing":"Prezzi",
"field.group.media":"Media",
"field.group.taxonomy":"Tassonomia",
"field.group.inventory":"Inventario",
"field.group.attributes":"Attributi",
"field.group.shipping":"Spedizione",
"field.group.compliance":"Conformità",
"field.group.other":"Altro",
"common.yes":"Sì",
"common.no":"No",
"status.running":"In esecuzione",
"flash.admin.analyticsLoadFailed":"Impossibile caricare le analitiche",
"flash.admin.diagnosticsLoadFailed":"Impossibile caricare i diagnostici",
"flash.admin.diagnosticsUnavailable":"I diagnostici non sono disponibili in questo deployment. Contatta l’amministratore della piattaforma.",
"flash.admin.diagnosticsUnreachable":"Impossibile raggiungere l’API di diagnostica. Verifica che l’API sia in esecuzione e che PUBLIC_API_URL / il proxy Vite la puntino.",
"admin.charts.statusEmpty":"Nessuna riga in questa suddivisione.",
"admin.charts.seriesEmpty":"Nessun dato in questo periodo.",
"admin.charts.primaryDefault":"Principale",
"admin.charts.statusAria":"Distribuzione per stato",
"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.aiPromptSavedForCategory":"Un prompt di generazione IA è salvato per questa categoria.",
"categories.titleAndDescriptionFormulasSaved":"Le formule di titolo e descrizione sono salvate per questa categoria.",
"categories.titleFormulaSavedForCategory":"Una formula di titolo è salvata per questa categoria.",
"categories.descriptionFormulaSavedForCategory":"Una formula di descrizione è salvata per questa categoria.",
"site.account":"Account",
"site.goToApp":"Vai all’app",
"site.logIn":"Accedi",
"site.getStarted":"Inizia",
"site.nav.primary":"Principale",
"site.nav.mobile":"Mobile",
"site.nav.home":"Home",
"site.nav.pricing":"Prezzi",
"site.nav.apiDocs":"Documentazione API",
"seo.home.title":"Descrybe — Trasforma i feed dei fornitori in schede prodotto pronte",
"seo.home.description":"Collega feed CSV o XML dei fornitori, mappali alle tue categorie e attributi, genera titoli e descrizioni conformi alle tue regole, poi esporta o sincronizza con WooCommerce.",
"seo.pricing.title":"Prezzi — Free, Starter, Growth, Business | Descrybe",
"seo.pricing.description":"Inizia gratis con 100 prodotti e mappatura dei feed. I piani a pagamento aggiungono titoli e descrizioni con IA, più SKU, feed di esportazione e sync WooCommerce — da 49 $/mese. Enterprise per cataloghi illimitati.",
"seo.privacy.title":"Informativa sulla privacy | Descrybe",
"seo.privacy.description":"Come Descrybe raccoglie, utilizza e protegge i dati dell'account, i cataloghi di prodotti e i feed dei fornitori quando usi la nostra piattaforma di dati di prodotto.",
"seo.terms.title":"Termini di servizio | Descrybe",
"seo.terms.description":"Termini di utilizzo di Descrybe: importazione di feed, arricchimento del catalogo, contenuti assistiti da IA, esportazioni e sincronizzazione WooCommerce per la tua azienda.",
"seo.features.title":"Funzionalità — Feed, arricchimento ed esportazione | Descrybe",
"seo.features.description":"Scopri come Descrybe importa i feed dei fornitori, mappa i campi alla tua tassonomia, arricchisce i dati di prodotto e distribuisce i cataloghi tramite feed di esportazione, WooCommerce o API.",
"pricing.page.eyebrow":"Prezzi",
"pricing.page.title":"Piani semplici per cataloghi in crescita",
"pricing.page.lead":"Inizia gratis con mappatura feed e pulizia di base. Passa a un piano superiore quando ti servono titoli e descrizioni IA, più prodotti, feed di esportazione o sync WooCommerce — da Starter a Enterprise.",
"legal.privacy.title":"Informativa sulla privacy",
"legal.privacy.intro.h":"Introduzione",
"legal.privacy.intro.p1":"In Descrybe (\"noi\", \"nostro\" o \"ci\"), rispettiamo la tua privacy e ci impegniamo a proteggere le tue informazioni personali. La presente Informativa sulla privacy spiega come raccogliamo, utilizziamo, divulghiamo e tuteliamo le tue informazioni quando usi la piattaforma di dati di prodotto di Descrybe e i servizi correlati (collettivamente, i \"Servizi\").",
"legal.privacy.intro.p2":"Accedendo o utilizzando i nostri Servizi, acconsenti alle pratiche descritte nella presente Informativa sulla privacy. Se non sei d'accordo con le politiche e le pratiche qui descritte, ti preghiamo di non utilizzare i nostri Servizi.",
"legal.privacy.collect.h":"Informazioni che raccogliamo",
"legal.privacy.collect.lead":"Raccogliamo diversi tipi di informazioni dagli utenti dei nostri Servizi e su di essi, tra cui:",
"legal.privacy.collect.personal.p":"Quando ti registri per un account, raccogliamo informazioni che potrebbero essere utilizzate per identificarti, come nome, indirizzo e-mail, numero di telefono, nome dell'azienda e informazioni di fatturazione. Raccogliamo queste informazioni direttamente da te quando ce le fornisci.",
"legal.privacy.collect.userData.p":"Per erogare i nostri Servizi, raccogliamo e trattiamo dati di prodotto, feed dei fornitori, descrizioni di prodotto e altri contenuti che carichi, inserisci o invii in altro modo sulla nostra piattaforma. Ciò può includere attributi di prodotto, strutture di tassonomia, modelli e altri dati necessari al funzionamento dei nostri Servizi.",
"legal.privacy.collect.usage.h":"Informazioni di utilizzo",
"legal.privacy.collect.usage.p":"Raccogliamo automaticamente determinate informazioni sul tuo dispositivo e su come interagisci con i nostri Servizi, tra cui indirizzo IP, tipo di dispositivo, tipo di browser, sistema operativo, orari di accesso, pagine visualizzate, funzionalità utilizzate e altre attività di sistema. Utilizziamo queste informazioni per migliorare i nostri Servizi e l'esperienza utente.",
"legal.privacy.collect.cookies.h":"Cookie e tecnologie di tracciamento",
"legal.privacy.collect.cookies.p":"Utilizziamo cookie, web beacon e tecnologie di tracciamento simili per raccogliere informazioni sulle tue attività di navigazione sul nostro sito web. Puoi controllare i cookie tramite le impostazioni del browser e altri strumenti. Tuttavia, se blocchi determinati cookie, potresti non essere in grado di utilizzare tutte le funzionalità dei nostri Servizi.",
"legal.privacy.use.h":"Come utilizziamo le tue informazioni",
"legal.privacy.use.lead":"Utilizziamo le informazioni raccolte per vari scopi, tra cui:",
"legal.privacy.use.li1":"Fornire, mantenere e migliorare i nostri Servizi",
"legal.privacy.use.li2":"Elaborare le transazioni e inviare informazioni correlate, comprese conferme, fatture e notifiche di servizio",
"legal.privacy.use.li3":"Sviluppare nuovi prodotti, servizi, funzionalità e capacità",
"legal.privacy.use.li4":"Personalizzare la tua esperienza e offrire contenuti e funzionalità pertinenti ai tuoi interessi",
"legal.privacy.use.li5":"Rispondere alle tue richieste, commenti e domande",
"legal.privacy.use.li6":"Inviarti avvisi tecnici, aggiornamenti, avvisi di sicurezza e messaggi di supporto e amministrazione",
"legal.privacy.use.li7":"Monitorare e analizzare tendenze, utilizzo e attività in relazione ai nostri Servizi",
"legal.privacy.use.li8":"Rilevare, indagare e prevenire transazioni fraudolente e altre attività illegali",
"legal.privacy.use.li9":"Proteggere i nostri diritti, la nostra proprietà e la nostra sicurezza, nonché i diritti, la proprietà e la sicurezza dei nostri utenti o di terzi",
"legal.privacy.use.li10":"Adempiere agli obblighi di legge e far rispettare i nostri termini di servizio",
"legal.privacy.ai.h":"IA e apprendimento automatico",
"legal.privacy.ai.p1":"I nostri Servizi utilizzano tecnologie di intelligenza artificiale e apprendimento automatico per elaborare dati di prodotto, generare contenuti e fornire altre funzionalità automatizzate. I dati che fornisci ai nostri Servizi possono essere utilizzati per addestrare e migliorare i nostri modelli di IA. Tuttavia, implementiamo adeguate salvaguardie per proteggere i tuoi dati e mantenerne la riservatezza.",
"legal.privacy.ai.p2":"Non utilizziamo informazioni di identificazione personale per addestrare i nostri modelli generali di IA senza il tuo consenso esplicito. I dati di prodotto utilizzati per l'addestramento dell'IA vengono anonimizzati e aggregati ove possibile.",
"legal.privacy.share.h":"Come condividiamo le tue informazioni",
"legal.privacy.share.lead":"Possiamo condividere le tue informazioni nelle seguenti circostanze:",
"legal.privacy.share.providers.h":"Fornitori di servizi",
"legal.privacy.share.providers.p":"Possiamo condividere le tue informazioni con fornitori terzi, prestatori di servizi, appaltatori o agenti che eseguono servizi per nostro conto, come l'elaborazione dei pagamenti, l'analisi dei dati, l'invio di e-mail, l'hosting, l'assistenza clienti e il supporto marketing.",
"legal.privacy.share.transfers.p":"Se siamo coinvolti in una fusione, acquisizione, finanziamento, riorganizzazione, fallimento o vendita di asset aziendali, le tue informazioni possono essere trasferite nell'ambito di tale operazione. Ti informeremo di qualsiasi cambiamento di questo tipo nella titolarità o nel controllo delle tue informazioni personali.",
"legal.privacy.share.legal.h":"Requisiti legali",
"legal.privacy.share.legal.p":"Possiamo divulgare le tue informazioni se richiesto dalla legge o in risposta a richieste valide da parte di autorità pubbliche (ad es. un tribunale o un ente governativo). Possiamo inoltre divulgare le tue informazioni per far rispettare i nostri termini di servizio, proteggere i nostri diritti, la privacy, la sicurezza o la proprietà e/o quelli delle nostre affiliate, utenti o terzi.",
"legal.privacy.share.consent.h":"Con il tuo consenso",
"legal.privacy.share.consent.p":"Possiamo condividere le tue informazioni con terzi quando ci hai dato il consenso a farlo.",
"legal.privacy.security.h":"Sicurezza dei dati",
"legal.privacy.security.p1":"Abbiamo implementato misure tecniche e organizzative adeguate progettate per proteggere le tue informazioni personali da perdita accidentale e da accesso, uso, alterazione e divulgazione non autorizzati. Tutte le informazioni che ci fornisci sono archiviate su server sicuri dietro firewall.",
"legal.privacy.security.p2":"La sicurezza delle tue informazioni dipende anche da te. Quando ti abbiamo fornito (o hai scelto) una password per accedere a determinate parti dei nostri Servizi, sei responsabile del mantenimento della riservatezza di tale password. Ti chiediamo di non condividere la password con nessuno.",
"legal.privacy.security.p3":"Purtroppo, la trasmissione di informazioni via Internet non è completamente sicura. Sebbene facciamo del nostro meglio per proteggere le tue informazioni personali, non possiamo garantire la sicurezza delle informazioni personali trasmesse ai nostri Servizi. Qualsiasi trasmissione di informazioni personali avviene a tuo rischio.",
"legal.privacy.rights.h":"I tuoi diritti e le tue scelte",
"legal.privacy.rights.lead":"Ci impegniamo a offrirti scelte riguardo alle informazioni personali che ci fornisci. A seconda della tua ubicazione, potresti avere determinati diritti sulle tue informazioni personali, tra cui:",
"legal.privacy.rights.li1":"Accedere e aggiornare le tue informazioni personali",
"legal.privacy.rights.li2":"Richiedere la cancellazione delle tue informazioni personali",
"legal.privacy.rights.li3":"Opporsi o limitare il trattamento delle tue informazioni personali",
"legal.privacy.rights.li4":"Portabilità dei dati",
"legal.privacy.rights.li5":"Revocare il consenso (ove applicabile)",
"legal.privacy.rights.footer":"Per esercitare i tuoi diritti, contattaci utilizzando le informazioni di contatto riportate alla fine della presente Informativa sulla privacy. Tieni presente che alcuni di questi diritti possono essere limitati o non applicabili a seconda della tua ubicazione e delle circostanze specifiche.",
"legal.privacy.retention.h":"Conservazione dei dati",
"legal.privacy.retention.p1":"Conserveremo le tue informazioni personali per il tempo necessario a soddisfare le finalità descritte nella presente Informativa sulla privacy, salvo che la legge richieda o consenta un periodo di conservazione più lungo. Nel determinare per quanto tempo conservare le tue informazioni, consideriamo la quantità, la natura e la sensibilità delle informazioni, il rischio potenziale di danno derivante da uso o divulgazione non autorizzati, le finalità del trattamento e i requisiti legali applicabili.",
"legal.privacy.retention.p2":"Possiamo conservare determinate informazioni dopo la chiusura del tuo account, tra l'altro per adempiere ai nostri obblighi di legge, risolvere controversie e far rispettare i nostri accordi.",
"legal.privacy.intl.h":"Trasferimenti internazionali di dati",
"legal.privacy.intl.p1":"Le tue informazioni personali possono essere trasferite e trattate in paesi diversi da quello in cui risiedi. Tali paesi possono avere leggi sulla protezione dei dati diverse da quelle del tuo paese.",
"legal.privacy.intl.p2":"Se trasferiamo le tue informazioni personali in paesi al di fuori dello Spazio economico europeo o di altre regioni con leggi complete sulla protezione dei dati, ci assicureremo che esistano adeguate salvaguardie per proteggere le tue informazioni personali e che il trasferimento sia conforme alla normativa applicabile in materia di protezione dei dati.",
"legal.privacy.children.h":"Privacy dei minori",
"legal.privacy.children.p":"I nostri Servizi non sono destinati a minori di 16 anni e non raccogliamo consapevolmente informazioni personali da minori di 16 anni. Se veniamo a conoscenza di aver raccolto o ricevuto informazioni personali da un minore di 16 anni senza verifica del consenso genitoriale, elimineremo tali informazioni. Se ritieni che potremmo avere informazioni da o su un minore di 16 anni, contattaci.",
"legal.privacy.changes.h":"Modifiche alla nostra Informativa sulla privacy",
"legal.privacy.changes.p1":"Possiamo aggiornare la nostra Informativa sulla privacy di volta in volta. Se apportiamo modifiche sostanziali al modo in cui trattiamo le informazioni personali degli utenti, te lo comunicheremo via e-mail all'indirizzo indicato nel tuo account e/o tramite un avviso sul nostro sito web.",
"legal.privacy.changes.p2":"La data dell'ultima revisione dell'Informativa sulla privacy è indicata in cima alla pagina. Sei responsabile di assicurarci un indirizzo e-mail aggiornato, attivo e recapabile, e di visitare periodicamente il nostro sito web e la presente Informativa sulla privacy per verificare eventuali modifiche.",
"legal.privacy.contact.h":"Contatti",
"legal.privacy.contact.lead":"Se hai domande o dubbi sulla nostra Informativa sulla privacy o sulle nostre pratiche relative ai dati, contattaci all'indirizzo:",
"legal.terms.title":"Termini di servizio",
"legal.terms.s1.h":"1. Accettazione dei termini",
"legal.terms.s1.p":"Accedendo o utilizzando la piattaforma di dati di prodotto di Descrybe e i servizi correlati (collettivamente, i \"Servizi\"), accetti di essere vincolato dai presenti Termini di servizio e da tutte le leggi e normative applicabili. Se non sei d'accordo con uno qualsiasi di questi termini, ti è vietato utilizzare o accedere ai Servizi.",
"legal.terms.s2.h":"2. Licenza d'uso",
"legal.terms.s2.p1":"Fatto salvo il rispetto dei presenti Termini di servizio, Descrybe ti concede una licenza limitata, non esclusiva, non trasferibile e revocabile per accedere e utilizzare i Servizi per finalità aziendali.",
"legal.terms.s2.lead":"Questa licenza non include:",
"legal.terms.s2.li1":"La modifica o la copia dei Servizi o di qualsiasi contenuto ivi contenuto",
"legal.terms.s2.li2":"L'uso dei Servizi per qualsiasi fine commerciale diverso dall'uso aziendale autorizzato",
"legal.terms.s2.li3":"Il tentativo di decompilare o effettuare reverse engineering di qualsiasi software contenuto nei Servizi",
"legal.terms.s2.li4":"La rimozione di qualsiasi avviso di copyright o di proprietà dai materiali",
"legal.terms.s2.li5":"Il trasferimento dei materiali a un'altra persona o il \"mirroring\" dei materiali su qualsiasi altro server",
"legal.terms.s2.p2":"Questa licenza si risolverà automaticamente se violi una qualsiasi di queste restrizioni e potrà essere terminata da Descrybe in qualsiasi momento.",
"legal.terms.s3.h":"3. Abbonamento e pagamento",
"legal.terms.s3.p1":"L'accesso ai Servizi può richiedere un abbonamento a pagamento. I termini di pagamento saranno specificati durante il processo di abbonamento. Tutti i pagamenti non sono rimborsabili, salvo diversa indicazione scritta da parte di Descrybe.",
"legal.terms.s3.p2":"Descrybe si riserva il diritto di modificare le tariffe di abbonamento con un preavviso ragionevole. L'uso continuato dei Servizi dopo una modifica tariffaria costituisce accettazione delle nuove tariffe.",
"legal.terms.s4.h":"4. Contenuti dell'utente",
"legal.terms.s4.p1":"Conservi tutti i diritti su qualsiasi contenuto che invii, pubblichi o visualizzi su o tramite i Servizi (\"Contenuti dell'utente\"). Fornendo Contenuti dell'utente a Descrybe, concedi a Descrybe una licenza mondiale, non esclusiva e royalty-free per utilizzare, riprodurre, modificare, adattare, pubblicare, tradurre e distribuire tali contenuti in relazione alla fornitura dei Servizi.",
"legal.terms.s4.lead":"Dichiari e garantisci che:",
"legal.terms.s4.li1":"Possiedi o controlli tutti i diritti sui Contenuti dell'utente che fornisci",
"legal.terms.s4.li2":"I Contenuti dell'utente non violano i presenti Termini di servizio",
"legal.terms.s4.li3":"I Contenuti dell'utente non causeranno danno a alcuna persona o entità",
"legal.terms.s5.h":"5. Intelligenza artificiale",
"legal.terms.s5.p1":"I Servizi utilizzano tecnologie di intelligenza artificiale e apprendimento automatico. Riconosci che i contenuti generati dall'IA potrebbero non essere perfetti e accetti di rivedere tutti i contenuti generati dall'IA prima di utilizzarli nelle tue operazioni aziendali.",
"legal.terms.s5.p2":"Descrybe può utilizzare Contenuti dell'utente anonimizzati e aggregati per addestrare e migliorare i nostri modelli di IA, fatto salvo quanto previsto dalla nostra Informativa sulla privacy. Puoi scegliere di non consentire che i tuoi dati siano utilizzati per l'addestramento dell'IA contattandoci.",
"legal.terms.s6.h":"6. Proprietà intellettuale",
"legal.terms.s6.p":"I Servizi e i relativi contenuti, funzionalità e capacità originali sono di proprietà di Descrybe e sono protetti dalle leggi internazionali sul copyright, sui marchi, sui brevetti, sui segreti commerciali e da altre leggi sulla proprietà intellettuale o sui diritti di proprietà.",
"legal.terms.s7.h":"7. Esclusione di garanzie",
"legal.terms.s7.p1":"I Servizi sono forniti \"così come sono\" e \"secondo disponibilità\". Descrybe non formula garanzie, espresse o implicite, e con la presente declina tutte le garanzie, comprese, senza limitazione, le garanzie implicite di commerciabilità, idoneità a uno scopo particolare, non violazione o corso di esecuzione.",
"legal.terms.s7.p2":"Descrybe non garantisce che i Servizi funzionino in modo ininterrotto, sicuro o disponibili in un determinato momento o luogo, né che eventuali errori o difetti verranno corretti.",
"legal.terms.s8.h":"8. Limitazione di responsabilità",
"legal.terms.s8.lead":"In nessun caso Descrybe sarà responsabile per danni indiretti, incidentali, speciali, consequenziali o punitivi, compresi, senza limitazione, la perdita di profitti, dati, uso, avviamento o altre perdite intangibili, derivanti da:",
"legal.terms.s8.li1":"Il tuo accesso o uso, o l'impossibilità di accedere o usare, i Servizi",
"legal.terms.s8.li2":"Qualsiasi condotta o contenuto di terzi sui Servizi",
"legal.terms.s8.li3":"Qualsiasi contenuto ottenuto dai Servizi",
"legal.terms.s8.li4":"L'accesso, l'uso o l'alterazione non autorizzati delle tue trasmissioni o del tuo contenuto",
"legal.terms.s9.h":"9. Risoluzione",
"legal.terms.s9.p1":"Descrybe può risolvere o sospendere il tuo accesso ai Servizi immediatamente, senza preavviso né responsabilità, per qualsiasi motivo, compreso, senza limitazione, se violi i presenti Termini di servizio.",
"legal.terms.s9.p2":"Alla risoluzione, il tuo diritto di utilizzare i Servizi cesserà immediatamente. Se desideri chiudere il tuo account, puoi semplicemente interrompere l'uso dei Servizi o contattarci per richiedere l'eliminazione dell'account.",
"legal.terms.s10.h":"10. Legge applicabile",
"legal.terms.s10.p":"I presenti Termini saranno regolati e interpretati in conformità alle leggi della Slovenia, senza riguardo ai principi sul conflitto di leggi.",
"legal.terms.s11.h":"11. Modifiche ai termini",
"legal.terms.s11.p":"Descrybe si riserva il diritto di modificare o sostituire i presenti Termini di servizio in qualsiasi momento. È tua responsabilità rivedere periodicamente questi Termini per eventuali modifiche. L'uso continuato dei Servizi dopo la pubblicazione di qualsiasi modifica costituisce accettazione di tali modifiche.",
"legal.terms.s12.h":"12. Contatti",
"legal.terms.s12.lead":"Se hai domande sui presenti Termini di servizio, contattaci all'indirizzo:",
"plans.loadFailed":"Impossibile caricare i piani",
"plans.loading":"Caricamento dei piani…",
"plans.apiUnavailable":"L'API dei piani non è ancora disponibile su questo backend. Mostra il confronto pubblico dei prezzi.",
"plans.title":"Scegli il tuo piano",
"plans.sub.onPrefix":"Sei su",
"plans.sub.enterpriseSuffix":"— prodotti e IA illimitati. Non serve un upgrade self-service.",
"plans.sub.paygSuffix":"— pagamento a consumo. Confronta i piani pubblici qui sotto o parla con le vendite per Enterprise.",
"plans.sub.creditsMid":"con {remaining} crediti IA rimanenti.",
"plans.sub.creditsSuffix":"Passa da Starter → Growth → Business con Checkout, oppure parla con le vendite per Enterprise.",
"plans.sub.none":"Nessun piano è ancora assegnato (ad esempio dopo una migrazione saltata). Scegli un piano qui sotto — la capacità non è Illimitata finché Checkout o un amministratore non ne assegna uno.",
"plans.fallbackDescription":"Capacità per il tuo catalogo",
"plans.badge.current":"Attuale",
"plans.badge.popular":"Più popolare",
"plans.price.custom":"Personalizzato",
"plans.price.forever":"per sempre",
"plans.price.perMonth":"/mese",
"plans.price.seePricing":"Vedi i prezzi",
"plans.capacity.unlimitedSkus":"SKU illimitati",
"plans.capacity.unlimitedAi":"Crediti IA illimitati",
"plans.capacity.upToProducts":"Fino a {count} prodotti",
"plans.capacity.creditsPerMonth":"{count} crediti IA / mese",
"plans.cta.requestUpgrade":"Richiedi upgrade",
"plans.cta.current":"Piano attuale",
"plans.cta.contactSales":"Contatta le vendite",
"plans.cta.switchInBilling":"Cambia in fatturazione",
"plans.cta.upgradeTo":"Passa a {name}",
"plans.cta.startingCheckout":"Avvio del checkout…",
"plans.planApplied":"Piano {plan} applicato. I tuoi crediti sono pronti.",
"plans.faq.title":"Domande frequenti",
"plans.faq.limit.q":"Cosa succede se raggiungo un limite?",
"plans.faq.limit.a":"Prima vedrai avvisi soft. Quando esaurisci i crediti IA o raggiungi il tetto di SKU, i job che richiedono quella capacità vengono bloccati finché non liberi spazio, aspetti il ciclo successivo o effettui un upgrade.",
"plans.faq.selfServe.q":"Posso fare l'upgrade da solo?",
"plans.faq.selfServe.a":"Gli amministratori dell'azienda possono sottoscrivere Starter, Growth e Business in self-service tramite Checkout sulla scheda del piano. I membri devono rivolgersi a un amministratore — Checkout richiede il ruolo di amministratore. Enterprise passa sempre dalle vendite. Gli amministratori di piattaforma possono ancora assegnare piani in Billing Admin.",
"plans.faq.enterprise.q":"Enterprise e milioni di SKU",
"plans.faq.enterprise.a":"Capacità personalizzata, chiave IA propria (BYOK), SLA e gestione account passano dalle vendite. Prenota un appuntamento via Calendly — Enterprise non è self-service su scala di milioni di SKU. L'app mostra Illimitato per la capacità SKU e IA.",
"plans.faq.pricing.q":"Dove trovo i prezzi pubblici?",
"plans.faq.pricing.aBefore":"Consulta il confronto marketing sulla",
"plans.faq.pricing.pricingPage":"pagina Prezzi",
"plans.faq.pricing.aMid":"— i CTA sono Inizia (registrazione) o Contatta le vendite. Gestisci l'utilizzo in qualsiasi momento in",
"plans.faq.pricing.aAfter":".",
"plans.custom.title":"Ti serve un piano personalizzato?",
"plans.custom.body":"La capacità Enterprise, la chiave IA propria e gli SLA vengono gestiti con il nostro team.",
"plans.custom.looking":"Cerchi i dettagli dei piani pubblici?",
"ai.title":"Integrazioni IA",
"ai.description":"Scegli i crediti della piattaforma o la tua chiave, poi personalizza i prompt con le variabili.",
"ai.crumb":"Integrazioni IA",
"ai.adminOnly":"Solo gli amministratori dell’azienda possono modificare le impostazioni IA. Puoi visualizzare la configurazione attuale.",
"ai.badge.ownKey":"La tua chiave",
"ai.badge.platform":"Crediti / chiave della piattaforma",
"ai.providerMode.desc":"La piattaforma usa i crediti Descrybe e la nostra chiave. Popolare o Personalizzato usa la tua chiave compatibile OpenAI (la chiamata al provider non consuma crediti della piattaforma; le regole sui crediti delle funzionalità restano valide).",
"ai.mode.popular":"La tua chiave — provider popolare",
"ai.mode.custom":"La tua chiave — endpoint personalizzato",
"ai.useCompanyKey":"Usa questa chiave aziendale per elaborazione, SEO IA e campagne IA",
"ai.popular.title":"Provider popolare",
"ai.popular.desc":"Endpoint compatibili OpenAI. Anthropic tramite OpenRouter.",
"ai.field.provider":"Provider",
"ai.field.model":"Modello",
"ai.placeholder.modelId":"id del modello",
"ai.baseUrlLabel":"URL di base: {url}",
"ai.custom.title":"Endpoint personalizzato",
"ai.custom.desc":"Inserisci l’URL di base HTTPS del tuo provider IA.",
"ai.field.baseUrl":"URL di base",
"ai.apiKey.title":"Chiave API",
"ai.apiKey.desc":"Lascia vuoto per mantenere la chiave esistente. I segreti grezzi non vengono mai restituiti — solo un last4 mascherato.",
"ai.storedKey":"Chiave salvata: {masked}",
"ai.field.apiKey":"Chiave API",
"ai.placeholder.keepKey":"•••• lascia vuoto per mantenere",
"ai.clearStoredKey":"Cancella chiave API salvata",
"ai.saveProvider":"Salva provider",
"ai.testConnection":"Testa connessione",
"ai.prompts.title":"Modelli di prompt",
"ai.prompts.descBefore":"Personalizza i prompt di sistema e utente per testi prodotto, meta SEO e email di campagna. Inserisci variabili come",
"ai.prompts.descMid":"— vengono compilate a runtime. La voce del brand kit è disponibile come",
"ai.prompts.descAfter":".",
"ai.field.feature":"Funzionalità",
"ai.badge.custom":"Personalizzato",
"ai.badge.builtin":"Predefinito integrato",
"ai.badge.disabledDefault":"Disattivato → si usa il predefinito",
"ai.useCustomPrompt":"Usa questo prompt personalizzato (off = predefinito integrato)",
"ai.insertVariableInto":"Inserisci variabile in",
"ai.insert.system":"Sistema",
"ai.insert.user":"Utente",
"ai.field.systemPrompt":"Prompt di sistema",
"ai.field.userPrompt":"Prompt utente",
"ai.savePrompts":"Salva prompt",
"ai.resetDefault":"Ripristina predefinito",
"ai.editBrandVoice":"Modifica voce del brand",
"ai.flash.loadFailed":"Impossibile caricare le impostazioni IA",
"ai.flash.usingPlatform":"Uso dell’IA della piattaforma (crediti / chiave Descrybe se configurati).",
"ai.flash.providerSaved":"Provider IA salvato. Le chiavi sono crittografate e non vengono più mostrate.",
"ai.flash.saveFailed":"Impossibile salvare",
"ai.flash.savePromptsFailed":"Impossibile salvare i prompt",
"ai.flash.resetFailed":"Impossibile ripristinare il prompt",
"ai.flash.connectionFailed":"Connessione non riuscita",
"ai.flash.testFailed":"Test non riuscito",
"ai.action.changeSettings":"modificare le impostazioni del provider IA",
"ai.action.changePrompts":"modificare i prompt IA",
"ai.action.testProvider":"testare il provider IA",
"email.title":"Invio email",
"email.description":"Resend o SMTP per campagne di marketing. Segreti crittografati a riposo.",
"email.adminOnly":"Solo gli amministratori dell’azienda possono modificare le impostazioni del provider email. Puoi visualizzare la configurazione attuale.",
"email.crumb":"Integrazione email",
"email.dryRunForced":"La modalità dry-run è forzata ({reason}). I piani Free e EMAIL_DRY_RUN non inviano mai blast reali.",
"email.dryRunPolicy":"policy",
"email.badge.verified":"Verificato",
"email.badge.notVerified":"Non verificato",
"email.badge.canSendReal":"Può inviare reale",
"email.badge.realBlocked":"Invio reale bloccato",
"email.badge.lastTest":"Ultimo test: {status}",
"email.provider.title":"Provider",
"email.provider.desc":"Configurazione per azienda. SMTP/Resend dell’ambiente piattaforma è solo fallback se mancano i segreti.",
"email.field.provider":"Provider",
"email.provider.resend":"Resend",
"email.provider.smtp":"SMTP",
"email.field.fromEmail":"Email mittente",
"email.field.domain":"Dominio",
"email.field.from":"Da",
"email.field.fromName":"Nome mittente",
"email.field.replyTo":"Reply-To",
"email.resendKeySaved":"Chiave API Resend (salvata — lascia vuoto per mantenere)",
"email.resendKey":"Chiave API Resend",
"email.field.smtpHost":"Host SMTP",
"email.field.port":"Porta",
"email.field.username":"Nome utente",
"email.field.passwordSaved":"Password (salvata)",
"email.field.password":"Password",
"email.verifyDomain":"Verifica dominio",
"email.testGate.title":"Test e blocco invii",
"email.testGate.desc":"Gli invii di test verificano l’indirizzo mittente. I blast reali richiedono di digitare “I understand”.",
"email.field.recipient":"Destinatario",
"email.sendTest":"Invia test",
"email.confirmBlast":"Conferma blast…",
"email.flash.loadFailed":"Impossibile caricare le impostazioni email",
"email.flash.verifyFailed":"Verifica non riuscita",
"email.flash.testFailed":"Invio di test non riuscito",
"email.flash.blastDryRun":"Controllo di consegna registrato in modalità dry-run — nessuna email inviata.",
"email.flash.blastDone":"Controllo di consegna completato: {sent} inviate, {failed} non riuscite.",
"email.flash.blastFailed":"Blast non riuscito",
"email.blast.subject":"Controllo di consegna email Descrybe",
"email.blast.body":"Questo è un controllo di consegna a un solo indirizzo da Descrybe per confermare che la tua integrazione email può inviare. Destinatario: {recipient}",
"email.action.changeSettings":"modificare le impostazioni del provider email",
"email.action.verifyDomain":"verificare il dominio email",
"email.action.sendTest":"inviare email di test",
"email.action.sendBlasts":"inviare blast email",
"seo.title":"Raccomandazioni SEO",
"seo.description":"Punteggi della checklist per meta del catalogo, titoli, immagini e parole chiave. Il riempimento con template è gratuito; la riscrittura IA è a pagamento.",
"seo.upgradeTitle":"La riscrittura IA è una funzione a pagamento",
"seo.upgradeMessage":"I piani Free possono comunque correggere meta mancanti con template basati su regole. Passa a un piano superiore o aggiungi crediti per usare le riscritture IA.",
"seo.comparePlans":"Confronta i piani",
"seo.openProducts":"Apri prodotti",
"seo.overallScore":"Punteggio SEO complessivo",
"seo.overallScoreHint":"Media degli elementi della checklist",
"seo.noFindings":"Nessun risultato per questo filtro — ottimo lavoro.",
"seo.col.issue":"Problema",
"seo.col.entity":"Entità",
"seo.col.severity":"Gravità",
"seo.col.actions":"Azioni",
"seo.filling":"Riempimento…",
"seo.templateFill":"Riempimento template",
"seo.aiTitleAllowed":"Riscrivi con IA (usa crediti)",
"seo.aiTitleGated":"Richiede piano a pagamento o crediti",
"seo.rewriting":"Riscrittura…",
"seo.aiRewriteBtn":"Riscrittura IA",
"seo.viewProduct":"Vedi prodotto",
"seo.flash.loadFailed":"Impossibile caricare le raccomandazioni SEO",
"seo.flash.aiPaid":"La riscrittura IA richiede un piano a pagamento o crediti.",
"seo.flash.applyFailed":"Impossibile applicare la correzione",
"brand.title":"Kit del brand",
"brand.description":"Definisci voce, linee guida e colori così titoli e descrizioni prodotto restano coerenti con il brand.",
"brand.loading":"Caricamento brand kit…",
"brand.adminOnly":"Solo gli amministratori dell’azienda possono modificare il brand kit. Puoi visualizzare voce, colori e logo attuali.",
"brand.aiApplyFreeAdmin":"Puoi modificare il brand kit su Free. L’applicazione IA (iniezione della voce brand nei prompt di enhance) si sblocca da Starter in su.",
"brand.aiApplyGated":"L’applicazione IA (iniezione della voce brand nei prompt di enhance) si sblocca da Starter in su.",
"brand.aiEnhanceUses":"L’enhance IA userà questa voce brand durante l’elaborazione dei prodotti.",
"brand.comparePlans":"Confronta i piani",
"brand.voice.title":"Voce e linee guida",
"brand.voice.desc":"Tono, regole do/don’t e formulazioni preferite",
"brand.field.voiceTone":"Voce / tono",
"brand.placeholder.voiceTone":"es. Sicuro, conciso, tecnico ma accessibile",
"brand.field.dos":"Do (uno per riga)",
"brand.placeholder.dos":"Parti dal beneficio principale\nMantieni i titoli sotto gli 80 caratteri",
"brand.field.donts":"Don’t (uno per riga)",
"brand.placeholder.donts":"Niente TUTTO MAIUSCOLO\nEvita superlativi senza prove",
"brand.field.preferredTerms":"Termini preferiti (uno per riga o separati da virgola)",
"brand.placeholder.preferredTerms":"wireless, premium, classe energetica",
"brand.visual.title":"Identità visiva",
"brand.visual.desc":"Colori e logo usati nei suggerimenti e nelle campagne consapevoli del brand",
"brand.field.primaryColor":"Colore primario",
"brand.field.secondaryColor":"Colore secondario",
"brand.field.logoImage":"Immagine logo",
"brand.logoHint":"PNG, JPEG o WebP fino a 2 MiB. Salvato negli upload della tua azienda.",
"structured.backDashboard":"Torna alla dashboard",
"structured.categoryFormulas":"Formule di categoria",
"structured.exportFeeds":"Feed di export",
"structured.intro":"Questi campi vengono creati automaticamente quando aggiungi Export IDs alle sezioni della formula di descrizione. Possono essere usati nei feed di export per includere parti specifiche delle descrizioni prodotto.",
"structured.addField":"Aggiungi campo",
"structured.openCategories":"Apri categorie",
"structured.tableCaption":"Questi campi strutturano parti delle descrizioni prodotto per l’export.",
"structured.col.fieldKey":"Chiave campo",
"structured.col.type":"Tipo",
"structured.col.created":"Creato",
"structured.col.actions":"Azioni",
"structured.dialogTitle":"Aggiungi campo descrizione strutturata",
"structured.fieldKeyLabel":"Chiave campo (obbligatoria)",
"site.allRightsReserved":"Tutti i diritti riservati.",
"site.cookiePolicy":"Informativa sui cookie",
"site.cookieSettings":"Impostazioni cookie",
"consent.title":"Cookie e analitica",
"consent.description":"Usiamo cookie necessari per far funzionare Descrybe. Cookie opzionali di analitica e marketing ci aiutano a capire l’uso e misurare le campagne. Puoi cambiare scelta in qualsiasi momento.",
"consent.acceptAll":"Accetta tutti",
"consent.rejectNonEssential":"Rifiuta non essenziali",
"consent.customize":"Personalizza",
"consent.save":"Salva preferenze",
"consent.necessary":"Necessari",
"consent.necessaryDesc":"Richiesti per accesso, sicurezza (CSRF), tema, lingua e ricordare questa scelta.",
"consent.alwaysOn":"Sempre attivi",
"consent.analytics":"Analitica",
"consent.analyticsDesc":"Ci aiuta a capire come viene usato il prodotto (Google Analytics tramite GTM).",
"consent.marketing":"Marketing",
"consent.marketingDesc":"Per misurazione pubblicitaria e personalizzazione quando in GTM sono configurati tag ads.",
"consent.policyLink":"Leggi l’Informativa sui cookie",
"seo.cookies.title":"Informativa sui cookie | Descrybe",
"seo.cookies.description":"Come Descrybe usa cookie necessari, di analitica e marketing, inclusi GTM e GA4, e come modificare il consenso.",
"legal.cookies.title":"Informativa sui cookie",
"legal.cookies.intro.h":"Panoramica",
"legal.cookies.intro.p1":"Questa Informativa spiega come Descrybe usa cookie e tecnologie simili sul sito e sull’app. Da leggere insieme all’Informativa sulla privacy.",
"legal.cookies.intro.p2":"Ove richiesto, chiediamo il consenso prima di abilitare cookie di analitica o marketing. I cookie necessari forniscono il servizio in sicurezza e non richiedono consenso.",
"legal.cookies.types.h":"Categorie di cookie",
"legal.cookies.necessary.h":"Necessari",
"legal.cookies.necessary.p":"Mantengono l’accesso, proteggono i moduli con CSRF, memorizzano tema e lingua e ricordano la scelta sui cookie. Senza di essi il prodotto non funziona correttamente.",
"legal.cookies.analytics.h":"Analitica",
"legal.cookies.analytics.p":"Se consenti l’analitica, carichiamo tag GTM che possono impostare cookie GA4 per misurare pagine ed eventi. Gli eventi restano bloccati finché non è concesso analytics_storage.",
"legal.cookies.marketing.h":"Marketing",
"legal.cookies.marketing.p":"Se consenti il marketing, i tag pubblicitari in GTM possono usare ad storage e segnali correlati per misurazione e personalizzazione.",
"legal.cookies.gtm.h":"Google Tag Manager e GA4",
"legal.cookies.gtm.p":"Se configurato, Descrybe carica un contenitore GTM. GA4 è configurato al suo interno. Consent Mode v2 nega per impostazione predefinita storage analytics e ads fino all’accettazione delle categorie.",
"legal.cookies.third.h":"Terze parti",
"legal.cookies.third.p":"Google (Tag Manager / Analytics) può elaborare dati tecnici (URL, dispositivo/browser, nomi eventi) con consenso. Non inviamo intenzionalmente password, chiavi API o contatti negli eventi.",
"legal.cookies.manage.h":"Come modificare il consenso",
"legal.cookies.manage.p":"Usa Impostazioni cookie nel footer (o il pulsante sotto) per riaprire il banner. Puoi anche cancellare i dati del sito nel browser.",
"site.privacyPolicy":"Informativa sulla privacy",
"site.termsOfService":"Termini di servizio",
"site.legalNav":"Legale",
"site.footer.aria":"Sito",
"site.footer.description":"Descrybe trasforma i feed dei fornitori in cataloghi di prodotto puliti e pronti per i canali: mappa i campi, arricchisci attributi e testi, poi esporta o sincronizza con WooCommerce.",
"home.hero.tagline":"Dati di prodotto per i team ecommerce",
"home.hero.title":"Dai feed dei fornitori alle pagine prodotto",
"home.hero.lead":"Collega i feed dei fornitori, mappali alle tue categorie, completa gli attributi obbligatori e scrivi titoli e descrizioni secondo le tue regole — poi esporta o sincronizza con il tuo store.",
"home.hero.learnMore":"Scopri di più",
"home.hero.apply":"Richiedi l'accesso",
"home.hero.supportedBy":"Con il supporto di",
"home.hero.msAlt":"Microsoft for Startups",
"home.image.previewAlt":"Anteprima della piattaforma Descrybe: dal feed alla scheda prodotto",
"home.how.title":"Ecco come Descrybe ti fa risparmiare tempo nel portare i prodotti sul mercato",
"home.how.lead":"Importa una sola volta i dati disordinati dei fornitori. Descrybe ti aiuta a categorizzarli, completare gli attributi, redigere le schede e inviare prodotti pronti ai tuoi canali.",
"home.how.apply":"Richiedi l'accesso",
"home.how.step1.title":"Importa la tua tassonomia",
"home.how.step1.desc":"Configura le categorie e gli attributi che il tuo store già usa",
"home.how.step1.f1":"Definisci gli attributi obbligatori per ogni categoria",
"home.how.step1.f2":"Imposta formule di titolo per categoria",
"home.how.step1.f3":"Imposta modelli di descrizione e snippet di ricerca",
"home.how.step2.title":"Importa i dati dei fornitori",
"home.how.step2.desc":"Collega un URL di feed o carica un file prodotti",
"home.how.step2.f1":"Importa da fonti CSV, XML o API",
"home.how.step2.f2":"Programma importazioni automatiche dai tuoi fornitori",
"home.how.step2.f3":"Mappa i campi di origine con un'interfaccia semplice drag-and-drop",
"home.how.step3.title":"Trasforma e arricchisci",
"home.how.step3.desc":"Scegli i prodotti da elaborare e lascia che Descrybe:",
"home.how.step3.f1":"Assegni le categorie giuste",
"home.how.step3.f2":"Compili gli attributi di prodotto obbligatori",
"home.how.step3.f3":"Crei titoli e descrizioni chiari e ottimizzati per la ricerca",
"home.how.step4.title":"Esporta sui canali",
"home.how.step4.desc":"Invia dati di prodotto pronti dove vendi",
"home.how.step4.f1":"Genera feed di prodotto specifici per canale",
"home.how.step4.f2":"Mantieni il pieno controllo sui campi che esporti",
"home.how.step4.f3":"Resta aggiornato quando i dati del fornitore cambiano",
"home.benefits.title":"Tutto ciò che serve per dati di prodotto più puliti",
"home.benefits.lead":"Dall'import del feed alle schede pronte per il canale — senza ricostruire ogni file a mano.",
"home.benefits.shield.title":"Individua schede incomplete in anticipo",
"home.benefits.shield.desc":"Controlla i dati rispetto alle regole di categoria così attributi mancanti e testi deboli vengono corretti prima della pubblicazione.",
"home.benefits.chart.title":"Schede più chiare, conversione più forte",
"home.benefits.chart.desc":"Titoli e descrizioni che evidenziano ciò che conta per gli acquirenti — benefici, specifiche e termini di ricerca del tuo catalogo.",
"home.benefits.database.title":"Una struttura di prodotto coerente",
"home.benefits.database.desc":"Mantieni lo stesso albero di categorie e la stessa forma degli attributi su export e canali, così i clienti trovano i prodotti allo stesso modo ovunque.",
"home.benefits.search.title":"Contenuti di prodotto pensati per la ricerca",
"home.benefits.search.desc":"Scrivi titoli, descrizioni e meta snippet più facili da capire per acquirenti e motori di ricerca.",
"home.benefits.cost.title":"Meno inserimento manuale dei dati",
"home.benefits.cost.desc":"Automatizza mappatura, compilazione attributi e testi delle schede così il team si dedica al merchandising — non a ripulire fogli di calcolo.",
"home.benefits.scale.title":"Pronto per ogni canale di vendita",
"home.benefits.scale.desc":"Adatta feed di export e sync WooCommerce ai formati attesi da ogni canale, senza ricostruire il catalogo a mano.",
"home.cta.titleLead":"Porta i prodotti sul mercato ",
"home.cta.titleHighlight":"più velocemente",
"home.cta.description":"Smetti di ricostruire i dati di prodotto da ogni file del fornitore. Mappa una volta, arricchisci con le tue regole e pubblica schede pronte a vendere.",
"home.cta.f1":"Demo personalizzata",
"home.cta.f2":"Consulenza di esperti",
"home.cta.f3":"Prossimi passi chiari",
"home.cta.apply":"Richiedi l'accesso",
"home.cta.imageAlt":"Pagine prodotto Descrybe",
"home.product.eyebrow":"Cosa fa Descrybe",
"home.product.title":"Feed fornitori in ingresso. Schede pronte in uscita — export, WooCommerce o API.",
"home.product.description":"Descrybe aiuta i team ecommerce a trasformare feed CSV e XML dei fornitori in cataloghi puliti. Mappa i campi alle tue categorie, arricchisci attributi e testi, poi invia i dati tramite feed di export, sync WooCommerce o l'API pubblica.",
"home.product.pipelineAria":"Pipeline prodotto",
"home.product.p1.label":"Feed in ingresso",
"home.product.p1.detail":"CSV / XML da URL del fornitore",
"home.product.p2.label":"Mappa",
"home.product.p2.detail":"Associa le colonne ai tuoi campi",
"pricing.section.title":"Inizia gratis. Scala quando il catalogo cresce.",
"pricing.section.lead":"Free include mappatura feed, pulizia base dei prodotti e etichette energetiche UE (EPREL) fino a 100 SKU (senza crediti AI). I piani a pagamento aggiungono titoli e descrizioni AI, più capacità e opzioni di export — Starter, Growth, Business, oppure parla con le vendite per Enterprise.",
"pricing.section.billingPeriod":"Periodo di fatturazione",
"pricing.section.monthly":"Mensile",
"pricing.section.yearly":"Annuale",
"pricing.section.savePercent":"Risparmia il 20%",
"pricing.section.publicBefore":"Piani pubblici: Free, Starter, Growth, Business ed Enterprise. Crea un account Free, poi passa a un piano superiore in",
"pricing.section.publicOr":"o",
"pricing.section.publicAfter":"tramite Stripe Checkout. Enterprise resta gestito dalle vendite.",
"pricing.section.plansLink":"Piani",
"pricing.section.billingLink":"Fatturazione",
"pricing.section.capabilitiesTitle":"A cosa è pensato ogni piano",
"pricing.section.capabilitiesLead":"Importa feed, arricchisci il catalogo, poi esporta o sincronizza con WooCommerce",
"pricing.section.faqTitle":"Domande frequenti",
"pricing.section.readyTitle":"Pronto a mappare il tuo primo feed?",
"pricing.section.readyLead":"Crea un account Free — nessuna carta richiesta. Ne hai già uno? Apri l'app o confronta i piani.",
"pricing.section.contactSales":"Contatta le vendite",
"pricing.cap.feeds":"Dai feed al catalogo",
"pricing.cap.feeds.f1":"Feed fornitore CSV / XML / URL",
"pricing.cap.feeds.f2":"Mappatura e validazione dei campi",
"pricing.cap.feeds.f3":"Unione multi-fornitore",
"pricing.cap.feeds.f4":"Sync programmata",
"pricing.cap.feeds.f5":"Trasformazioni basate sulla categoria",
"pricing.cap.processing":"Elaborazione e AI",
"pricing.cap.processing.f1":"Pulizia dati e compilazione attributi (tutti i piani)",
"pricing.cap.processing.f2":"Titoli e descrizioni AI (piani a pagamento)",
"pricing.cap.processing.f3":"Etichette energetiche UE / EPREL (tutti i piani)",
"pricing.cap.export.f4":"Formati specifici per canale",
"pricing.cap.export.f5":"Aggiornamenti in blocco",
"pricing.cap.limits":"Limiti e controllo",
"pricing.cap.limits.f1":"Limiti di SKU (prodotti)",
"pricing.cap.limits.f2":"Pacchetti mensili di crediti AI",
"pricing.cap.limits.f3":"Ruoli e inviti del team",
"pricing.cap.limits.f4":"Opzioni SLA Enterprise",
"pricing.faq.credits.q":"Cosa sono i crediti AI?",
"pricing.faq.credits.a":"I crediti AI pagano passaggi come la generazione di titoli e descrizioni. Free include 0 crediti AI — puoi comunque mappare i feed e pulire i dati. Pacchetti mensili a pagamento: Starter 150, Plus 500, Growth 1.200, Business 4.000, Scale 8.000. Enterprise include un grande pacchetto gestito (e la tua chiave AI). Da Growth in su puoi opzionalmente usare la tua chiave al posto dei crediti gestiti.",
"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":"Cosa succede se raggiungo il limite di prodotti o crediti?",
"pricing.faq.limits.a":"Ti avvisiamo quando ti avvicini. Quando raggiungi il tetto prodotti o finisci i crediti AI, i job che richiedono quella capacità si mettono in pausa finché non liberi spazio, aspetti il ciclo successivo o fai upgrade.",
"pricing.faq.change.q":"Posso fare upgrade o downgrade?",
"pricing.faq.change.a":"Sì. Parti da Free, poi passa a Starter, Plus, Growth, Business o Scale da Piani o Fatturazione (Stripe Checkout). Enterprise è sempre gestito dalle vendite.",
"pricing.faq.free.q":"Cosa include Free?",
"pricing.faq.free.a":"Free per sempre: 50 prodotti, un feed, pulizia dati e compilazione attributi, etichette energetiche UE (EPREL — dati pubblici, senza crediti), più un export manuale — con 0 crediti AI. Nessuna carta di credito. Fai upgrade quando ti servono titoli e descrizioni AI o più capacità.",
"pricing.faq.why.q":"Perché non pagare per prodotto come gli strumenti solo di contenuti?",
"pricing.faq.why.a":"Descrybe copre l'intero percorso dal feed fornitore al catalogo fino a WooCommerce o all'export — non solo i testi AI. Paghi per la capacità della piattaforma (prodotti e feed); l'AI è un livello di utilizzo sopra.",
"pricing.faq.annual.q":"Come funziona la fatturazione annuale?",
"pricing.faq.annual.a":"La fatturazione annuale è circa il 20% in meno del prezzo mensile. Inizia gratis, poi scegli annuale in Checkout al momento dell'upgrade (o contatta le vendite).",
"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.",
"plan.upgrade.title":"Questa funzione non è nel tuo piano",
"plan.upgrade.message":"Esegui l’upgrade per sbloccare questa parte di Descrybe.",
"plan.upgrade.defaultMessage":"Il tuo piano attuale non include questa parte di Descrybe. Fai upgrade per sbloccarla, oppure chiedi a un admin aziendale se non puoi modificare la fatturazione.",
"plan.upgrade.sectionOff.title":"Questa funzione non è temporaneamente disponibile",
"plan.upgrade.sectionOff.message":"Questa parte di Descrybe è disattivata sulla piattaforma in questo momento. Non è un problema di upgrade — riprova più tardi o contatta l’assistenza.",
"plan.upgrade.sectionOff.cta":"Torna alla dashboard",
"plan.upgrade.stores.message":"I connettori WooCommerce e Shopify richiedono un piano che include Negozi. Fai upgrade per collegarli — oppure continua con feed e API sul piano attuale.",
"plan.upgrade.stillWorks.title":"Cosa funziona ancora nel tuo piano",
"plan.upgrade.stillWorks.feeds.label":"Feed di input",
"plan.upgrade.stillWorks.feeds.description":"Aggiungi URL CSV o XML e caricamenti file per sincronizzare i cataloghi senza connettori negozio.",
"plan.upgrade.stillWorks.export.label":"Feed di export",
"plan.upgrade.stillWorks.export.description":"Genera feed in uscita per canali shopping e partner.",
"plan.upgrade.stillWorks.processing.label":"Attività in background",
"plan.upgrade.stillWorks.processing.description":"Monitora i job di IA e catalogo in Elaborazione — disponibili nel tuo piano anche senza connettori negozio.",
"plan.upgrade.stillWorks.api.label":"Chiavi API",
"plan.upgrade.stillWorks.api.description":"Crea una chiave in Impostazioni per usare /api/v1 — il secret viene mostrato una sola volta.",
"vector.description":"Cerca nell’indice delle categorie vettoriali quando Pinecone è configurato. Creazione indice e inizializzazione non sono ancora disponibili in v2.",
"vector.probing":"Controllo API categorie vettoriali…",
"vector.unavailable":"Le categorie vettoriali non sono ancora su questo backend. Non c’è nulla da eseguire finché /api/vector-categories/* non è collegato.",
"vector.initComingSoon":"Crea indice e Inizializza DB vettoriale non sono ancora disponibili in v2 (in arrivo). La ricerca funziona ancora quando Pinecone è configurato.",
"storeReconnect.titlePlural":"Riconnetti i negozi dopo la migrazione",
"storeReconnect.titleChannel":"Riconnetti {channel} dopo la migrazione",
"storeReconnect.titleSingular":"Riconnetti negozio dopo la migrazione",
"storeReconnect.messageWithItems":"Le credenziali API del negozio non sono state trasferite (o non sono utilizzabili) dopo la migrazione della piattaforma. Non è una sync rotta — riconnetti ogni negozio, poi Prova connessione prima di mettere in coda una sync.",
"storeReconnect.messageSingle":"Le credenziali API di {channel} non sono state trasferite (o non sono utilizzabili) dopo la migrazione della piattaforma. Non è una sync rotta — incolla credenziali nuove, Salva, poi Prova connessione prima di mettere in coda una sync.",
"storeReconnect.channelFallback":"Negozio",
"storeReconnect.askAdmin":"Chiedi a un amministratore dell’azienda di riconnettere — solo gli amministratori possono salvare le credenziali del negozio.",
"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":"L’import recensioni non può avviarsi finché le credenziali non sono riconnesse dopo la migrazione. Nella scheda Connessione: Salva, poi Testa connessione.",
"storeReconnect.ordersHint":"L’import ordini non può avviarsi finché le credenziali non sono riconnesse dopo la migrazione. Nella scheda Connessione: Salva, poi Testa connessione.",
"productSync.outboundBody":"— invia i prodotti Descrybe elaborati al negozio (crea o aggiorna i prodotti remoti corrispondenti). Non importa il catalogo del negozio in Descrybe.",
"productSync.firstSync":"Prima sync",
"productSync.firstSyncBody":"— i prodotti senza corrispondenza vengono creati in {channel}. Le sync successive aggiornano i prodotti già collegati per id o strategia di match.",
"productSync.reSync":"Ri-sincronizza",
"productSync.reSyncBody":"— i prodotti remoti corrispondenti possono essere sovrascritti con il contenuto Descrybe ({count} collegati finora).",
"productSync.queued":"Sync prodotti in coda",
"productSync.live.queued":"In coda — in attesa del worker",
"productSync.live.running":"Sincronizzazione in corso",
"productSync.live.watching":"Monitoraggio stato… i conteggi appaiono a fine esecuzione.",
"productSync.noneYet":"Nessuna sync prodotti ancora completata.",
"productSync.lastRun":"Ultima esecuzione: {total} totali · {created} creati · {updated} aggiornati · {failed} non riusciti · {skipped} saltati",
"productSync.needsReconnect":"La sync prodotti non può avviarsi finché le credenziali non sono riconnesse dopo la migrazione. Nella scheda Connessione: Salva, poi Testa connessione.",
"productSync.scheduleHelp":"Come gli intervalli dei feed: imposta quanto spesso Descrybe invia i prodotti al negozio, o metti in pausa la pianificazione. La coda manuale resta disponibile. I webhook del negozio non sono usati: solo polling/coda.",
"productSync.delivery.title":"Aggiornamenti via polling, non webhook del negozio",
"productSync.delivery.body":"Descrybe non riceve webhook Shopify o WooCommerce. I push prodotti partono quando li metti in coda o secondo la pianificazione automatica. Questa pagina segue l’avanzamento interrogando lo stato della connessione — non tramite eventi push live dal negozio.",
"productSync.delivery.inboundNote":"Ordini e recensioni usano anche pull in coda (pianificati o manuali), non webhook live.",
"productSync.delivery.hubNote":"I connettori negozio sincronizzano su pianificazione o quando metti in coda un job — non tramite webhook live del negozio.",