export const itIT = {
  common: {
    search: "Cerca...",
    create: "Nuovo",
    new: "Nuovo",
    cancel: "Annulla",
    delete: "Elimina",
    edit: "Modifica",
    theme: "Tema",
    signOut: "Esci",
    noMatches: "Nessun risultato trovato",
    tryDifferentSearch: "Prova con un termine di ricerca diverso.",
    light: "Chiaro",
    dark: "Scuro",
    system: "Sistema",
    loading: "Caricamento...",
    note: "Nota",
    insight: "Approfondimento",
    newSource: "Nuova fonte",
    newNotebook: "Nuovo quaderno",
    newPodcast: "Nuovo podcast",
    language: "Lingua",
    english: "English",
    chinese: "简体中文",
    japanese: "日本語",
    french: "Français",
    russian: "Русский",
    bengali: "বাংলা",
    source: "Fonte",
    notebook: "Quaderno",
    podcast: "Podcast",
    quickActions: "Azioni rapide",
    quickActionsDesc: "Navigazione, ricerca, domande, tema",
    appName: "Open Notebook",
    add: "Aggiungi",
    remove: "Rimuovi",
    confirm: "Conferma",
    warning: "Attenzione",
    error: "Errore",
    success: "Successo",
    model: "Modello",
    back: "Indietro",
    next: "Avanti",
    done: "Fatto",
    processing: "Elaborazione...",
    creating: "Creazione...",
    linked: "Collegato",
    adding: "Aggiunta in corso...",
    addSelected: "Aggiungi selezionati",
    customModel: "Modello personalizzato",
    failed: "fallito",
    current: "Corrente",
    save: "Salva",
    writeNote: "Scrivi nota",
    batchMode: "Modalità batch",
    optional: "Opzionale",
    type: "Tipo",
    title: "Titolo",
    created: "Creato {time}",
    updated: "Aggiornato {time}",
    actions: "Azioni",
    noResults: "Nessun risultato",
    references: "Riferimenti",
    refreshPage: "Prova ad aggiornare la pagina",
    refresh: "Aggiorna",
    aiGenerated: "Generato da IA",
    human: "Umano",
    unknown: "Sconosciuto",
    notes: "Note",
    chat: "Chat",
    deleteForever: "Elimina definitivamente",
    connectionError: "Errore di connessione",
    unableToConnect: "Impossibile connettersi al server API",
    retryConnection: "Riprova connessione",
    diagnosticInfo: "Informazioni diagnostiche",
    version: "Versione",
    built: "Compilato",
    apiUrl: "URL API",
    frontendUrl: "URL Frontend",
    checkConsoleLogs: "Controlla la console del browser per log dettagliati (cerca i messaggi 🔧 [Config])",
    yes: "Sì",
    no: "No",
    saving: "Salvataggio...",
    description: "Descrizione",
    saveToNote: "Salva come nota",
    copyToClipboard: "Copia negli appunti",
    close: "Chiudi",
    insights: "Approfondimenti",
    progress: "Progresso",
    deleting: "Eliminazione...",
    created_label: "Creato",
    updated_label: "Aggiornato",
    download: "Scarica",
    saveChanges: "Salva modifiche",
    name: "Nome",
    default: "Predefinito",
    nameRequired: "Il nome è obbligatorio",
    modelConfiguration: "Configurazione modello",
    resetToDefault: "Ripristina predefinito",
    reasoning: "Ragionamento",
    searchTerms: "Termini di ricerca",
    strategy: "Strategia",
    individualAnswers: "Risposte individuali ({count})",
    finalAnswer: "Risposta finale",
    notebookLabel: "Quaderno: {name}",
    itemNotFound: "Questo {type} non è stato trovato",
    accessibility: {
      transformationViews: "Viste trasformazioni",
      searchKB: "Chiedi o cerca nella tua base di conoscenza",
      enterQuestion: "Inserisci la tua domanda per interrogare la base di conoscenza",
      enterSearch: "Inserisci la query di ricerca",
      searchKBBtn: "Cerca nella base di conoscenza",
      podcastViews: "Viste podcast",
      ytVideo: "Video YouTube",
      askResponse: "Risposta alla domanda",
      searchNotebooks: "Cerca quaderni",
    },
    url: "URL",
    errorDetails: "Dettagli errore",
    editTransformation: "Modifica trasformazione",
    retry: "Riprova",
    traditionalChinese: "繁體中文",
    portuguese: "Português",
    completed: "completato",
    saveSuccess: "Salvato con successo",
    contextModes: {
      off: "Non incluso nella chat",
      insights: "Solo approfondimenti",
      full: "Contenuto completo",
      clickToCycle: "Clicca per cambiare",
    },
    clickToEdit: "Clicca per modificare",
  },
  apiErrors: {
    notebookNotFound: "Quaderno non trovato",
    sourceNotFound: "Fonte non trovata",
    transformationNotFound: "Trasformazione non trovata",
    fileUploadFailed: "Caricamento file fallito",
    urlRequired: "L'URL è obbligatorio per il tipo link",
    contentRequired: "Il contenuto è obbligatorio per il tipo testo",
    invalidSourceType: "Tipo di fonte non valido",
    processingFailed: "Elaborazione fallita",
    failedToQueue: "Impossibile accodare l'elaborazione",
    invalidSortBy: "Il campo di ordinamento deve essere 'created' o 'updated'",
    invalidSortOrder: "L'ordine deve essere 'asc' o 'desc'",
    accessDenied: "Accesso al file negato",
    fileNotFoundOnServer: "File non trovato sul server",
    searchFailed: "Ricerca fallita",
    askFailed: "Richiesta fallita",
    pleaseEnterQuestion: "Inserisci una domanda",
    pleaseConfigureModels: "Configura tutti i modelli richiesti",
    failedToCreateSession: "Impossibile creare la sessione",
    failedToUpdateSession: "Impossibile aggiornare la sessione",
    failedToDeleteSession: "Impossibile eliminare la sessione",
    failedToSendMessage: "Impossibile inviare il messaggio",
    unauthorized: "Accesso non autorizzato, controlla la password",
    invalidPassword: "Password non valida",
    embeddingModelRequired: "Questa funzionalità richiede un modello di embedding. Configurane uno nella sezione Modelli.",
    strategyModelNotFound: "Modello strategia non trovato",
    answerModelNotFound: "Modello risposta non trovato",
    finalAnswerModelNotFound: "Modello risposta finale non trovato",
    noAnswerGenerated: "Nessuna risposta generata",
    genericError: "Si è verificato un errore imprevisto",
  },
  connectionErrors: {
    apiTitle: "Impossibile connettersi al server API",
    apiDesc: "Il server API di Open Notebook non è raggiungibile",
    dbTitle: "Connessione al database fallita",
    dbDesc: "Il server API è in esecuzione, ma il database non è accessibile",
    troubleshooting: "Questo di solito significa:",
    apiUnreachable1: "Il server API non è in esecuzione",
    apiUnreachable2: "Il server API è su un indirizzo diverso",
    apiUnreachable3: "Problemi di connettività di rete",
    dbFailed1: "SurrealDB non è in esecuzione",
    dbFailed2: "Le impostazioni di connessione al database sono errate",
    dbFailed3: "Problemi di rete tra API e database",
    quickFixes: "Soluzioni rapide:",
    setApiUrl: "Imposta la variabile d'ambiente API_URL:",
    checkSurreal: "Verifica se SurrealDB è in esecuzione:",
    seeDocumentation: "Per istruzioni dettagliate, consulta:",
    docLink: "Documentazione Open Notebook",
    showTechnical: "Mostra dettagli tecnici",
    attemptedUrl: "URL tentato",
    message: "Messaggio",
    technicalDetails: "Dettagli tecnici",
    stackTrace: "Stack trace",
    retryLabel: "Riprova connessione",
    retryHint: "Premi R o clicca il pulsante per riprovare",
    dockerLabel: "Per docker",
    localDevLabel: "Per sviluppo locale",
  },
  auth: {
    loginTitle: "Open Notebook",
    loginDesc: "Inserisci la password per accedere all'applicazione",
    passwordPlaceholder: "Password",
    signingIn: "Accesso in corso...",
    signIn: "Accedi",
    connectErrorHint: "Impossibile connettersi al server. Verifica che l'API sia in esecuzione.",
  },
  navigation: {
    collect: "Raccogli",
    process: "Elabora",
    create: "Crea",
    manage: "Gestisci",
    sources: "Fonti",
    notebooks: "Quaderni",
    askAndSearch: "Chiedi e cerca",
    podcasts: "Podcast",
    models: "Modelli",
    transformations: "Trasformazioni",
    transformation: "Trasformazione",
    settings: "Impostazioni",
    advanced: "Avanzate",
    nav: "Navigazione",
    language: "Cambia lingua",
    theme: "Tema",
    ask: "Chiedi",
  },
  notebooks: {
    title: "Quaderni",
    newNotebook: "Nuovo quaderno",
    searchPlaceholder: "Cerca quaderni...",
    archived: "Archiviati",
    archive: "Archivia",
    unarchive: "Ripristina",
    deleteNotebook: "Elimina quaderno",
    deleteNotebookDesc: "Sei sicuro di voler eliminare \"{name}\"? Questa azione non può essere annullata.",
    deleteNotebookLoading: "Caricamento anteprima eliminazione...",
    deleteNotebookNotes: "{count} nota/e verranno eliminate definitivamente.",
    deleteNotebookNoNotes: "Nessuna nota da eliminare.",
    deleteNotebookExclusiveSources: "{count} fonte/i esistono solo in questo quaderno.",
    deleteNotebookSharedSources: "{count} fonte/i sono condivise con altri quaderni e verranno scollegate.",
    deleteNotebookNoSources: "Nessuna fonte in questo quaderno.",
    deleteExclusiveSourcesLabel: "Elimina fonti esclusive",
    keepExclusiveSourcesLabel: "Scollega e mantieni",
    activeNotebooks: "Quaderni attivi",
    archivedNotebooks: "Quaderni archiviati",
    notFound: "Quaderno non trovato",
    notFoundDesc: "Il quaderno richiesto non esiste.",
    updated: "Aggiornato",
    namePlaceholder: "Nome quaderno",
    addDescription: "Aggiungi descrizione...",
    noNotesYet: "Ancora nessuna nota",
    deleteNote: "Elimina Nota",
    deleteNoteConfirm: "Sei sicuro di voler eliminare questa nota? Questa azione non può essere annullata.",
    noteCreatedSuccess: "Nota creata con successo",
    failedToCreateNote: "Impossibile creare la nota",
    noteUpdatedSuccess: "Nota aggiornata con successo",
    failedToUpdateNote: "Impossibile aggiornare la nota",
    noteDeletedSuccess: "Nota eliminata con successo",
    failedToDeleteNote: "Impossibile eliminare la nota",
    createNew: "Crea nuovo quaderno",
    createNewDesc: "Inserisci un nome e una descrizione opzionale per iniziare.",
    descPlaceholder: "Aggiungi più informazioni su questo quaderno qui...",
    createSuccess: "Quaderno creato con successo",
    updateSuccess: "Quaderno aggiornato con successo",
    deleteSuccess: "Quaderno eliminato con successo",
  },
  sources: {
    title: "Fonti",
    add: "Aggiungi fonte",
    addNew: "Aggiungi nuova fonte",
    addExisting: "Aggiungi fonte esistente",
    delete: "Elimina Fonte",
    statusPreparing: "In preparazione",
    statusQueued: "In coda",
    statusProcessing: "In elaborazione",
    statusCompleted: "Completato",
    statusFailed: "Fallito",
    statusPreparingDesc: "Preparazione all'elaborazione",
    statusQueuedDesc: "In attesa di elaborazione",
    statusProcessingDesc: "In fase di elaborazione",
    statusCompletedDesc: "Elaborato con successo",
    statusFailedDesc: "Elaborazione fallita",
    failedToLoad: "Impossibile caricare le fonti",
    allSourcesDesc: "Visualizza tutte le tue fonti qui. Puoi aggiungere nuove fonti o gestire quelle esistenti.",
    allSources: "Tutte le fonti",
    insights: "Approfondimenti",
    yes: "Sì",
    no: "No",
    loadingMore: "Caricamento...",
    noSourcesYet: "Ancora nessuna fonte",
    allSourcesDescShort: "Visualizza tutte le tue fonti qui.",
    cannotSaveNoteNoNotebook: "Impossibile salvare la nota: ID quaderno non disponibile",
    createFirstSource: "Aggiungi la tua prima fonte per iniziare a costruire la tua base di conoscenza.",
    deleteSourceConfirm: "Sei sicuro di voler eliminare questa fonte?",
    deleteConfirm: "Sei sicuro di voler eliminare questo elemento?",
    deleteConfirmWithTitle: "Sei sicuro di voler eliminare \"{title}\"?",
    deleteSuccess: "Fonte eliminata con successo. Nota: Per eliminare il file dallo storage, devi abilitare l'opzione \"elimina file\" nella pagina impostazioni.",
    failedToDelete: "Impossibile eliminare la fonte",
    sourceQueued: "Fonte in coda",
    sourceQueuedDesc: "Fonte inviata per l'elaborazione in background. Puoi monitorare il progresso nella lista fonti.",
    sourceAddedSuccess: "Fonte aggiunta con successo",
    failedToAddSource: "Impossibile aggiungere la fonte",
    sourceUpdatedSuccess: "Fonte aggiornata con successo",
    failedToUpdateSource: "Impossibile aggiornare la fonte",
    sourceDeletedSuccess: "Fonte eliminata con successo",
    failedToDeleteSource: "Impossibile eliminare la fonte",
    fileUploadedSuccess: "File caricato con successo",
    failedToUploadFile: "Impossibile caricare il file",
    sourceRequeued: "Fonte rimessa in coda",
    sourceRequeuedDesc: "La fonte è stata rimessa in coda per l'elaborazione.",
    failedToRetry: "Nuovo tentativo fallito",
    sourcesAddedToNotebook: "{count} fonte/i aggiunte al quaderno",
    failedToAddSourcesToNotebook: "Impossibile aggiungere le fonti al quaderno",
    partialAddSuccess: "{success} fonte/i aggiunte, {failed} fallite",
    sourceRemovedFromNotebook: "Fonte rimossa dal quaderno con successo",
    failedToRemoveSourceFromNotebook: "Impossibile rimuovere la fonte dal quaderno",
    removeConfirm: "Sei sicuro di voler rimuovere questa fonte dal quaderno?",
    checking: "Verifica...",
    untitledSource: "Fonte senza titolo",
    maxItems: "max {count}",
    insightsCount: "{count} approfondimenti",
    details: "Dettagli",
    detailsTitle: "Dettagli fonte",
    content: "Contenuto",
    metadata: "Metadati",
    type: {
      link: "Link",
      file: "File",
      text: "Testo",
    },
    id: "ID Fonte",
    topics: "Argomenti",
    embedded: "Indicizzato",
    notEmbedded: "Non indicizzato",
    embedContent: "Indicizza contenuto",
    embedding: "Indicizzazione...",
    alreadyEmbedded: "Già indicizzato",
    downloadFile: "Scarica file",
    fileUnavailable: "File non disponibile",
    preparing: "Preparazione...",
    generateNewInsight: "Genera nuovo approfondimento",
    selectTransformation: "Seleziona una trasformazione...",
    noInsightsYet: "Ancora nessun approfondimento",
    createFirstInsight: "Crea il tuo primo approfondimento usando una trasformazione sopra",
    viewInsight: "Visualizza approfondimento",
    deleteInsight: "Elimina approfondimento",
    deleteInsightConfirm: "Sei sicuro di voler eliminare questo approfondimento? Questa azione non può essere annullata.",
    insightGenerationStarted: "Generazione dell'approfondimento avviata. Apparirà a breve.",
    editNote: "Modifica nota",
    createNote: "Crea nota",
    addTitle: "Aggiungi un titolo...",
    untitledNote: "Nota Senza Titolo",
    writeNotePlaceholder: "Scrivi il contenuto della tua nota qui...",
    saveNote: "Salva nota",
    createNoteBtn: "Crea nota",
    createFirstNote: "Crea la tua prima nota per catturare intuizioni e osservazioni.",
    urlLabel: "URL *",
    fileLabel: "File *",
    textContentLabel: "Contenuto testo *",
    enterUrlsPlaceholder: "Inserisci gli URL, uno per riga\nhttps://esempio.com/articolo1\nhttps://esempio.com/articolo2",
    batchUrlHint: "Incolla più URL (uno per riga) per importazione batch",
    invalidUrlsDetected: "URL non validi rilevati:",
    lineLabel: "Riga {line}",
    fixInvalidUrls: "Correggi o rimuovi gli URL non validi per continuare",
    selectMultipleFilesHint: "Seleziona più file per importazione batch. Supportati: Documenti (PDF, DOC, DOCX, PPT, XLS, EPUB, TXT, MD), Media (MP4, MP3, WAV, M4A), Immagini (JPG, PNG), Archivi (ZIP)",
    selectedFiles: "File selezionati:",
    textPlaceholder: "Incolla o digita il contenuto qui...",
    htmlDetected: "Rilevato contenuto HTML. Verrà convertito in Markdown dopo l'elaborazione.",
    titlePlaceholder: "Dai alla tua fonte un titolo descrittivo",
    batchTitlesAuto: "I titoli verranno generati automaticamente per ogni fonte.",
    batchCommonSettings: "Gli stessi quaderni e trasformazioni verranno applicati a tutti gli elementi.",
    urlsCount: "{count} URL",
    filesCount: "{count} file",
    addSource: "Aggiungi Fonte",
    notEmbeddedAlert: "Contenuto non indicizzato",
    notEmbeddedDesc: "Questo contenuto non è stato indicizzato per la ricerca vettoriale. L'indicizzazione abilita funzionalità di ricerca avanzate e una migliore scoperta dei contenuti.",
    openOnYoutube: "Apri su YouTube",
    urlCopied: "URL copiato negli appunti",
    viewSource: "Visualizza fonte",
    noInsightSelected: "Nessun approfondimento selezionato",
    sourceInsight: "Approfondimento Fonte",
    manageNotebooks: "Gestisci quaderni",
    manageNotebooksDesc: "Gestisci quali quaderni contengono questa fonte",
    noNotebooksAvailable: "Nessun quaderno disponibile",
    loadFailed: "Impossibile caricare i dettagli della fonte",
    removeFromNotebook: "Rimuovi dal quaderno",
    retryProcessing: "Riprova elaborazione",
    deleteSource: "Elimina fonte",
    retry: "Riprova",
    addExistingTitle: "Aggiungi fonti esistenti",
    addExistingDesc: "Seleziona fonti esistenti da tutti i tuoi quaderni per aggiungerle a quello corrente.",
    searchPlaceholder: "Cerca fonti per nome o URL...",
    noNotebooksFound: "Nessun quaderno trovato.",
    showingFirst100: "Mostrate le prime 100 fonti. Usa la ricerca per trovarne di specifiche.",
    selectedCount: "{count} fonti selezionate",
    added: "Aggiunto il {date}",
    addUrl: "Aggiungi URL",
    uploadFile: "Carica file",
    enterText: "Inserisci testo",
    processDescription: "Il contenuto verrà elaborato e analizzato dall'IA.",
    processingFiles: "Elaborazione dei tuoi file...",
    titleRequired: "Un titolo è obbligatorio per il contenuto testuale",
    titleGenerated: "Se lasciato vuoto, verrà generato un titolo dal contenuto",
    batchCount: "{count} {type} verranno elaborati",
    enableEmbedding: "Abilita indicizzazione per la ricerca",
    embeddingDesc: "Permette di trovare questa fonte nelle ricerche vettoriali e query IA",
    embeddingAlways: "Indicizzazione abilitata automaticamente",
    embeddingAlwaysDesc: "Le tue impostazioni sono configurate per indicizzare sempre il contenuto per la ricerca vettoriale.",
    embeddingNever: "Indicizzazione disabilitata",
    embeddingNeverDesc: "Le tue impostazioni sono configurate per saltare l'indicizzazione. La ricerca vettoriale non sarà disponibile per questa fonte.",
    changeInSettings: "Puoi modificare questo nelle Impostazioni",
    notFound: "Fonte non trovata",
    noContent: "Nessun contenuto disponibile",
    insightsDesc: "Approfondimenti generati dall'analisi del modello",
    uploadedFile: "File caricato",
    fileUnavailableDesc: "Questo file non è attualmente disponibile per motivi di storage.",
    batchSuccess: "{count} fonte/i create con successo",
    batchFailed: "Impossibile creare tutte le {count} fonti",
    batchPartial: "{success} riuscite, {failed} fallite",
    submittingSource: "Invio fonte per l'elaborazione...",
    processingBatchSources: "Elaborazione di {count} fonti. Potrebbe richiedere qualche istante.",
    processingSource: "La tua fonte è in elaborazione. Potrebbe richiedere qualche istante.",
    maxFilesAllowed: "Massimo {count} file consentiti per batch",
  },
  chat: {
    sessions: "Sessioni",
    sessionTitlePlaceholder: "Digita un titolo qui...",
    noSessions: "Ancora nessuna sessione chat",
    deleteSession: "Elimina sessione",
    deleteSessionDesc: "Sei sicuro di voler eliminare questa sessione chat? Questa azione non può essere annullata.",
    sendPlaceholder: "Chiedi qualsiasi cosa sulle tue fonti...",
    sessionsTitle: "Sessioni chat",
    chatWith: "Chatta con {name}",
    startConversation: "Inizia una conversazione su questo {type}",
    askQuestions: "Fai domande per capire meglio il contenuto",
    pressToSend: "Premi {key} per inviare",
    model: "Modello",
    createToStart: "Crea una sessione per iniziare.",
    chatWithNotebook: "Chatta con il quaderno",
    unableToLoadChat: "Impossibile caricare la chat",
    noDescription: "Nessuna descrizione",
    startByCreating: "Inizia creando il tuo primo quaderno per organizzare la tua ricerca.",
    messagesCount: "{count} messaggi",
    sessionCreated: "Sessione chat creata",
    sessionUpdated: "Sessione aggiornata",
    sessionDeleted: "Sessione eliminata",
  },
  searchPage: {
    askAndSearch: "Chiedi e cerca",
    chooseAMode: "Scegli una modalità",
    askBeta: "Chiedi (beta)",
    search: "Cerca",
    askYourKb: "Chiedi alla tua base di conoscenza (beta)",
    askYourKbDesc: "L'LLM risponderà alla tua domanda basandosi sui documenti nella tua base di conoscenza.",
    question: "Domanda",
    enterQuestionPlaceholder: "Inserisci la tua domanda...",
    pressToSubmit: "Premi Cmd/Ctrl+Invio per inviare",
    noEmbeddingModel: "Non puoi usare questa funzionalità perché non hai un modello di embedding selezionato. Configurane uno nella pagina modelli.",
    usingCustomModels: "Uso modelli personalizzati",
    usingDefaultModels: "Uso modelli predefiniti",
    advanced: "Avanzate",
    strategy: "Strategia",
    answer: "Risposta",
    final: "Finale",
    ask: "Chiedi",
    processing: "Elaborazione...",
    saveToNotebooks: "Salva nei quaderni",
    searchDesc: "Cerca nella tua base di conoscenza parole chiave o concetti specifici",
    enterSearchPlaceholder: "Inserisci la query di ricerca...",
    pressToSearch: "Premi invio per cercare",
    searchType: "Tipo di ricerca",
    vectorSearchWarning: "La ricerca vettoriale richiede un modello di embedding. Solo la ricerca testuale è disponibile.",
    textSearch: "Ricerca testuale",
    vectorSearch: "Ricerca vettoriale",
    searchIn: "Cerca In",
    searchSources: "Cerca nelle fonti",
    searchNotes: "Cerca nelle note",
    resultsFound: "{count} risultati trovati",
    matches: "Corrispondenze ({count})",
    noResultsFor: "Nessun risultato trovato per \"{query}\"",
    notSet: "Non impostato",
    saveToNotebook: "Salva nel quaderno",
    saveSuccess: "Salvato con successo nel quaderno",
    saveError: "Impossibile salvare nel quaderno",
    selectNotebook: "Seleziona quaderno",
    searchAndAsk: "Cerca e chiedi",
    searchResultsFor: "Risultati di ricerca per \"{query}\"",
    askAbout: "Chiedi riguardo \"{query}\"",
    orSearchKb: "Oppure cerca nella tua base di conoscenza",
    saving: "Salvataggio...",
    advancedModelTitle: "Selezione modello avanzata",
    advancedModelDesc: "Scegli modelli specifici per ogni fase del processo Chiedi",
    strategyModel: "Modello strategia",
    answerModel: "Modello risposta",
    finalAnswerModel: "Modello risposta finale",
    selectStrategyPlaceholder: "Seleziona modello strategia",
    selectAnswerPlaceholder: "Seleziona modello risposta",
    selectFinalPlaceholder: "Seleziona modello risposta finale",
    saveChanges: "Salva modifiche",
    processingQuestion: "Elaborazione della tua domanda...",
  },
  podcasts: {
    generateEpisode: "Genera episodio podcast",
    generateEpisodeDesc: "Seleziona il contenuto da includere e configura i dettagli dell'episodio prima di generare un nuovo episodio podcast.",
    content: "Contenuto",
    contentDesc: "Scegli quaderni, fonti e note da includere in questo episodio.",
    itemsSelected: "{count} elementi selezionati",
    tokens: "{count} token",
    chars: "{count} caratteri",
    loadingNotebooks: "Caricamento quaderni...",
    noNotebooksFoundInPodcasts: "Nessun quaderno trovato. Crea un quaderno e aggiungi contenuto prima di generare un podcast.",
    noContentSelected: "Nessun contenuto selezionato",
    summary: "Riepilogo",
    fullContent: "Contenuto completo",
    untitledSource: "Fonte senza titolo",
    untitledNote: "Nota senza titolo",
    episodeSettings: "Impostazioni episodio",
    episodeProfile: "Profilo episodio",
    episodeProfilePlaceholder: "Seleziona un profilo episodio",
    episodeName: "Nome episodio",
    episodeNamePlaceholder: "es., IA e il futuro del Lavoro",
    additionalInstructions: "Istruzioni aggiuntive",
    instructionsPlaceholder: "Eventuali consigli supplementari da aggiungere al briefing dell'episodio...",
    generating: "Generazione...",
    generate: "Genera",
    hostPlaceholder: "Conduttore {number}",
    profileRequired: "Profilo episodio richiesto",
    profileRequiredDesc: "Seleziona un profilo episodio prima di generare un podcast.",
    nameRequired: "Nome episodio richiesto",
    nameRequiredDesc: "Fornisci un nome per l'episodio.",
    addContext: "Aggiungi contesto",
    addContextDesc: "Seleziona almeno una fonte o nota da includere nell'episodio.",
    generationFailed: "Generazione podcast fallita",
    speakerProfile: "Profilo Speaker",
    usesSpeakerProfile: "Usa profilo speaker",
    sources: "Fonti",
    notes: "Note",
    noSources: "Nessuna fonte disponibile in questo quaderno.",
    noNotes: "Nessuna nota disponibile in questo quaderno.",
    selectMode: "Seleziona modalità",
    buildContextFailed: "Impossibile costruire il contesto. Rivedi le tue selezioni.",
    podcastTaskStarted: "Attività podcast avviata",
    loadingProfiles: "Caricamento profili episodio...",
    noProfilesFound: "Nessun profilo episodio trovato. Crea un profilo episodio prima di generare un podcast.",
    listTitle: "Podcast",
    listDesc: "Tieni traccia degli episodi generati e gestisci i profili riutilizzabili.",
    chooseAView: "Scegli una vista",
    episodesTab: "Episodi",
    templatesTab: "Profili",
    overviewTitle: "Panoramica episodi",
    overviewDesc: "Monitora i lavori di generazione podcast e rivedi gli artefatti finali.",
    generateBtn: "Genera Podcast",
    total: "Totale",
    processingLabel: "In elaborazione",
    completedLabel: "Completati",
    failedLabel: "Falliti",
    pendingLabel: "In attesa",
    loadErrorTitle: "Impossibile caricare gli episodi",
    loadErrorDesc: "Non siamo riusciti a recuperare gli ultimi episodi podcast. Riprova tra poco.",
    loadingEpisodes: "Caricamento episodi…",
    noEpisodesYet: "Ancora nessun episodio podcast. Genera il tuo primo dalle interfacce chat di quaderni o fonti.",
    statusRunningTitle: "In elaborazione",
    statusRunningDesc: "Episodi che stanno attivamente generando risorse.",
    statusPendingTitle: "In coda / In attesa",
    statusPendingDesc: "Episodi inviati in attesa di iniziare l'elaborazione.",
    statusCompletedTitle: "Episodi completati",
    statusCompletedDesc: "Pronti per revisione, download o pubblicazione.",
    statusFailedTitle: "Episodi falliti",
    statusFailedDesc: "Episodi che hanno riscontrato problemi durante la generazione.",
    templatesWorkspaceTitle: "Area di lavoro profili",
    templatesWorkspaceDesc: "Costruisci configurazioni riutilizzabili per episodi e speaker per una produzione podcast rapida.",
    howTemplatesPowerTitle: "Come i profili potenziano la generazione podcast",
    howTemplatesPowerDesc: "I profili dividono il flusso di lavoro podcast in due blocchi riutilizzabili. Combinali quando generi un nuovo episodio.",
    episodeProfilesSetFormat: "I profili episodio impostano il formato",
    episodeProfilesList1: "Delinea il numero di segmenti e come scorre la storia",
    episodeProfilesList2: "Scegli i modelli linguistici usati per briefing, outline e scrittura script",
    episodeProfilesList3: "Memorizza briefing predefiniti così ogni episodio inizia con un tono coerente",
    speakerProfilesBringVoices: "I profili speaker danno vita alle voci",
    speakerProfilesList1: "Scegli il provider e modello text-to-speech",
    speakerProfilesList2: "Cattura personalità, background e note di pronuncia per speaker",
    speakerProfilesList3: "Riutilizza le stesse voci di conduttori o ospiti in diversi formati episodio",
    recommendedWorkflow: "Flusso di lavoro consigliato",
    workflowStep1: "Crea profili speaker per ogni voce di cui hai bisogno",
    workflowStep2: "Costruisci profili episodio che riferiscono quegli speaker per nome",
    workflowStep3: "Genera podcast selezionando il profilo episodio adatto alla storia",
    workflowHint: "I profili episodio riferiscono i profili speaker per nome, quindi iniziare dagli speaker evita assegnazioni vocali mancanti.",
    failedToLoadTemplates: "Impossibile caricare i dati dei profili",
    failedToLoadTemplatesDesc: "Assicurati che l'API sia in esecuzione e riprova. Alcune sezioni potrebbero essere incomplete.",
    loadingTemplates: "Caricamento profili…",
    speakerProfilesTitle: "Profili speaker",
    speakerProfilesDesc: "Configura voci e personalità per gli episodi generati.",
    createSpeaker: "Crea speaker",
    noSpeakerProfiles: "Ancora nessun profilo speaker. Creane uno per rendere disponibili i profili episodio.",
    noDescription: "Nessuna descrizione fornita.",
    usedByCount_one: "Usato da 1 episodio",
    usedByCount_other: "Usato da {count} episodi",
    usedByCount: "Usato da {count} episodi",
    unused: "Non utilizzato",
    voiceId: "ID Voce",
    backstory: "Background",
    personality: "Personalità",
    edit: "Modifica",
    duplicate: "Duplica",
    deleteSpeakerProfileTitle: "Eliminare il profilo speaker?",
    deleteSpeakerProfileDesc: "L'eliminazione di \"{name}\" non può essere annullata.",
    deleteSpeakerDisabledHint: "Rimuovi questo speaker dai profili episodio prima di eliminarlo.",
    deleting: "Eliminazione…",
    episodeProfilesTitle: "Profili episodio",
    episodeProfilesDesc: "Definisci impostazioni di generazione riutilizzabili per i tuoi programmi.",
    createProfile: "Crea profilo",
    createSpeakerFirst: "Crea un profilo speaker prima di aggiungere un profilo episodio.",
    noEpisodeProfiles: "Ancora nessun profilo episodio. Creane uno per avviare la generazione podcast.",
    speakerCreated: "Speaker creato",
    speakerCreatedDesc: "Lo speaker \"{name}\" è stato aggiunto con successo.",
    failedToCreateSpeaker: "Impossibile creare il profilo speaker",
    speakerUpdated: "Speaker aggiornato",
    speakerUpdatedDesc: "Lo speaker \"{name}\" è stato aggiornato con successo.",
    failedToUpdateSpeaker: "Impossibile aggiornare il profilo speaker",
    speakerDeleted: "Speaker eliminato",
    speakerDeletedDesc: "Lo speaker \"{name}\" è stato rimosso con successo.",
    failedToDeleteSpeaker: "Impossibile eliminare il profilo speaker",
    speakerDuplicated: "Speaker duplicato",
    speakerDuplicatedDesc: "Lo speaker \"{name}\" è stato duplicato con successo.",
    failedToDuplicateSpeaker: "Impossibile duplicare il profilo speaker",
    generationStarted: "Generazione Avviata",
    generationStartedDesc: "La generazione del podcast è stata accodata.",
    failedToStartGeneration: "Impossibile avviare la generazione",
    tryAgainMoment: "Riprova tra un momento.",
    deleteProfileTitle: "Eliminare il profilo?",
    deleteProfileDesc: "Questo rimuoverà \"{name}\". Gli episodi esistenti mantengono i loro dati, ma i nuovi non useranno più questa configurazione.",
    profileCreated: "Profilo creato",
    profileCreatedDesc: "Il profilo episodio \"{name}\" è stato creato con successo.",
    failedToCreateProfile: "Impossibile creare il profilo",
    profileUpdated: "Profilo aggiornato",
    profileUpdatedDesc: "Il profilo episodio \"{name}\" è stato aggiornato con successo.",
    failedToUpdateProfile: "Impossibile aggiornare il profilo",
    profileDeleted: "Profilo eliminato",
    profileDeletedDesc: "Il profilo episodio \"{name}\" è stato rimosso con successo.",
    failedToDeleteProfile: "Impossibile eliminare il profilo",
    failedToDeleteProfileDesc: "Impossibile rimuovere il profilo episodio.",
    profileDuplicated: "Profilo duplicato",
    profileDuplicatedDesc: "Il profilo episodio \"{name}\" è stato duplicato con successo.",
    failedToDuplicateProfile: "Impossibile duplicare il profilo",
    episodeDeleted: "Episodio eliminato",
    episodeDeletedDesc: "L'episodio è stato eliminato con successo.",
    failedToDeleteEpisode: "Impossibile eliminare l'episodio",
    failedToDeleteSpeakerDesc: "Impossibile rimuovere il profilo speaker.",
    outlineModel: "Modello outline",
    transcriptModel: "Modello trascrizione",
    segments: "Segmenti",
    defaultBriefingTitle: "Briefing predefinito",
    created: "Creato il {time}",
    details: "Dettagli",
    summaryTab: "Riepilogo",
    outlineTab: "Outline",
    transcriptTab: "Trascrizione",
    briefing: "Briefing",
    noOutline: "Nessun outline disponibile.",
    noTranscript: "Nessuna trascrizione disponibile.",
    deleteEpisodeTitle: "Eliminare l'episodio?",
    deleteEpisodeDesc: "Questo rimuoverà \"{name}\" e il suo file audio permanentemente.",
    audioUnavailable: "Audio non disponibile",
    segment: "Segmento",
    speaker: "Speaker",
    profile: "Profilo",
    link: "Link",
    file: "File",
    embedded: "Indicizzato",
    notEmbedded: "Non indicizzato",
    noSpeakerProfilesAvailable: "Nessun profilo speaker disponibile",
    editEpisodeProfile: "Modifica profilo episodio",
    createEpisodeProfile: "Crea profilo episodio",
    episodeProfileFormDesc: "Definisci come devono essere generati gli episodi e quale configurazione speaker usare di default.",
    noSpeakerProfilesDesc: "Crea un profilo speaker prima di configurare un profilo episodio.",
    profileName: "Nome profilo",
    profileNamePlaceholder: "es., Discussione tech",
    descriptionPlaceholder: "Breve riepilogo di quando usare questo profilo",
    speakerConfig: "Configurazione speaker",
    selectSpeakerProfile: "Seleziona un profilo speaker",
    outlineGeneration: "Generazione outline",
    transcriptGeneration: "Generazione trascrizione",
    defaultBriefingPlaceholder: "Delinea struttura, tono e obiettivi per questo formato episodio",
    editSpeakerProfile: "Modifica profilo speaker",
    createSpeakerProfile: "Crea profilo speaker",
    speakerProfileFormDesc: "Configura le impostazioni text-to-speech e definisci fino a quattro speaker.",
    speakers: "Speaker",
    speakersDesc: "Configura da una a quattro voci per questo profilo.",
    addSpeaker: "Aggiungi speaker",
    speakerNumber: "Speaker {number}",
    backstoryPlaceholder: "Breve biografia o contesto per lo speaker",
    personalityPlaceholder: "Descrivi stile e tono",
    outlineModelRequired: "Il modello outline è obbligatorio",
    transcriptModelRequired: "Il modello trascrizione è obbligatorio",
    defaultBriefingRequired: "Il briefing predefinito è obbligatorio",
    segmentsInteger: "Deve essere un numero intero",
    segmentsMin: "Almeno 3 segmenti",
    segmentsMax: "Massimo 20 segmenti",
    voiceIdRequired: "L'ID voce è obbligatorio",
    backstoryRequired: "Il background è obbligatorio",
    personalityRequired: "La personalità è obbligatoria",
    speakerCountMin: "È richiesto almeno uno speaker",
    speakerCountMax: "Puoi configurare fino a 4 speaker",
    delete: "Elimina",
    failedToDelete: "Impossibile eliminare il podcast",
    retry: "Riprova",
    retrying: "Nuovo tentativo…",
    retryStarted: "Nuovo tentativo avviato",
    retryStartedDesc: "Un nuovo lavoro di generazione podcast è stato inviato.",
    failedToRetry: "Impossibile riprovare",
    errorDetails: "Dettagli errore",
    language: "Lingua",
    languagePlaceholder: "Seleziona una lingua (opzionale)",
    podcastLanguage: "Lingua del podcast",
    selectOutlineModel: "Seleziona modello outline",
    selectTranscriptModel: "Seleziona modello trascrizione",
    voiceModel: "Modello vocale",
    voiceModelRequired: "Il modello vocale è obbligatorio",
    selectVoiceModel: "Seleziona modello vocale",
    perSpeakerTtsOverride: "Override TTS per speaker (opzionale)",
    useProfileDefault: "Usa predefinito del profilo",
    setupRequired: "Configurazione necessaria",
    setupRequiredDesc: "Alcuni profili non hanno ancora modelli configurati. Modificali per selezionare i modelli prima di generare podcast.",
    notConfigured: "Non configurato",
  },
  settings: {
    contentProcessing: "Elaborazione contenuti",
    contentProcessingDesc: "Configura come vengono elaborati documenti e URL",
    docEngine: "Motore elaborazione documenti",
    docEnginePlaceholder: "Seleziona motore elaborazione documenti",
    urlEngine: "Motore elaborazione URL",
    urlEnginePlaceholder: "Seleziona motore elaborazione URL",
    autoRecommended: "Auto (consigliato)",
    simple: "Semplice",
    docling: "Docling",
    helpMeChoose: "Aiutami a scegliere",
    docHelp: "· Docling è un po' più lento ma più accurato, specialmente se i documenti contengono tabelle e immagini. · Semplice estrarrà qualsiasi contenuto dal documento senza formattarlo. · Auto (consigliato) proverà a elaborare tramite docling e userà semplice come fallback.",
    firecrawl: "Firecrawl",
    jina: "Jina",
    urlHelp: "· Firecrawl è un servizio a pagamento (con piano gratuito), molto potente. · Jina è una buona alternativa con piano gratuito. · Semplice usa estrazione HTTP base e perderà contenuto su siti basati su javascript. · Auto (consigliato) proverà firecrawl poi Jina, infine semplice come fallback.",
    embeddingAndSearch: "Indicizzazione e ricerca",
    embeddingAndSearchDesc: "Configura opzioni di ricerca e indicizzazione",
    defaultEmbeddingOption: "Opzione indicizzazione predefinita",
    embeddingOptionPlaceholder: "Seleziona opzione indicizzazione",
    ask: "Chiedi",
    always: "Sempre",
    never: "Mai",
    embeddingHelp: "Indicizzare il contenuto renderà più facile trovarlo per te e per i tuoi agenti IA. Se usi un modello di embedding locale (Ollama, per esempio), non dovresti preoccuparti del costo e indicizzare tutto.",
    fileManagement: "Gestione file",
    fileManagementDesc: "Configura opzioni di gestione e archiviazione file",
    autoDeleteFiles: "Elimina file automaticamente",
    autoDeletePlaceholder: "Seleziona opzione eliminazione automatica",
    filesHelp: "Una volta caricati ed elaborati, i tuoi file non sono più necessari. La maggior parte degli utenti dovrebbe permettere a Open Notebook di eliminare automaticamente i file caricati dalla cartella upload.",
    loadFailed: "Impossibile caricare le impostazioni",
  },
  advanced: {
    title: "Strumenti avanzati",
    desc: "Strumenti e utilità avanzate per utenti esperti",
    systemInfo: "Informazioni sistema",
    rebuildEmbeddings: "Ricostruisci indicizzazioni",
    rebuildEmbeddingsDesc: "Ricostruisci l'indice di ricerca vettoriale per tutte le fonti",
    currentVersion: "Versione corrente",
    latestVersion: "Ultima versione",
    status: "Stato",
    updateAvailable: "Versione {version} disponibile",
    updateAvailableDesc: "È disponibile una nuova versione di Open Notebook.",
    upToDate: "Aggiornato",
    unknown: "Sconosciuto",
    viewOnGithub: "Visualizza su GitHub",
    updateCheckFailed: "Impossibile verificare aggiornamenti. GitHub potrebbe non essere raggiungibile.",
    rebuild: {
      mode: "Modalità ricostruzione",
      existing: "Esistenti",
      all: "Tutti",
      existingDesc: "Re-indicizza solo elementi che hanno già indicizzazioni (più veloce, per cambio modello)",
      allDesc: "Re-indicizza elementi esistenti + crea indicizzazioni per elementi senza (più lento, completo)",
      include: "Includi nella ricostruzione",
      selectOneError: "Seleziona almeno un tipo di elemento da ricostruire",
      starting: "Avvio ricostruzione...",
      startBtn: "🚀 Avvia ricostruzione",
      queued: "In coda",
      running: "In esecuzione...",
      completed: "Completato!",
      failed: "Fallito",
      leavePageHint: "Puoi lasciare questa pagina poiché verrà eseguito in background",
      startNew: "Avvia nuova ricostruzione",
      itemsProcessed: "{processed}/{total} elementi ({percent}%)",
      failedItems: "{count} elementi non elaborati",
      time: "Tempo",
      whenToRebuild: "Quando dovrei ricostruire le indicizzazioni?",
      whenToRebuildAns: "Dovresti ricostruire quando cambi modelli, aggiorni versioni, correggi corruzione o dopo importazioni massive.",
      howLong: "Quanto tempo richiede la ricostruzione?",
      howLongAns: "Il tempo di elaborazione dipende dal numero di elementi, velocità del modello e limiti API. I modelli locali sono solitamente molto veloci.",
      isSafe: "È sicuro ricostruire mentre uso l'app?",
      isSafeAns: "Sì, la ricostruzione è sicura! Non elimina contenuti, sostituisce solo le indicizzazioni e gestisce gli errori con grazia.",
    },
  },
  transformations: {
    title: "Trasformazioni",
    desc: "Le trasformazioni sono prompt che verranno usati dall'LLM per elaborare una fonte ed estrarre approfondimenti, riepiloghi, ecc.",
    workspace: "Scegli un'area di lavoro",
    playground: "Playground",
    defaultPrompt: "Prompt trasformazione predefinito",
    defaultPromptDesc: "Questo verrà aggiunto a tutti i tuoi prompt di trasformazione",
    defaultPromptPlaceholder: "Inserisci le tue istruzioni di trasformazione predefinite...",
    listTitle: "Trasformazioni personalizzate",
    createNew: "Crea Nuova",
    inputLabel: "Testo di input",
    inputPlaceholder: "Inserisci del testo da trasformare...",
    outputLabel: "Output",
    runTest: "Esegui trasformazione",
    running: "Esecuzione...",
    selectToStart: "Seleziona una trasformazione per iniziare",
    name: "Nome",
    namePlaceholder: "Identificativo unico, es. argomenti_chiave",
    titlePlaceholder: "Titolo visualizzato, default al nome",
    promptPlaceholder: "Scrivi il prompt che alimenterà questa trasformazione...",
    descriptionPlaceholder: "Descrivi cosa fa questa trasformazione.",
    suggestDefault: "Suggerisci di default per nuove fonti",
    promptHint: "I prompt dovrebbero essere scritti considerando il contenuto della fonte. Puoi chiedere al modello di riassumere, estrarre approfondimenti o produrre output strutturati come tabelle.",
    createSuccess: "Trasformazione creata con successo",
    updateSuccess: "Trasformazione aggiornata con successo",
    deleteSuccess: "Trasformazione eliminata con successo",
    noTransformations: "Ancora nessuna trasformazione",
    createOne: "Crea una trasformazione per iniziare",
    selectModel: "Seleziona un modello",
    deleteConfirm: "Sei sicuro di voler eliminare questa trasformazione?",
    model: "Modello",
    systemPrompt: "Prompt di sistema",
    overrideModelDesc: "Sovrascrivi il modello predefinito per questa sessione chat. Lascia vuoto per usare il default di sistema.",
    sessionUseReplacement: "Questa sessione userà {name} invece del modello predefinito.",
    systemDefault: "Predefinito di sistema",
  },
  models: {
    embedding: "Modelli di embedding",
    tts: "Text to Speech (TTS)",
    stt: "Speech to Text (STT)",
    apiKey: "Chiave API",
    deleteSuccess: "Modello eliminato con successo",
    saveSuccess: "Modello salvato con successo",
    noModels: "Nessun modello",
    discoverModels: "Scopri Modelli",
    noModelsFound: "Nessun modello trovato per questo provider",
    modelType: "Tipo di Modello",
    modelTypeHint: "Seleziona il tipo per i modelli che vuoi aggiungere. Se hai bisogno di tipi diversi, aggiungili in lotti separati.",
    deleteModel: "Elimina modello",
    defaultAssignments: "Assegnazioni modelli predefiniti",
    defaultAssignmentsDesc: "Configura quali modelli usare per diversi scopi in Open Notebook",
    missingRequiredModels: "Modelli richiesti mancanti: {models}. Open Notebook potrebbe non funzionare correttamente senza questi.",
    selectModelPlaceholder: "Seleziona un modello",
    requiredModelPlaceholder: "⚠️ Richiesto - Seleziona un modello",
    chatModelLabel: "Modello chat",
    chatModelDesc: "Usato per le conversazioni chat",
    transformationModelLabel: "Modello trasformazione",
    transformationModelDesc: "Usato per riepiloghi, approfondimenti e trasformazioni",
    toolsModelLabel: "Modello strumenti",
    toolsModelDesc: "Usato per chiamate funzione - OpenAI o Anthropic consigliati",
    largeContextModelLabel: "Modello contesto ampio",
    largeContextModelDesc: "Usato per elaborare documenti grandi - Gemini consigliato",
    embeddingModelLabel: "Modello di embedding",
    embeddingModelDesc: "Usato per ricerca semantica e embedding vettoriali",
    ttsModelLabel: "Modello Text-to-Speech",
    ttsModelDesc: "Usato per la generazione podcast",
    sttModelLabel: "Modello Speech-to-Text",
    sttModelDesc: "Usato per la trascrizione audio",
    embeddingChangeTitle: "Cambio modello di embedding",
    embeddingChangeConfirm: "Stai per cambiare il modello di embedding da {from} a {to}.",
    rebuildRequired: "Importante: ricostruzione richiesta",
    rebuildReason: "Cambiare il modello di embedding richiede la ricostruzione di tutti gli embedding esistenti per mantenere la coerenza. Senza ricostruzione, le tue ricerche potrebbero restituire risultati errati o incompleti.",
    whatHappensNext: "Cosa succede dopo:",
    step1: "Il tuo modello di embedding predefinito verrà aggiornato",
    step2: "Gli embedding esistenti rimarranno invariati fino alla ricostruzione",
    step3: "I nuovi contenuti useranno il nuovo modello di embedding",
    step4: "Dovresti ricostruire gli embedding il prima possibile",
    proceedToRebuildPrompt: "Vuoi procedere alla pagina avanzate per avviare la ricostruzione ora?",
    changeModelOnly: "Cambia solo modello",
    changeAndRebuild: "Cambia e vai a ricostruzione",
    autoAssign: "Assegnazione automatica predefiniti",
    autoAssigning: "Assegnazione in corso...",
    autoAssignSuccess: "{count} modelli predefiniti assegnati automaticamente",
    autoAssignNoModels: "Nessun modello disponibile da assegnare. Sincronizza prima i modelli.",
    autoAssignAlreadySet: "Tutti i modelli predefiniti sono già configurati",
    testModel: "Testa Modello",
    testModelSuccess: "Test del Modello Superato",
    testModelFailed: "Test del Modello Fallito",
    searchOrAddModel: "Cerca o digita un nome modello...",
    addCustomModel: "Aggiungi \"{name}\"",
  },
  apiKeys: {
    title: "Configura la tua IA con le tue chiavi API",
    description: "Salva le chiavi API in modo sicuro nel database per abilitare i provider IA in Open Notebook.",
    encryptionRequired: "Chiave di crittografia non configurata",
    encryptionRequiredDescription: "Imposta la variabile d'ambiente OPEN_NOTEBOOK_ENCRYPTION_KEY su una stringa segreta qualsiasi per abilitare il salvataggio delle chiavi API nel database.",
    configured: "Configurato",
    notConfigured: "Non configurato",
    migrationAvailable: "Variabili d'ambiente rilevate",
    migrationDescription: "{count} chiave/i API configurata/e tramite variabili d'ambiente. Puoi migrarle nel database per una gestione più semplice.",
    migrateToDatabase: "Migra nel database",
    migrating: "Migrazione in corso...",
    migrationSuccess: "{count} chiave/i API migrata/e con successo",
    migrationErrors: "{count} chiave/i non migrata/e",
    migrationNothingToMigrate: "Tutte le chiavi sono già nel database",
    learnMore: "Scopri come configurare le chiavi API →",
    testConnection: "Testa connessione",
    testSuccess: "Connessione riuscita",
    testFailed: "Test di connessione fallito",
    syncModels: "Sincronizza modelli",
    syncSuccess: "Trovati {discovered} modelli, aggiunti {new} nuovi",
    syncNoNew: "Trovati {count} modelli, tutti già registrati",
    syncFailed: "Sincronizzazione modelli fallita",
    getApiKey: "Ottieni chiave API",
    vertexProject: "ID progetto GCP",
    vertexLocation: "Regione",
    vertexCredentials: "Percorso JSON account di servizio",
    addConfig: "Aggiungi configurazione",
    editConfig: "Modifica configurazione",
    deleteConfig: "Elimina configurazione",
    configName: "Nome configurazione",
    configNameHint: "Un nome descrittivo per questa configurazione (es. 'Produzione', 'Sviluppo')",
    baseUrl: "URL base",
    baseUrlOverrideHint: "Modifica solo se devi sovrascrivere l'endpoint API predefinito del provider.",
    deleteConfigConfirm: "Sei sicuro di voler eliminare '{name}'? Questa azione non può essere annullata.",
    configSaveSuccess: "Configurazione salvata con successo",
    configUpdateSuccess: "Configurazione aggiornata con successo",
    configDeleteSuccess: "Configurazione eliminata con successo",
    apiKeyEditHint: "Lascia vuoto per mantenere la chiave API esistente",
  },
  setupBanner: {
    encryptionRequired: "Chiave di crittografia non configurata",
    encryptionRequiredDescription: "Imposta la variabile d'ambiente OPEN_NOTEBOOK_ENCRYPTION_KEY per abilitare l'archiviazione sicura delle credenziali.",
    migrationAvailable: "Migrazione chiavi API disponibile",
    migrationDescription: "{count} provider hanno chiavi API impostate tramite variabili d'ambiente. Migrale nel database per una gestione più semplice.",
    goToSettings: "Vai alle Impostazioni",
    viewDocs: "Vedi documentazione",
  },
}
