it.yml
1020 lignes · 48707 octets
# Traduzioni italiane — rustwarden-ui # Sezioni: login, pagine utente, admin, navigazione # Accesso login: title: "Accesso" page_title: "Accesso" page_description: "Accesso al tuo account" subtitle: "Accedi al tuo account" username: "Nome utente o email" password: "Password" submit: "Accedi" remember_me: "Ricordami" tab_login: "Accesso" tab_register: "Registrazione" register_title: "Crea un account" register_submit: "Crea il mio account" username_placeholder: "Nome utente o email" password_placeholder: "La tua password" username_placeholder_register: "Il tuo nome utente (min. 3 caratteri)" username_pattern_register: "Solo minuscole, numeri e trattini, da 3 a 39 caratteri" password_placeholder_register: "La tua password (min. 8 caratteri)" email_placeholder: "tua@email.com" forgot_password: "Password dimenticata?" email_not_verified: "Email non verificata?" resend_verification: "Reinvia l'email di verifica" already_have_account: "Hai già un account?" sign_in_link: "Accedi" success_message: "Accesso riuscito! Reindirizzamento..." error_message: "Errore di accesso. Verifica le tue credenziali." email_unverified_message: "La tua email non è verificata. Clicca qui sotto per reinviare il link." resend_button: "Reinvia l'email di verifica" resend_success: "Email di verifica reinviata se l'account esiste." resend_error: "Impossibile inviare la richiesta al momento." resend_prompt: "Inserisci la tua email prima di reinviare." register_success: "Account creato con successo! Controlla la tua email." register_error: "Errore durante la registrazione" email_label: "Email" footer_text: "Account e autenticazione" # Richiesta del link di reimpostazione forgot_password: page_title: "Password dimenticata" title: "Password dimenticata" subtitle: "Inserisci il tuo indirizzo email. Se esiste un account, verrà inviato un link di reimpostazione." email_label: "Indirizzo email" email_placeholder: "tu@example.com" submit: "Invia il link" back_to_login: "Torna all'accesso" error_default: "Impossibile inviare la richiesta." success_default: "Se esiste un account per questo indirizzo, è stata inviata un'email di reimpostazione." error_missing_email: "Inserisci la tua email." error_cannot_send: "Impossibile inviare la richiesta al momento." # Reinvio email di verifica resend_verification: page_title: "Reinvia l'email di verifica - RustWarden" title: "Reinvia l'email di verifica" subtitle: "Inserisci il tuo indirizzo email per ricevere un nuovo link di verifica." email_label: "Indirizzo email" email_placeholder: "tu@example.com" submit: "Invia il link di verifica" back_to_login: "Torna all'accesso" error_default: "Impossibile inviare la richiesta." success_default: "Se l'account esiste e non è verificato, un'email è stata inviata." error_missing_email: "Inserisci la tua email." error_cannot_send: "Impossibile inviare la richiesta al momento." # Reimpostazione password (tramite link email) password_reset: page_title: "Reimposta la password" title: "Reimposta la password" subtitle: "Inserisci la tua nuova password qui sotto." new_password_label: "Nuova password" new_password_placeholder: "Nuova password sicura" requirements: "⚠️ Deve contenere: 8+ caratteri, maiuscola, minuscola, cifra, carattere speciale" confirm_password_label: "Conferma password" confirm_password_placeholder: "Conferma la tua nuova password" missing_token_url: "Token di reimpostazione mancante nell'URL." missing_token: "Token di reimpostazione mancante." missing_new_password: "Inserisci una nuova password." passwords_not_match: "Le password non corrispondono." success_message: "La tua password è stata reimpostata con successo. Ora puoi accedere." error_link_invalid: "Impossibile reimpostare la password. Il link potrebbe essere scaduto o non valido." error_generic: "Impossibile reimpostare la password al momento." # Pagina di accesso 2FA login_2fa: page_title: "Verifica 2FA" title: "Verifica in due passaggi" subtitle: "Inserisci il codice dalla tua app di autenticazione" code_label: "Codice di autenticazione" backup_code_label: "Codice di backup" verify_button: "Verifica" use_backup_code: "Usa un codice di backup" use_totp_code: "Usa il codice dell'app" back_to_login: "Torna all'accesso" error_invalid_code: "Codice non valido. Riprova." error_network: "Errore di rete. Riprova." # Sicurezza 2FA settings_security: page_title: "Sicurezza - RustWarden" title: "Autenticazione a due fattori" subtitle: "Proteggi il tuo account con un livello di sicurezza aggiuntivo" totp_title: "Autenticazione TOTP" status_enabled: "Attivata" status_disabled: "Disattivata" enabled_message: "Il tuo account è protetto dall'autenticazione a due fattori." disabled_message: "Aggiungi un livello di sicurezza aggiuntivo al tuo account attivando l'autenticazione a due fattori tramite un'app come Google Authenticator o Authy." enable_button: "Attiva 2FA" disable_button: "Disattiva 2FA" scan_qr: "Scansiona questo codice QR con la tua app di autenticazione" manual_entry: "Oppure inserisci questo codice manualmente" enter_code: "Inserisci il codice a 6 cifre dalla tua app" verify_button: "Verifica e attiva" backup_codes_title: "Codici di backup" backup_codes_warning: "Conserva questi codici in un luogo sicuro. Ogni codice può essere utilizzato una sola volta." backup_codes_remaining: "Codici di backup rimanenti" regenerate_button: "Rigenera codici" regenerate_confirm: "Sei sicuro? I vecchi codici verranno sostituiti." confirm_disable: "Inserisci la tua password per disattivare il 2FA" password_label: "Password attuale" copy_button: "Copia" saved_codes_button: "Ho salvato i miei codici" breadcrumb: "Sicurezza" force_2fa_message: "L'amministratore richiede l'autenticazione a due fattori. Devi configurare il 2FA prima di poter accedere al resto dell'applicazione." force_2fa_logout: "Disconnettersi" # Impostazioni settings: title: "Impostazioni" page_title: "Impostazioni - RustWarden" subtitle: "Gestisci le tue preferenze e impostazioni dell'account" profile_title: "Il mio Profilo" profile_desc: "Modifica le tue informazioni personali (nome utente, email)" password_title: "Password" password_desc: "Cambia la tua password per proteggere il tuo account" sessions_title: "Sessioni attive" sessions_desc: "Gestisci le tue sessioni attive e revoca l'accesso da altri dispositivi" preferences_title: "Preferenze" preferences_desc: "Personalizza la tua esperienza (tema, lingua)" access: "Accedi" info_title: "Informazioni" info_desc: "Utilizza le sezioni sopra per gestire i diversi aspetti del tuo account. Tutte le modifiche sono sicure e richiedono la tua autenticazione." language: "Lingua" language_description: "Scegli la tua lingua preferita" save: "Salva" saved: "Impostazioni salvate" # Pagina principale home: welcome: "Benvenuto, {username}!" subtitle: "Benvenuto nel tuo spazio personale" my_account: "Il mio Account" stat_username: "Nome utente" stat_email: "Email" stat_member_since: "Membro dal" stat_roles: "Ruoli" # Preferenze preferences: title: "Preferenze di visualizzazione" page_title: "Preferenze di visualizzazione" subtitle: "Personalizza l'aspetto dell'interfaccia" theme: "Tema" theme_light: "Chiaro" theme_light_desc: "Interfaccia luminosa e pulita" theme_dark: "Scuro" theme_dark_desc: "Riduce l'affaticamento degli occhi" theme_auto: "Automatico" theme_auto_desc: "Si adatta all'ora del giorno" theme_preview: "Il tema verrà applicato immediatamente dopo il salvataggio" language: "Lingua" language_fr: "Français" language_fr_desc: "Interfaccia in francese" language_en: "English" language_en_desc: "Interfaccia in inglese" language_de: "Deutsch" language_de_desc: "Interfaccia in tedesco" language_es: "Español" language_es_desc: "Interfaccia in spagnolo" language_it: "Italiano" language_it_desc: "Interfaccia in italiano" language_pt: "Português" language_pt_desc: "Interfaccia in portoghese" translation_warning: "La traduzione completa dell'interfaccia è in fase di sviluppo. Alcuni elementi potrebbero rimanere in francese." modified: "Preferenze modificate" modified_desc: "Salva le modifiche per applicarle" save: "Salva le preferenze" saving: "Salvataggio..." cancel: "Annulla" saved_success: "Preferenze salvate con successo!" saved_reload: "Preferenze salvate con successo!\n\nLa lingua è stata modificata. Vuoi ricaricare la pagina ora per applicare le modifiche?" error: "Errore: {message}" network_error: "Errore di rete. Riprova." sync_title: "Le tue preferenze sono sincronizzate" sync_desc: "Le tue preferenze di visualizzazione sono salvate e si applicano automaticamente su tutti i dispositivi connessi al tuo account." preview_dark: "Anteprima: Tema scuro verrà applicato" preview_light: "Anteprima: Tema chiaro verrà applicato" preview_auto: "Anteprima: Tema automatico verrà applicato" # Profilo profile: title: "Il mio Profilo" page_title: "Il mio Profilo" subtitle: "Modifica le tue informazioni personali" account_info: "Informazioni dell'account" username: "Nome utente" username_public: "Visibile pubblicamente" username_placeholder: "Il tuo nome utente" username_pattern: "Solo minuscole, numeri e trattini, da 3 a 39 caratteri" email: "Email" email_placeholder: "tua@email.com" save: "Salva le modifiche" saving: "Salvataggio..." saved: "Profilo aggiornato con successo" error: "Errore durante l'aggiornamento del profilo" email_label: "Indirizzo email" email_used_for: "Utilizzato per l'accesso" email_warning: "L'indirizzo attuale non si modifica qui." email_change_info: "Un link di conferma viene inviato al nuovo indirizzo. L'indirizzo attuale riceve un avviso. L'account cambia solo dopo la conferma." email_change_title: "Cambiare l'indirizzo email" new_email_label: "Nuovo indirizzo" current_password_label: "Password attuale" request_button: "Richiedere la modifica" email_change_error: "Impossibile inviare la richiesta." network_error: "Errore di rete. Riprova." username_help: "Da 3 a 39 caratteri (a-z, 0-9, -)" additional_info: "Informazioni aggiuntive" account_created: "Account creato il" roles: "Ruoli" linked_accounts_title: "Account collegati" no_linked_accounts: "Nessun account esterno collegato." linked_since: "Collegato dal" unlink_button: "Scollega" unlink_confirm: "Sei sicuro di voler scollegare questo account?" unlink_error: "Impossibile scollegare questo account." cannot_unlink_last: "Impossibile rimuovere l'ultimo metodo di autenticazione." # Breadcrumb breadcrumb: home: "Home" settings: "Impostazioni" admin: "Amministrazione" preferences: "Preferenze" profile: "Profilo" password: "Password" users: "Utenti" sessions: "Sessioni" # Admin admin: dashboard: title: "Amministrazione" heading: "Pannello di controllo Amministratore" users_card_title: "Utenti" users_card_subtitle: "Totale utenti" access_button: "Accedi" sessions_card_title: "Sessioni attive" sessions_card_subtitle: "Sessioni in corso" admins_card_title: "Amministratori" admins_card_subtitle: "Account admin" last_activity_card_title: "Ultima attività" last_activity_card_subtitle: "Ultimo accesso" audit_section_title: "Statistiche log di audit" audit_total_logs: "Totale log" audit_last_24h: "Ultime 24h" audit_by_level: "Per livello" chart_label: "Log per livello" view_logs: "Vedi i log" logs_card_title: "Log di audit" logs_card_desc: "Ultime azioni registrate: cambi di email, accessi bloccati." roles_card_title: "Gestione Ruoli" roles_card_desc: "Gestisci i ruoli e i permessi granulari" roles_stat_title: "Ruoli" settings_card_title: "Impostazioni Applicazione" settings_card_desc: "Configura le impostazioni globali dell'applicazione" apps_card_title: "Gestione Applicazioni" apps_card_desc: "Attiva o disattiva le applicazioni modulari" orgs_card_title: "Gestione Organizzazioni" orgs_card_desc: "Crea e gestisci le organizzazioni e i loro membri" orgs_stat_title: "Organizzazioni" orgs_members_stat_title: "Membri totali" logs: page_title: "Log di audit" heading: "Log di audit" empty: "Nessuna voce per ora." col_date: "Data" col_level: "Livello" col_action: "Azione" col_message: "Messaggio" roles_list: page_title: "Gestione dei ruoli" breadcrumb_roles: "Ruoli" title: "Ruoli" create_role: "Crea un ruolo" table_name: "Nome" table_description: "Descrizione" table_users: "Utenti" table_permissions: "Permessi" table_actions: "Azioni" edit: "Modifica" delete: "Elimina" no_roles: "Nessun ruolo trovato." protected_hint: "Protetto" delete_confirm_title: "Conferma eliminazione" delete_confirm_message: "Sei sicuro di voler eliminare il ruolo" delete_button: "Elimina" role_form: title_create: "Crea un ruolo" title_edit: "Modifica ruolo" breadcrumb_create: "Crea" breadcrumb_edit: "Modifica" back_to_list: "Torna alla lista" name_label: "Nome del ruolo" name_placeholder: "es: moderator" description_label: "Descrizione" description_placeholder: "Descrizione del ruolo..." permissions_label: "Permessi" protected_name_hint: "Il nome di questo ruolo non può essere modificato." cancel: "Annulla" submit_create: "Crea ruolo" submit_edit: "Salva modifiche" errors: title: "Codici di Errore" description: "Documentazione dei codici di errore dell'applicazione. Ogni codice di errore è associato a un middleware e fornisce informazioni di contesto per il debug." breadcrumb_errors: "Codici di Errore" table_code: "Codice" table_description: "Descrizione" table_category: "Categoria" table_middleware: "Middleware" table_context: "Contesto" table_example: "Esempio" legend_title: "Legenda" legend_code: "Identificatore unico dell'errore (formato: CATEGORY_NUMBER)" legend_description: "Descrizione dell'errore" legend_category: "Tipo di errore (Autenticazione, CSRF, Rate Limiting, ecc.)" legend_middleware: "Middleware responsabile della generazione di questo errore" legend_context: "Spiegazione dettagliata di quando si verifica questo errore" legend_example: "Esempio concreto di situazione che genera questo errore" error_auth001_desc: "Credenziali non valide" error_auth001_category: "Autenticazione" error_auth001_context: "L'utente ha fornito credenziali errate durante l'accesso" error_auth001_example: "Tentativo di accesso con password errata" error_auth002_desc: "Token non valido" error_auth002_category: "Autenticazione" error_auth002_context: "Il token JWT fornito non è valido o è malformato" error_auth002_example: "Token JWT corrotto o firmato con una chiave diversa" error_auth003_desc: "Token scaduto" error_auth003_category: "Autenticazione" error_auth003_context: "Il token JWT è scaduto e deve essere rinnovato" error_auth003_example: "Tentativo di accesso con un token scaduto dopo il periodo di validità" error_csrf001_desc: "Token CSRF mancante" error_csrf001_category: "Protezione CSRF" error_csrf001_context: "La richiesta POST/PUT/DELETE non contiene un token CSRF" error_csrf001_example: "Modulo inviato senza token CSRF nell'header o nel body" error_csrf002_desc: "Token CSRF non valido" error_csrf002_category: "Protezione CSRF" error_csrf002_context: "Il token CSRF fornito non corrisponde al token della sessione" error_csrf002_example: "Token CSRF modificato o rubato" error_rate001_desc: "Limite di frequenza superato" error_rate001_category: "Rate Limiting" error_rate001_context: "Il numero di richieste al minuto è stato superato" error_rate001_example: "Più di 100 richieste/min sugli endpoint admin" error_valid001_desc: "Dati di input non validi" error_valid001_category: "Validazione" error_valid001_context: "I dati forniti non rispettano le regole di validazione" error_valid001_example: "Email in formato non valido o campo obbligatorio mancante" error_valid002_desc: "Complessità della password non rispettata" error_valid002_category: "Validazione" error_valid002_context: "La password non rispetta le regole di complessità configurate" error_valid002_example: "Password troppo corta o mancante dei caratteri richiesti" error_rbac001_desc: "Permessi insufficienti" error_rbac001_category: "Autorizzazione" error_rbac001_context: "L'utente non ha i permessi necessari per questa azione" error_rbac001_example: "Utente non admin che tenta di accedere a /admin/users" error_rbac002_desc: "Ruolo amministratore richiesto" error_rbac002_category: "Autorizzazione" error_rbac002_context: "L'azione richiede il ruolo di amministratore" error_rbac002_example: "Tentativo di eliminazione utente senza ruolo admin" error_db001_desc: "Errore operazione database" error_db001_category: "Database" error_db001_context: "Un'operazione del database è fallita" error_db001_example: "Vincolo di chiave esterna violato o connessione DB persa" error_db002_desc: "Risorsa non trovata" error_db002_category: "Database" error_db002_context: "La risorsa richiesta non esiste nel database" error_db002_example: "Utente con ID inesistente" user_form: breadcrumb_create: "Crea" breadcrumb_edit: "Modifica" title_create: "Crea un utente" title_edit: "Modifica un utente" back_to_list: "Torna alla lista" username_label: "Nome utente" username_placeholder: "nome-utente" username_pattern: "Solo minuscole, numeri e trattini, da 3 a 39 caratteri" username_readonly_hint: "Il nome utente non può essere modificato dopo la creazione" email_label: "Email" email_placeholder: "utente@example.com" email_change_hint: "Cambiare l'indirizzo lo scrive subito, segna l'email come verificata e chiude le sessioni di questo utente." password_label: "Password" password_optional: "Opzionale" password_placeholder: "Lascia vuoto per generare una password casuale" password_hint: "Se lasciato vuoto, verrà generata automaticamente una password sicura" roles_label: "Ruoli" roles_hint: "Seleziona almeno un ruolo" must_change_password_label: "Forza cambio password" must_change_password_desc: "L'utente dovrà cambiare la password al prossimo accesso" cancel: "Annulla" submit_create: "Crea utente" submit_edit: "Salva modifiche" settings: title: "Impostazioni dell'Applicazione" page_title: "Impostazioni dell'Applicazione - Admin" subtitle: "Configurazione globale dell'applicazione" general: "Generale" app_name: "Nome dell'applicazione" app_domain: "Dominio" app_domain_placeholder: "example.com" app_description: "Descrizione" allow_registration: "Consenti la registrazione" allow_registration_desc: "Gli utenti possono creare account dalla pagina principale" email_validation_required: "Validazione email richiesta" email_validation_required_desc: "Gli utenti devono validare la loro email prima di poter accedere" save: "Salva le impostazioni" cancel: "Annulla" saved: "Impostazioni salvate con successo" error: "Errore durante il salvataggio" network_error: "Errore di rete. Riprova." password_security: "Sicurezza delle Password" password_min_length: "Lunghezza minima" password_min_length_hint: "Tra 6 e 128 caratteri" password_complexity: "Requisiti di complessità" require_uppercase: "Maiuscola richiesta" require_lowercase: "Minuscola richiesta" require_digits: "Cifra richiesta" require_special: "Carattere speciale richiesto" password_change_require_email: "Conferma via email del cambio password" password_change_require_email_desc: "Quando attivato, viene inviata un'email di conferma per validare qualsiasi cambio di password. Altrimenti, il cambio viene applicato immediatamente." password_expiration: "Scadenza delle password" password_expiration_desc: "Forza il cambio periodico" expiration_days: "Scadenza dopo (giorni)" expiration_alert: "Avviso email prima della scadenza" expiration_alert_days: "Avviso (giorni prima)" audit_logging: "Registrazione Audit" log_level: "Livello di log" log_level_debug: "DEBUG - Tutti i dettagli" log_level_info: "INFO - Informazioni normali" log_level_warn: "WARN - Solo avvertimenti" log_level_error: "ERROR - Solo errori" log_level_hint: "Controlla la verbosità dei log di audit" log_retention: "Conservazione dei log (giorni)" log_retention_hint: "Periodo di conservazione dei log (1-365 giorni)" audit_info_message: "I log di audit registrano tutte le azioni amministrative (creazione, modifica, eliminazione di utenti)." save_changes: "Salva le modifiche" save_changes_desc: "Le impostazioni verranno applicate immediatamente" saving: "Salvataggio..." save_success: "Impostazioni salvate con successo!" save_error_prefix: "Errore" oauth_sso_title: "OAuth / SSO" oauth_enabled_label: "Attiva OAuth" oauth_enabled_desc: "Consenti l'accesso tramite provider esterni (Google, GitHub, ecc.)" oauth_redirect_url_label: "URL di reindirizzamento base" oauth_redirect_url_desc: "URL base per i callback OAuth (es: https://miaapp.example.com)" oauth_auto_register_label: "Auto-registrazione" oauth_auto_register_desc: "Crea automaticamente un account se l'email non esiste" oauth_link_existing_label: "Collega account esistenti" oauth_link_existing_desc: "Collega automaticamente un account OAuth se l'email verificata corrisponde" oauth_client_id: "Client ID" oauth_client_secret: "Client Secret" oauth_tenant: "Tenant ID" oauth_redirect_uri: "URI di reindirizzamento" oauth_copy_uri: "Copia" oauth_secret_configured: "Configurato" oauth_secret_not_configured: "Non configurato" oauth_secret_change: "Modifica" oauth_restart_warning: "Le modifiche alle credenziali richiedono un riavvio dell'applicazione." oauth_env_info: "Le credenziali possono anche essere configurate tramite variabili d'ambiente (OAUTH_*_CLIENT_ID, ecc.)." oauth_google_label: "Google" oauth_google_desc: "OpenID Connect" oauth_github_label: "GitHub" oauth_github_desc: "OAuth2" oauth_discord_label: "Discord" oauth_discord_desc: "OAuth2" oauth_microsoft_label: "Microsoft" oauth_microsoft_desc: "OpenID Connect" # Audience measurement. The script URL is read-only here: it feeds # the CSP, which is frozen at startup (see config::analytics). analytics_title: 'Misurazione del pubblico' analytics_desc: 'Script di tracciamento di terze parti inserito nelle pagine. L''indirizzo dello script si configura tramite una variabile d''ambiente; le impostazioni seguenti si applicano senza riavvio.' analytics_enabled_label: 'Attiva la misurazione del pubblico' analytics_enabled_desc: 'Quando è disattivata, nessuno script di tracciamento viene inviato ai visitatori.' analytics_site_id_label: 'Identificativo del sito' analytics_site_id_desc: 'Fornito dal tuo servizio di misurazione del pubblico.' analytics_attributes_label: 'Attributi aggiuntivi' analytics_attributes_desc: 'Un oggetto JSON di attributi data-*, per esempio una coppia data-consent / opt-in.' analytics_script_url_label: 'Indirizzo dello script' analytics_script_url_desc: 'Sola lettura: questo indirizzo alimenta la Content Security Policy, fissata all''avvio. Si configura tramite ANALYTICS_SCRIPT_URL.' analytics_not_configured: 'Nessuno script di misurazione del pubblico è configurato. Imposta ANALYTICS_SCRIPT_URL e riavvia l''applicazione per attivare questa sezione.' users_list: page_title: "Gestione Utenti - Admin" title: "Gestione Utenti" breadcrumb_users: "Utenti" create_user: "Crea un utente" search_label: "Cerca" search_placeholder: "Nome utente o email..." role_filter_label: "Ruolo" all_roles: "Tutti i ruoli" per_page_label: "Per pagina" search_button: "Cerca" results_summary: "Visualizzazione di {count} utente/i su {total} totali" page_info: "Pagina {page} di {total_pages}" table_username: "Nome utente" table_email: "Email" table_roles: "Ruoli" table_created_at: "Creato il" table_last_login: "Ultimo accesso" table_actions: "Azioni" never: "Mai" edit: "Modifica" delete: "Elimina" reset_password: "Reimposta la password" no_users: "Nessun utente trovato" reset_password_title: "Reimposta la password" reset_generate: "Genera una password casuale" reset_custom: "Imposta una password personalizzata" reset_email: "Reimposta via email" reset_new_password_label: "Nuova password" reset_new_password_placeholder: "Minimo 8 caratteri, maiuscola, minuscola, cifra, carattere speciale" reset_password_requirements: "⚠️ Deve contenere: 8+ caratteri, maiuscola, minuscola, cifra, carattere speciale" reset_invalidate_sessions: "Invalida tutte le sessioni attive di questo utente" reset_invalidate_sessions_desc: "L'utente dovrà riconnettersi dopo la modifica" reset_button: "Reimposta" delete_confirm_title: "⚠️ Conferma eliminazione" delete_confirm_message: "Sei sicuro di voler eliminare questo utente?" delete_confirm_username: "Nome utente:" delete_confirm_email: "Email:" delete_irreversible: "Questa azione è irreversibile!" delete_button: "Elimina definitivamente" edit_user_title: "Modifica utente" delete_error: "Errore durante l'eliminazione dell'utente" network_error: "Errore di rete" resetting: "Reimpostazione..." reset_by_email_title: "Reimpostazione via email" close: "Chiudi" password_reset_success_title: "Password reimpostata" password_warning_once: "Questa password verrà mostrata una sola volta. Copiala ora!" new_password_label: "Nuova password" copy: "Copia" password_copied: "Password copiata negli appunti" password_set_success: "Password reimpostata con successo" reset_error: "Errore durante la reimpostazione della password" # Cambio password password: title: "Cambia la mia password" page_title: "Cambia la mia password" subtitle: "Modifica la tua password per proteggere il tuo account. Un'email di conferma ti verrà inviata per validare la modifica." subtitle_no_email: "Modifica la tua password per proteggere il tuo account." must_change_message: "⚠️ Devi cambiare la tua password prima di continuare." new_password: "Nuova password" current_password: "Password attuale" current_password_placeholder: "La tua password attuale" new_password_placeholder: "Nuova password sicura" required: "Obbligatorio" requirements: "📌 Rispetta i requisiti di complessità indicati di seguito." strength: "Sicurezza della password:" strength_weak: "Debole" strength_medium: "Media" strength_strong: "Forte ✓" strength_too_short: "troppo corta" strength_missing_lowercase: "minuscola mancante" strength_missing_uppercase: "maiuscola mancante" strength_missing_digit: "cifra mancante" strength_missing_special: "carattere speciale mancante" confirm_password: "Conferma la nuova password" confirm_password_placeholder: "Ripeti la nuova password" passwords_match: "✓ Le password corrispondono" passwords_not_match: "✗ Le password non corrispondono" change_button: "Cambia password" changing: "Modifica in corso..." logout_warning_title: "Disconnessione dalle altre sessioni" logout_warning_desc: "Tutte le tue altre sessioni attive verranno automaticamente disconnesse dopo il cambio di password. Solo la tua sessione attuale rimarrà attiva." save: "Salva la nuova password" saving: "Salvataggio..." saved: "Un'email di conferma è stata inviata al tuo indirizzo. Clicca sul link nell'email per validare il cambio di password." saved_direct: "Password cambiata con successo! Le tue altre sessioni sono state disconnesse." error: "Errore durante la modifica della password" error_all_fields_required: "Tutti i campi sono obbligatori." error_empty_data: "I dati da inviare sono vuoti." error_invalid_data: "Dati non validi. Verifica che tutti i campi siano compilati." error_incorrect_current: "Password attuale errata." error_reading_response: "Errore durante la lettura della risposta del server" error_415: "Errore 415: Il server non ha ricevuto i dati nel formato JSON atteso. Riprova." network_error: "Errore di rete. Riprova." security_tips_title: "Consigli di sicurezza" security_tip_unique: "Usa una password unica che non usi altrove" security_tip_share: "Non condividere mai la tua password con nessuno" security_tip_regular: "Cambia la tua password regolarmente (ogni 3-6 mesi)" security_tip_2fa: "Attiva l'autenticazione a due fattori se disponibile" security_tip_manager: "Usa un gestore di password per maggiore sicurezza" pending_request_message: "⚠️ Una richiesta di cambio password è in attesa di conferma via email." pending_request_info: "Un'email di conferma è stata inviata al tuo indirizzo. Clicca sul link nell'email per confermare la modifica." pending_request_cancel: "Annulla la richiesta in attesa" pending_request_canceled: "Richiesta annullata con successo" pending_request_cancel_error: "Errore durante l'annullamento della richiesta" confirmation_sent: "Email di conferma inviata! Controlla la tua casella di posta." confirmation_error: "Errore durante l'invio dell'email di conferma" # Sessioni sessions: title: "Sessioni attive" page_title: "Sessioni attive" subtitle: "Gestisci i dispositivi connessi al tuo account" current_session: "Sessione attuale" current_badge: "Attuale" unknown_device: "Dispositivo sconosciuto" ip_address: "Indirizzo IP:" created_at: "Creata il:" last_activity: "Ultima attività:" session_id: "ID Sessione:" revoke: "Revoca" revoke_confirm: "Sei sicuro di voler revocare la sessione per \"{device}\"?\n\nQuesto dispositivo verrà disconnesso immediatamente." revoke_success: "Sessione revocata con successo!" revoke_error: "Errore durante la revoca della sessione" no_sessions: "Nessuna sessione attiva" no_sessions_desc: "Non hai attualmente sessioni attive" danger_zone: "Zona pericolosa" danger_zone_desc: "Disconnetti tutti gli altri dispositivi in un'unica azione (la tua sessione attuale rimarrà attiva)." revoke_all: "Revoca tutte le altre sessioni" revoke_all_confirm: "⚠️ ATTENZIONE\n\nSei sicuro di voler revocare TUTTE le tue altre sessioni?\n\nTutti i tuoi altri dispositivi verranno disconnessi. Solo la tua sessione attuale rimarrà attiva." revoke_all_success: "Tutte le altre sessioni sono state revocate!" revoke_all_error: "Errore durante la revoca. Alcune sessioni potrebbero non essere state revocate." about_title: "Informazioni sulle sessioni" about_desc: "Una sessione viene creata ogni volta che accedi da un dispositivo o browser diverso. Revocare una sessione disconnette immediatamente quel dispositivo. La tua sessione attuale non può essere revocata da questa pagina (disconnettiti per farlo)." back_to_settings: "Torna alle impostazioni" # Menu di navigazione (navbar) nav: home: "Home" settings: "Impostazioni" admin: "Amministrazione" # Menu utente user_menu: profile: "Profilo" logout: "Disconnetti" settings: "Impostazioni" # Organizzazioni organisations: list: title: "Gestione delle Organizzazioni" create: "Crea un'organizzazione" search: "Cerca" search_placeholder: "Nome o descrizione..." no_organisations: "Nessuna organizzazione trovata" results_summary: "Risultati" manage_members: "Gestisci i membri" table: name: "Nome" description: "Descrizione" members: "Membri" created_at: "Creata il" actions: "Azioni" create: title: "Crea un'organizzazione" submit: "Crea" success: "Organizzazione creata con successo" error: already_exists: "L'organizzazione '{gid}' esiste già" invalid_gid: "Formato gid non valido: {gid}" generic: "Si è verificato un errore durante la creazione dell'organizzazione" edit: title: "Modifica l'organizzazione" submit: "Salva" update: success: "Organizzazione aggiornata con successo" delete: success: "Organizzazione eliminata con successo" confirm: "Sei sicuro di voler eliminare questa organizzazione? Questa azione è irreversibile." form: name_label: "Nome" name_placeholder: "Nome dell'organizzazione" description_label: "Descrizione" description_placeholder: "Descrizione dell'organizzazione (opzionale)" gid_label: "Identificatore (GID)" gid_placeholder: "identificatore-unico" gid_help: "Identificatore unico (lettere, numeri, underscore, max 64 caratteri)" members: title: "Membri dell'organizzazione" add_member: "Aggiungi un membro" search_user_label: "Cerca un utente" search_user_placeholder: "Nome utente o email..." no_members: "Nessun membro in questa organizzazione" back_to_list: "Torna alla lista" table: username: "Nome utente" role: "Ruolo" joined_at: "Iscritto il" actions: "Azioni" add_success: "Membro aggiunto con successo" remove_success: "Membro rimosso con successo" add_error: "Errore durante l'aggiunta del membro" remove_error: "Errore durante la rimozione del membro" user_not_found: "Utente '{search}' non trovato" error: organisation_not_found: "Organizzazione '{gid}' non trovata" already_member: "Questo utente è già membro dell'organizzazione" # Condivisione sharing: modal: title: "Condividi una risorsa" resource_label: "Risorsa" resource_type_label: "Tipo" expiration_label: "Data di scadenza (opzionale)" expiration_help: "La condivisione scadrà automaticamente a questa data" cancel_button: "Annulla" submit_button: "Condividi" close_button: "Chiudi" success_message: "Condivisione creata con successo" error_message: "Errore durante la creazione della condivisione" error: already_exists: "Questa condivisione esiste già per questa risorsa e questa organizzazione" components: share_button_label: "Condividi" permissions_label: "Permessi" permissions_help: "Scegli i permessi concessi per questa condivisione" share_with_label: "Condividi con" user_tab_label: "Utente" organisation_tab_label: "Organizzazione" select_user_label: "Seleziona un utente" search_user_placeholder: "Cerca un utente..." select_organisation_label: "Seleziona un'organizzazione" select_organisation_placeholder: "Scegli un'organizzazione..." no_organisations_message: "Nessuna organizzazione disponibile" permissions: read_only: "Sola lettura" read_only_value: "1" read_only_description: "Può solo consultare la risorsa" read_write: "Lettura + Scrittura" read_write_value: "3" read_write_description: "Può consultare e modificare la risorsa" all: "Tutti i permessi" all_value: "15" all_description: "Può consultare, modificare, eliminare e condividere" # Federazione ActivityPub - RFC 0021 fondamenta admin fediverse: settings: title: "Impostazioni federazione" breadcrumb: "Federazione" heading: "Impostazioni federazione ActivityPub" subtitle: "Attiva e configura la federazione con altre istanze Rustwarden e server compatibili ActivityPub. Funzionalità sperimentale." card_activation: "Attivazione" card_trust: "Fiducia" card_interop: "Interoperabilità" card_security: "Sicurezza avanzata" enabled_label: "Attiva la federazione ActivityPub (sperimentale)" enabled_desc: "Quando disattivata, le route /admin/fediverse/* diverse da questa pagina restituiscono 404." trust_mode_label: "Modalità di fiducia" trust_mode_allowlist: "Lista consentita (zero-trust, consigliato)" trust_mode_open: "Aperta con lista di blocco (stile Mastodon)" interop_scope_label: "Ambito di interoperabilità" interop_scope_rustwarden_only: "Solo Rustwarden (rifiuto cortese delle altre istanze)" interop_scope_rustwarden_plus: "Rustwarden + lettura universale" interop_scope_open: "Aperto (qualsiasi istanza ActivityPub)" authorized_fetch_label: "Authorized-fetch" authorized_fetch_desc: "Richiedi una firma HTTP per recuperare un attore remoto. Da attivare dopo audit." save_button: "Salva" saved_toast: "Impostazioni salvate." trust: title: "Domini di fiducia" breadcrumb: "Fiducia" heading: "Lista di fiducia della federazione" subtitle: "Gestisci i domini accettati o bloccati per la federazione ActivityPub. La modalità attiva (lista consentita o lista di blocco) si imposta nella pagina Impostazioni federazione." mode_allowlist: "Modalità lista consentita (zero-trust)" mode_blocklist: "Modalità lista di blocco (stile Mastodon)" add_legend: "Aggiungi un dominio" domain_label: "Dominio" domain_placeholder: "esempio.tld" note_label: "Nota (opzionale)" reason_label: "Motivo del blocco (opzionale)" severity_label: "Severità" severity_suspend: "Sospensione (rifiuto totale)" severity_silence: "Silenzio (filtraggio discreto)" severity_reject_auth: "Rifiuto solo dell'autenticazione" add_button: "Aggiungi" table_domain: "Dominio" table_note_or_reason: "Nota / Motivo" table_severity: "Severità" table_created_at: "Aggiunto il" table_actions: "Azioni" delete_button: "Elimina" delete_confirm_title: "Conferma eliminazione" delete_confirm_body: "Questa azione è irreversibile. Il dominio sottostante sarà rimosso dalla lista attiva." modal_cancel: "Annulla" modal_confirm: "Conferma eliminazione" empty_title: "Lista vuota" empty_body: "Nessun dominio configurato. Aggiungine uno per iniziare a federare." saved_toast: "Lista aggiornata." auth: error: page_title: "Errore di autenticazione federata" subtitle: "Si è verificato un errore durante l'autenticazione ActivityPub." back_to_login: "Torna all'accesso" timeout: title: "Timeout della richiesta" body: "La tua istanza di origine non ha risposto in tempo. Verifica che sia raggiungibile e riprova tra qualche istante." rejected: title: "Richiesta rifiutata" body: "La tua istanza di origine ha rifiutato la richiesta di autenticazione. Se non hai avviato tu questo tentativo, puoi ignorarlo senza problemi." untrusted: title: "Dominio non autorizzato" body: "Il dominio della tua identità non è nella lista di fiducia di questa istanza. Contatta l'amministratore se pensi che sia un errore." invalid_signature: title: "Firma non valida" body: "La firma della tua istanza di origine non ha potuto essere verificata. Può indicare una configurazione errata o un tentativo malevolo." unknown: title: "Errore sconosciuto" body: "Si è verificato un errore inatteso. Riprova o contatta l'amministratore se il problema persiste." login: page_title: "Accesso ActivityPub" subtitle: "Accedi con un'identità ospitata su un'altra istanza federata." heading: "Accedi con un'identità ActivityPub" field_label: "Identità" field_placeholder: "@user@istanza.tld" field_help: "Formato Mastodon: @ seguito dal nome utente, poi @, poi il dominio dell'istanza." submit: "Continua" back_to_login: "Torna all'accesso classico" waiting: page_title: "Autenticazione in corso" subtitle: "Attendi mentre la tua istanza di origine approva la richiesta." heading: "Autenticazione in corso…" explainer: "La tua istanza di origine deve confermare la tua identità. Questa pagina si aggiornerà automaticamente non appena arriva una risposta (fino a 5 minuti)." cancel: "Annulla" consent: page_title: "Conferma un accesso federato" heading: "Un'istanza richiede un'autenticazione" explainer: "Un'istanza federata vuole autenticarti dal suo lato. Verifica il dominio e l'identità qui sotto prima di approvare." label_requester: "Dominio richiedente" label_handle: "Identità coinvolta" approve: "Approva" reject: "Rifiuta" already_decided: "Questa richiesta è già stata gestita." queue: title: "Coda uscente della federazione" breadcrumb: "Coda uscente" heading: "Consegne in uscita" subtitle: "Pannello delle attività ActivityPub da distribuire alle istanze remote. Mostrate le ultime 100 righe." stats_pending: "In attesa" stats_delivered: "Consegnate" stats_failed: "Fallite" stats_dead: "Morte" table_activity: "Attività" table_target: "Destinazione" table_status: "Stato" table_attempts: "Tentativi" table_last_error: "Ultimo errore" table_next_retry: "Prossimo tentativo" table_created_at: "Creata il" empty_title: "Coda vuota" empty_body: "Nessuna attività in uscita. Il worker è sano o la federazione non ha ancora prodotto attività." sessions_remote: title: "Sessioni remote" breadcrumb: "Sessioni remote" heading: "Sessioni remote attive" subtitle: "Identità federate che hanno contattato questa istanza e non sono disattivate. Revoca = contrassegna come disabilitata (le sessioni JWT remote corrispondenti saranno rifiutate)." kill_switch_legend: "Kill switch per dominio" kill_switch_label: "Disattiva tutte le identità di un dominio" kill_switch_button: "Disattiva il dominio" kill_switch_confirm_title: "Conferma il kill switch" kill_switch_confirm_body: "Tutte le identità federate del dominio sottostante saranno contrassegnate come disabilitate. Questa azione è irreversibile dalla UI (un nuovo accesso federato ricreerà la riga)." table_handle: "Handle" table_display_name: "Nome visualizzato" table_domain: "Dominio" table_last_seen: "Vista l'ultima volta" table_actions: "Azioni" revoke_button: "Revoca" revoke_confirm_title: "Conferma la revoca" revoke_confirm_body: "Questa identità sarà contrassegnata come disabilitata. La prossima verifica JWT remota la rifiuterà." modal_cancel: "Annulla" modal_confirm: "Conferma" empty_title: "Nessuna sessione remota" empty_body: "Nessuna identità federata ha ancora contattato questa istanza, o tutte sono state disattivate." saved_toast: "Azione completata." admin: tabs: settings: "Impostazioni" trust_list: "Lista di fiducia" queue: "Coda di invio" sessions_remote: "Sessioni remote" nodeinfo: "NodeInfo" invites: "Inviti" hub: title: "Federazione ActivityPub" subtitle: "Pannello di controllo centralizzato per gestire la federazione con altre istanze Rustwarden e compatibili ActivityPub." card: settings: title: "Impostazioni" desc: "Attivare la federazione, scegliere la modalità di fiducia, l'ambito di interoperabilità e l'authorized-fetch." trust_list: title: "Lista di fiducia" desc: "Gestire i domini accettati (allowlist) o bloccati (blocklist)." queue: title: "Coda di invio" desc: "Dashboard operatore per la coda di consegna in uscita (RFC 0011 + RFC 0019)." sessions_remote: title: "Sessioni remote" desc: "Identità federate attive, kill switch per identità o per dominio." nodeinfo: title: "NodeInfo" desc: "Statistiche umanizzate dell'istanza federata (NodeInfo 2.1)." invites: title: "Inviti" desc: "Invitare un account remoto a unirsi a un team (vista per team)." teams_for_invites: title: "Scegliere un team per gestire i suoi inviti" breadcrumb: "Inviti" heading: "Inviti federati per team" subtitle: "Selezionare un team per visualizzare e creare inviti verso account remoti." empty_title: "Nessun team" empty_body: "Creare prima un team per poter invitare account federati." # Statistiche NodeInfo (RFC 0024 Slice C iter. 3). Namespace di primo # livello dedicato per non riaprire `fediverse:` (che sovrascriverebbe # settings/trust/auth/queue/sessions_remote sotto yaml-rust2). fediverse_nodeinfo: title: "NodeInfo - Statistiche federazione" breadcrumb: "NodeInfo" heading: "NodeInfo - Statistiche umanizzate" subtitle: "Panoramica della configurazione runtime + statistiche utenti locali e identità remote." card_software: "Software" card_runtime: "Configurazione runtime" card_users: "Utenti locali" card_remotes: "Identità remote" label_name: "Nome" label_version: "Versione" label_domain: "Dominio" label_enabled: "Federazione attivata" label_trust_mode: "Modalità di fiducia" label_interop_scope: "Ambito interop" label_authorized_fetch: "Authorized-fetch" label_users_total: "Totale" label_users_active_month: "Attivi 30 giorni" label_users_active_halfyear: "Attivi 180 giorni" label_remote_identities_active: "Attive" label_remote_distinct_domains: "Domini distinti" # Inviti team cross-istanza (RFC 0024 Slice C iter. 4). fediverse_invites: title: "Inviti team federati" breadcrumb: "Inviti" heading: "Inviti cross-istanza" subtitle: "Invita un'identità ActivityPub a unirsi al team:" add_legend: "Invita tramite handle" handle_label: "Handle dell'utente" handle_placeholder: "@user@istanza.tld" role_label: "Ruolo" role_member: "Membro" role_admin: "Amministratore" role_owner: "Proprietario" add_button: "Invia l'invito" table_handle: "Handle invitato" table_role: "Ruolo" table_status: "Stato" table_created_at: "Inviato il" table_actions: "Azioni" revoke_button: "Revoca" revoke_confirm_title: "Conferma la revoca" revoke_confirm_body: "L'invito sarà annullato. Se è già stato accettato, l'identità sarà rimossa dal team tramite il segnale Revoke{Membership} (RFC 0010)." modal_cancel: "Annulla" modal_confirm: "Conferma" empty_title: "Nessun invito" empty_body: "Nessun invito è stato ancora inviato per questo team." saved_toast: "Azione completata." # App federate connesse (RFC 0024 Slice C iter. 5). fediverse_connected_apps: page_title: "App federate connesse" heading: "Le mie app federate connesse" subtitle: "Istanze ActivityPub dove ti sei autenticato con la tua identità di questo server." table_domain: "Istanza" table_count: "Sessioni" table_last_seen: "Ultima attività" empty_title: "Nessuna app federata" empty_body: "Non hai ancora approvato alcuna autenticazione federata verso un'altra istanza." revoke_note: "Nota: la revoca manuale di una sessione remota da questa pagina sarà disponibile con la RFC 0006 Fase 2 (blacklist JWT remoto). Nel frattempo, chiedi all'amministratore tramite /admin/fediverse/sessions_remote o aspetta la scadenza naturale del JWT." back_to_profile: "Torna al profilo" # Pagina di accettazione invito team cross-istanza (RFC 0024 Slice C iter. 6). fediverse_invite_landing: page_title: "Invito a un team" heading: "Hai ricevuto un invito" explainer: "Un team di un'altra istanza federata ti invita a unirti. Verifica i dettagli qui sotto prima di rispondere." team_label: "Team" role_label: "Ruolo proposto" status_label: "Stato" accept_button: "Accetta" reject_button: "Rifiuta" already_decided: "Questo invito è già stato gestito." cannot_accept_note: "Per accettare, devi essere connesso con un'identità federata (accesso dalla tua istanza di origine). Puoi rifiutare da questo account locale, ma l'accettazione passa attraverso il flow AP-nativo." # Pagina 404 (route sconosciuta) http_errors: not_found_title: "Pagina non trovata" not_found_message: "Questo indirizzo non corrisponde a nessuna pagina." code_label: "Errore 404" home: "Torna alla home" login: "Accedi" analytics: opt_out: hint: 'Puoi opporti alla misurazione del pubblico in qualsiasi momento. La tua scelta è salvata nel browser e ha effetto al prossimo caricamento della pagina.' opt_out_label: 'Opporsi alla misurazione del pubblico' opt_in_label: 'Riattivare la misurazione del pubblico' opted_out_badge: 'Hai espresso opposizione'
GitRust