{
"cli.bundle.add.adding": "Aggiunta pack al bundle...",
"cli.bundle.add.bundle": " Bundle: {}",
"cli.bundle.add.created_structure": "Struttura bundle creata in {}",
"cli.bundle.add.dry_run": "[dry-run] Il pack verrebbe aggiunto al bundle",
"cli.bundle.add.env": " Env: {}",
"cli.bundle.add.pack_ref": " Riferimento pack: {}",
"cli.bundle.add.resolved": " Pack risolti: {}",
"cli.bundle.add.success": "Pack aggiunto al bundle con successo.",
"cli.bundle.add.team": " Team: {}",
"cli.bundle.add.tenant": " Tenant: {}",
"cli.bundle.add.version_warning": "Avviso: convalida della versione {} non riuscita: {}",
"cli.bundle.build.building": "Costruzione bundle portatile...",
"cli.bundle.build.output": " Output: {}",
"cli.bundle.build.running_doctor": "Esecuzione validazione doctor...",
"cli.bundle.build.success": "Bundle costruito con successo in {}",
"cli.bundle.init.created": "Bundle creato in {}",
"cli.bundle.init.creating": "Creazione bundle in {}...",
"cli.bundle.init.exists": "Il bundle esiste gia in {}",
"cli.bundle.init.next_steps": "Prossimi passi:",
"cli.bundle.init.step_add": " 1. greentic-setup bundle add <pack.gtpack> --bundle {}",
"cli.bundle.init.step_setup": " 2. greentic-setup bundle setup --bundle {} --answers answers.yaml",
"cli.bundle.list.bundle": "Bundle: {}",
"cli.bundle.list.domain": "Dominio: {}",
"cli.bundle.list.packs_found": "Pack trovati: {}",
"cli.bundle.remove.cancelled": "rimozione annullata - usa --force per confermare",
"cli.bundle.remove.complete": "Provider rimosso: {}",
"cli.bundle.remove.confirm": "Questa operazione rimuovera la configurazione del provider.",
"cli.bundle.remove.removing": "Rimozione provider...",
"cli.bundle.remove.use_force": "Usa --force per confermare.",
"cli.bundle.setup.complete": "Configurazione provider completata: {}",
"cli.bundle.setup.domain": " Dominio: {}",
"cli.bundle.setup.dry_run": "[dry-run] Verrebbe configurato il provider: {}",
"cli.bundle.setup.emit_usage": "Modifica e usa con: greentic-setup bundle setup --answers {}",
"cli.bundle.setup.emit_written": "Modello risposte scritto in: {}",
"cli.bundle.setup.env_bootstrap_created": "Ambiente `local` inizializzato con associazioni di capacità predefinite in {}.",
"cli.bundle.setup.interactive_not_impl": "La configurazione interattiva non e ancora implementata.",
"cli.bundle.setup.provider": " Provider: {}",
"cli.bundle.setup.setting_up": "Configurazione provider...",
"cli.bundle.setup.use_answers": "Usa --answers <file> per fornire le risposte di configurazione.",
"cli.bundle.setup.use_emit_answers": "Oppure usa --emit-answers <file> per generare un modello di risposte.",
"cli.bundle.status.bundle_label": "Bundle: {}",
"cli.bundle.status.not_found": "Bundle non trovato: {}",
"cli.bundle.status.packs": "Pack: {} installati",
"cli.bundle.status.tenants": "Tenant: {}",
"cli.bundle.status.valid_no": "no (manca greentic.demo.yaml)",
"cli.bundle.status.valid_yes": "si",
"cli.bundle.update.complete": "Aggiornamento provider completato: {}",
"cli.bundle.update.dry_run": "[dry-run] Verrebbe aggiornato il provider: {}",
"cli.bundle.update.emit_usage": "Modifica e usa con: greentic-setup bundle update --answers {}",
"cli.bundle.update.updating": "Aggiornamento configurazione provider...",
"cli.error.answers_required": "--answers richiesto in modalita non interattiva",
"cli.error.failed_build_plan": "impossibile costruire il piano",
"cli.error.failed_create_bundle": "impossibile creare la struttura del bundle",
"cli.error.failed_emit_answers": "impossibile generare il modello delle risposte",
"cli.error.failed_execute_plan": "impossibile eseguire il piano",
"cli.error.failed_read_answers": "impossibile leggere il file delle risposte",
"cli.error.interactive_required": "la configurazione interattiva richiede il file --answers",
"cli.error.invalid_bundle": "directory bundle non valida",
"cli.help.for_help": "Per aiuto: greentic-setup --help",
"cli.simple.bundle_required": "Percorso bundle richiesto. Utilizzo: greentic-setup [OPTIONS] <BUNDLE>",
"cli.simple.dry_run": "[dry-run] Verrebbe configurato il bundle: {}",
"cli.simple.emit_usage": "Modifica e usa con: greentic-setup --answers {} {}",
"cli.simple.expected_bundle_format": "prevista directory o file .gtbundle: {}",
"cli.simple.extracted_to": " Estratto in: {}",
"cli.simple.extracting": "Estrazione archivio .gtbundle...",
"cli.simple.header": "Greentic Setup",
"cli.simple.interactive_mode": "Modalita wizard interattiva",
"cli.simple.wizard_not_impl": "wizard interattivo non ancora implementato - usa --answers <file>",
"env_wizard.basic_mode": "Modalità di base — passa --advanced per impostare anche ID cliente, override di configurazione, host di route, flusso di benvenuto e riferimenti ai secret dell'endpoint.",
"env_wizard.dry_run_secrets_note": "Nota: --dry-run mostra solo un'anteprima — i {} valori di secret incollati che hai inserito NON vengono scritti nello store. Riesegui senza --dry-run e conferma il piano per renderli persistenti.",
"env_wizard.form.desc": "Crea un manifest `greentic.env-manifest.v1` — il documento di stato desiderato durevole e riapplicabile per un ambiente.",
"env_wizard.form.title": "Configurazione ambiente",
"env_wizard.list.bundles.item_label": "bundle",
"env_wizard.list.messaging_endpoints.item_label": "Endpoint di messaggistica",
"env_wizard.list.secrets.item_label": "secret",
"env_wizard.manifest_prompt": "File manifest [{}]: ",
"env_wizard.q.bundle_id.desc": "Chiave naturale — univoca all'interno del manifest.",
"env_wizard.q.bundle_id.title": "ID bundle",
"env_wizard.q.bundle_path.desc": "`.gtbundle` locale. I percorsi relativi vengono risolti rispetto alla directory del file manifest.",
"env_wizard.q.bundle_path.title": "Percorso bundle",
"env_wizard.q.bundles.desc": "Distribuzioni dei bundle per questo ambiente.",
"env_wizard.q.bundles.title": "Bundle",
"env_wizard.q.config_overrides.desc": "Oggetto JSON `{\"<pack_id>\": {\"<key>\": <value>}}`. Vuoto = lascia invariato; `{}` = cancellazione esplicita.",
"env_wizard.q.config_overrides.title": "Override di configurazione (JSON)",
"env_wizard.q.customer_id.desc": "Principale di fatturazione — richiesto da apply per ambienti non `local`.",
"env_wizard.q.customer_id.title": "ID cliente",
"env_wizard.q.environment_id.desc": "Ambiente a cui applicare. `local` esegue il bootstrap con associazioni env-pack predefinite; qualsiasi altro ID deve già esistere (apply lo riconcilia; la creazione di ambienti non locali è riservata allo store dell'operatore).",
"env_wizard.q.environment_id.title": "ID ambiente",
"env_wizard.q.from_env.desc": "Nome della variabile che contiene il valore del secret (es. TELEGRAM_BOT_TOKEN) — il nome, mai il valore. Richiesto quando la sorgente è `env`.",
"env_wizard.q.from_env.title": "Nome variabile d'ambiente",
"env_wizard.q.links.desc": "`bundle_id` separati da virgole ammessi da questo endpoint.",
"env_wizard.q.links.title": "ID bundle collegati",
"env_wizard.q.messaging_endpoints.desc": "Endpoint di messaggistica e i relativi collegamenti ai bundle.",
"env_wizard.q.messaging_endpoints.title": "Endpoint di messaggistica",
"env_wizard.q.name.desc": "Handle locale al manifest e nome visualizzato. Chiave di upsert insieme al tipo di provider.",
"env_wizard.q.name.title": "Nome endpoint",
"env_wizard.q.path.desc": "`<tenant>/<team>/<pack>/<name>`, es. default/_/messaging-telegram/telegram_bot_token",
"env_wizard.q.path.title": "Percorso secret",
"env_wizard.q.provider_type.desc": "Classe del provider, es. messaging.telegram.bot.",
"env_wizard.q.provider_type.title": "Tipo di provider",
"env_wizard.q.public_base_url.desc": "URL solo origine salvato nell'ambiente (es. https://bots.example.com). Lascia vuoto per mantenere il valore corrente.",
"env_wizard.q.public_base_url.title": "URL base pubblico",
"env_wizard.q.route_hosts.desc": "Nomi host separati da virgole per l'associazione della route.",
"env_wizard.q.route_hosts.title": "Host di route",
"env_wizard.q.route_path_prefixes.desc": "Prefissi di percorso HTTP separati da virgole, ciascuno iniziante con `/` (es. /legal).",
"env_wizard.q.route_path_prefixes.title": "Prefissi percorso route",
"env_wizard.q.route_team.desc": "Team per il selettore tenant dell'associazione della route — impostalo insieme a `route_tenant`.",
"env_wizard.q.route_team.title": "Team route",
"env_wizard.q.route_tenant.desc": "Tenant per il selettore tenant dell'associazione della route — impostalo insieme a `route_team`.",
"env_wizard.q.route_tenant.title": "Tenant route",
"env_wizard.q.secret_refs.desc": "Riferimenti ai secret separati da virgole inoltrati alla creazione dell'endpoint.",
"env_wizard.q.secret_refs.title": "Riferimenti secret",
"env_wizard.q.secrets.desc": "Voci secret del dev-store. Il valore di ciascun secret proviene da una variabile d'ambiente nominata oppure da un valore che incolli — i valori non finiscono mai in un manifest.",
"env_wizard.q.secrets.title": "Secret",
"env_wizard.q.source.desc": "`env` legge il valore da una variabile d'ambiente nominata al momento di apply; `paste` consente di inserire il valore interattivamente — viene memorizzato nello store dei secret dell'env, mai nel manifest.",
"env_wizard.q.source.title": "Sorgente secret",
"env_wizard.q.trust_root_bootstrap.desc": "Inizializza la root di attendibilità dell'ambiente con la chiave dell'operatore locale (idempotente; richiesto una volta prima che i bundle possano essere preparati).",
"env_wizard.q.trust_root_bootstrap.title": "Inizializzare la radice di attendibilità?",
"env_wizard.q.webchat_gui.desc": "Espone la console webchat integrata così puoi chattare con questo ambiente aprendo il suo URL in un browser. Attiva per impostazione predefinita per `local`; il percorso della chat è solo loopback e non autenticato, quindi tienila disattivata per gli ambienti esposti su un URL pubblico, a meno che tu non lo voglia.",
"env_wizard.q.webchat_gui.title": "Aggiungere una GUI webchat?",
"env_wizard.q.welcome_bundle_id.desc": "Imposta insieme i tre campi welcome_* (o nessuno).",
"env_wizard.q.welcome_bundle_id.title": "Flusso di benvenuto: ID del bundle",
"env_wizard.q.welcome_flow_id.desc": "Imposta insieme i tre campi welcome_* (o nessuno).",
"env_wizard.q.welcome_flow_id.title": "Flusso di benvenuto: ID del flusso",
"env_wizard.q.welcome_pack_id.desc": "Imposta insieme i tre campi welcome_* (o nessuno).",
"env_wizard.q.welcome_pack_id.title": "Flusso di benvenuto: ID del pacchetto",
"env_wizard.secrets.choose": "Per ciascuno, scegli da dove proviene il valore: una variabile d'ambiente\ncon nome, oppure incollalo ora. I valori incollati vengono archiviati nell'archivio\nsegreti dell'ambiente — mai scritti nel manifest.",
"env_wizard.secrets.entry": "{} — {} (bundle: {}){}",
"env_wizard.secrets.envvar_prompt": "nome variabile d'ambiente [{}]: ",
"env_wizard.secrets.envvar_required": "È richiesto il nome di una variabile d'ambiente.",
"env_wizard.secrets.keep_env_note": "nota: mantenuto il segreto esistente `{}` (bundle non ricostruito)",
"env_wizard.secrets.keep_paste_note": "nota: mantenuto il segreto incollato esistente `{}` (bundle non ricostruito)",
"env_wizard.secrets.need": "Segreti — i bundle configurati richiedono {} segreto/i.",
"env_wizard.secrets.none": "Segreti — i bundle configurati non dichiarano segreti; niente da inserire.",
"env_wizard.secrets.optional_suffix": " [opzionale]",
"env_wizard.secrets.paste_prompt": "incolla valore (nascosto, riga singola): ",
"env_wizard.secrets.paste_prompt_keep": "incolla valore (nascosto, riga singola; vuoto mantiene il valore archiviato): ",
"env_wizard.secrets.paste_required": "È richiesto un valore.",
"env_wizard.secrets.path": "percorso segreto: {}",
"env_wizard.secrets.source_invalid": "Inserisci 1 (variabile d'ambiente) o 2 (incolla).",
"env_wizard.secrets.source_prompt": "valore da [1] variabile d'ambiente o [2] incollarlo ora? [{}]: ",
"env_wizard.wrote_manifest": "Scritto `{}` — il manifest è l'artefatto durevole; tienilo sotto controllo versione.",
"setup.answers.emitted": "Modello risposte scritto in {}",
"setup.answers.loaded": "Risposte caricate da {}",
"setup.capability.not_found": "Capability '{}' non trovata",
"setup.capability.resolved": "Capability risolta: pack_id={} stable_id={}",
"setup.discovering_packs": "Ricerca pack nel bundle...",
"setup.dry_run.header": "Piano di configurazione (dry-run):",
"setup.error.bundle_not_found": "Bundle non trovato: {}",
"setup.error.protocol_not_supported": "Protocollo non ancora supportato: {}",
"setup.error.version_mismatch": "La versione del tag ({}) non corrisponde alla versione del crate ({})",
"setup.execute.failed": "Configurazione fallita: {}",
"setup.execute.success": "Configurazione completata: {}",
"setup.found_packs": "Trovati {} pack: {}",
"setup.plan.header": "Piano di configurazione:",
"setup.plan.step.collect_answers": "Raccolta risposte per {}",
"setup.plan.step.discover": "Ricerca pack",
"setup.plan.step.resolve": "Generazione manifesto risolto",
"setup.plan.step.run_setup": "Esecuzione flusso di configurazione per {}",
"setup.plan.step.seed_secrets": "Inserimento segreti per {}",
"setup.plan.step.validate": "Validazione bundle",
"setup.plan.step.webhooks": "Registrazione webhook per {}",
"setup.plan.step.write_config": "Scrittura configurazione per {}",
"setup.qa.invalid_choice": "Scelta non valida. Opzioni: {}",
"setup.qa.list.add_first": "Aggiungere {}? [y/N] ",
"setup.qa.list.add_more": "Aggiungere un altro {}? [y/N] ",
"setup.qa.list.field_required_row": "Questo campo è obbligatorio — è necessaria almeno una riga.",
"setup.qa.list.max_reached": "(raggiunto il massimo di {} righe)",
"setup.qa.list.min_required": "Sono richieste almeno {} righe — ricevute {}. Digita 'y' per aggiungerne un'altra.",
"setup.qa.list.row_dropped": "(riga scartata — le colonne obbligatorie erano vuote)",
"setup.qa.list.row_header": "Riga #{}:",
"setup.qa.prompt.configuring": "Configurazione di {}: {}",
"setup.qa.prompt.default": "(predefinito: {}) ",
"setup.qa.prompt.field_required": "Questo campo è obbligatorio.",
"setup.qa.prompt.invalid_choice": "Scelta non valida. Opzioni: {}",
"setup.qa.prompt.invalid_format": "Formato non valido. Pattern previsto: {}",
"setup.qa.prompt.mode_advanced": " (avanzato)",
"setup.qa.prompt.optional_marker": " (opzionale)",
"setup.qa.prompt.required_marker": " (obbligatorio)",
"setup.qa.question_prompt": "{}",
"setup.qa.required_field": "Questo campo e obbligatorio",
"setup.qa.secret_input": "Inserisci il valore segreto (nascosto):",
"setup.secrets.failed": "Impossibile inserire i segreti per provider={} tenant={}: {}",
"setup.secrets.seeded": "Inseriti {} segreto/i per provider={} tenant={}",
"setup.state_store.fallback": "Utilizzo state store in memoria (nessun URL Redis disponibile)",
"setup.state_store.upgraded": "State store aggiornato a Redis: {}",
"ui.back": "Indietro",
"ui.close": "Chiudi",
"ui.configure": "Configura {}",
"ui.continue": "Continua",
"ui.dashboard.add_scope": "Aggiungi ambito",
"ui.dashboard.back": "Torna alla dashboard",
"ui.dashboard.configured": "configurato",
"ui.dashboard.delete": "Elimina",
"ui.dashboard.description": "Configura {} provider in {}. Crea più ambiti per tenant/ambienti diversi.",
"ui.dashboard.executed": "Eseguito",
"ui.dashboard.export": "Esporta risposte",
"ui.description": "Configura {} provider in {}",
"ui.discovering": "Ricerca dei provider in corso...",
"ui.discovering_sub": "Lettura della configurazione del bundle",
"ui.done": "Fatto",
"ui.execute_setup": "Esegui configurazione",
"ui.executing.sub": "Applicazione della configurazione al bundle",
"ui.executing.title": "Esecuzione della configurazione...",
"ui.export.description": "Scarica la configurazione come file JSON di risposte compatibile con la modalità --answers.",
"ui.export.download": "Scarica answers.json",
"ui.export.password": "Password di cifratura",
"ui.export.password_help": "Se impostata, i valori segreti saranno cifrati con AES-256-GCM. Questa password sarà necessaria quando usi --answers --key.",
"ui.export.password_hint": "Lascia vuoto per nessuna cifratura",
"ui.export.title": "Esporta risposte",
"ui.field.required": "{} è obbligatorio.",
"ui.import.decrypt_failed": "Decifratura non riuscita",
"ui.import.dropzone": "Trascina answers.json qui o fai clic per importare",
"ui.import.no_scopes": "Nessun ambito valido trovato nel file.",
"ui.import.parse_error": "Impossibile analizzare il file",
"ui.import.password_prompt": "Questo file contiene segreti cifrati. Inserisci la password di decifratura:",
"ui.new_setup": "Nuova configurazione",
"ui.no_providers": "Nessun provider trovato nel bundle.",
"ui.nothing_to_configure": "Nulla da configurare.",
"ui.pending": "In sospeso",
"ui.provider.configure": "Configura {}",
"ui.q.api_base_url": "URL di base API",
"ui.q.base_url": "URL di base",
"ui.q.channel_id": "ID canale",
"ui.q.default_channel": "Canale predefinito",
"ui.q.default_room_id": "ID stanza predefinito",
"ui.q.default_to_person_email": "Email persona predefinita",
"ui.q.enabled": "Abilita provider",
"ui.q.jwt_signing_key": "Chiave di firma JWT",
"ui.q.jwt_signing_key.help": "Chiave segreta usata per firmare i token Direct Line. Usa una stringa casuale qualsiasi (ad es. openssl rand -hex 32).",
"ui.q.mode": "Modalità",
"ui.q.ms_bot_app_id": "ID app bot",
"ui.q.ms_bot_app_id.help": "ID app bot Microsoft dalla registrazione di Azure Bot Service",
"ui.q.ms_bot_app_password": "Password app bot",
"ui.q.oauth_custom_auth_url": "URL di autorizzazione",
"ui.q.oauth_custom_client_id": "ID client",
"ui.q.oauth_custom_label": "Nome visualizzato del provider",
"ui.q.oauth_custom_scopes": "Ambiti",
"ui.q.oauth_custom_token_url": "URL del token",
"ui.q.oauth_enable_custom": "Abilita provider OIDC personalizzato",
"ui.q.oauth_enable_github": "Abilita accesso con GitHub",
"ui.q.oauth_enable_google": "Abilita accesso con Google",
"ui.q.oauth_enable_microsoft": "Abilita accesso con Microsoft",
"ui.q.oauth_enabled": "Abilita accesso OAuth",
"ui.q.oauth_enabled.help": "Richiedi agli utenti di accedere prima di usare la chat",
"ui.q.oauth_github_client_id": "ID client GitHub",
"ui.q.oauth_github_client_secret": "Secret client GitHub",
"ui.q.oauth_google_client_id": "ID client Google",
"ui.q.oauth_google_client_secret": "Secret client Google",
"ui.q.oauth_microsoft_client_id": "ID client Microsoft",
"ui.q.oauth_microsoft_client_secret": "Secret client Microsoft",
"ui.q.public_base_url": "URL di base pubblico",
"ui.q.public_base_url.help": "URL pubblico per i callback webhook (ad es. https://xxxx.trycloudflare.com)",
"ui.q.route": "Percorso",
"ui.q.slack_app_id": "ID app Slack",
"ui.q.slack_bot_token": "Token bot Slack",
"ui.q.slack_configuration_token": "Token di configurazione Slack",
"ui.q.team_id": "ID team",
"ui.q.tenant_channel_id": "ID canale tenant",
"ui.q.webex_bot_token": "Token bot Webex",
"ui.questions": "domande",
"ui.result.closed": "Configurazione chiusa.",
"ui.result.closed_sub": "Puoi chiudere questa scheda.",
"ui.result.fail.description": "Qualcosa è andato storto durante la configurazione.",
"ui.result.fail.title": "Configurazione non riuscita",
"ui.result.log": "Registro",
"ui.result.manual_steps": "Passaggi manuali richiesti",
"ui.result.output": "Output",
"ui.result.success.description": "Bundle configurato correttamente.",
"ui.result.success.title": "Configurazione completata",
"ui.review.description": "Rivedi la configurazione prima di applicarla al bundle.",
"ui.review.no": "No",
"ui.review.secret_mask": "********",
"ui.review.title": "Rivedi ed esegui",
"ui.review.yes": "Sì",
"ui.review_execute": "Rivedi ed esegui",
"ui.scope.description": "Configura il tenant, l'ambiente e il team di destinazione per questa configurazione.",
"ui.scope.detected_tenant": "Rilevato dal bundle: {}",
"ui.scope.env": "Ambiente",
"ui.scope.env_help": "Deve corrispondere a GREENTIC_ENV usato dal runtime (dev, local, test).",
"ui.scope.hint": "Questi valori determinano dove vengono archiviati segreti e configurazione. Assicurati che corrispondano alle impostazioni del runtime.",
"ui.scope.team": "Team",
"ui.scope.team_help": "Lascia vuoto per il valore predefinito. Usato per definire l'ambito dei segreti per team.",
"ui.scope.tenant": "Tenant",
"ui.scope.title": "Ambito di configurazione",
"ui.select_action": "Seleziona un'azione per iniziare.",
"ui.shared.description": "Queste domande si applicano a tutti i provider.",
"ui.shared.title": "Configurazione condivisa",
"ui.start_config": "Avvia configurazione",
"ui.title": "Configurazione Greentic"
}