screentinker/frontend/js/i18n/it.js
2026-05-09 15:58:48 +02:00

1109 lines
56 KiB
JavaScript

// Italian translations. This file is the source of truth for keys —
// every other locale should mirror its keys (or fall back to en).
export default {
// Nav (sidebar)
'nav.displays': 'Schermi',
'nav.content': 'Contenuti',
'nav.playlists': 'Playlist',
'nav.layouts': 'Layout',
'nav.widgets': 'Widget',
'nav.schedule': 'Programmazione',
'nav.walls': 'Video Wall',
'nav.reports': 'Report',
'nav.kiosk': 'Chiosco',
'nav.designer': 'Designer',
'nav.activity': 'Attività',
'nav.teams': 'Team',
'nav.help': 'Aiuto',
'nav.settings': 'Impostazioni',
'nav.subscription': 'Abbonamento',
'nav.admin': 'Admin',
// Common (shared across views)
'common.save': 'Salva',
'common.cancel': 'Annulla',
'common.delete': 'Elimina',
'common.edit': 'Modifica',
'common.done': 'Fatto',
'common.loading': 'Caricamento...',
'common.connected': 'Connesso',
'common.disconnected': 'Disconnesso',
'common.never': 'Mai',
'common.just_now': 'Proprio ora',
'common.minutes_ago': '{n}m fa',
'common.hours_ago': '{n}h fa',
'common.days_ago': '{n}g fa',
'common.unknown': 'Sconosciuto',
// Auth (login view)
'auth.sign_in': 'Accedi',
'auth.sign_out': 'Esci',
'auth.create_account': 'Crea Account',
'auth.create_admin_account': 'Crea Account Admin',
'auth.email': 'Email',
'auth.password': 'Password',
'auth.name': 'Nome',
'auth.placeholder_email': 'tu@esempio.it',
'auth.placeholder_password': '••••••••',
'auth.placeholder_name': 'Il tuo nome',
'auth.placeholder_register_password': 'Almeno 6 caratteri',
'auth.subtitle_setup': 'Crea il tuo account admin per iniziare',
'auth.subtitle_signin': 'Accedi per gestire i tuoi schermi',
'auth.trial_notice': 'I nuovi account ricevono una prova gratuita Pro di 14 giorni',
'auth.divider_or': 'OPPURE',
'auth.signin_google': 'Accedi con Google',
'auth.signin_microsoft': 'Accedi con Microsoft',
'auth.back_to_signin': 'Torna all\'accesso',
'auth.support_access': 'Accesso Supporto',
'auth.support_token_placeholder': 'Incolla il token di supporto',
'auth.support_authenticate': 'Autenticati con Token di Supporto',
'auth.terms': 'Termini di Servizio',
'auth.privacy': 'Informativa sulla Privacy',
'auth.error_email_password_required': 'Email e password richieste',
'auth.error_password_min_6': 'La password deve contenere almeno 6 caratteri',
'auth.error_login_failed': 'Accesso fallito',
'auth.error_registration_failed': 'Registrazione fallita',
'auth.error_paste_support_token': 'Incolla un token di supporto',
'auth.error_support_failed': 'Accesso supporto fallito',
'auth.error_google_failed': 'Accesso con Google fallito',
'auth.error_microsoft_failed': 'Accesso con Microsoft fallito',
// Dashboard
'dashboard.title': 'Schermi',
'dashboard.subtitle': 'Gestisci i tuoi schermi remoti',
'dashboard.help_tip': 'I tuoi dispositivi associati. Verde = online, rosso = offline. Clicca su un dispositivo per gestire la sua playlist, visualizzare la telemetria o usare il controllo remoto.',
'dashboard.add': 'Aggiungi Schermo',
'dashboard.create_group': '+ Gruppo',
'dashboard.search': 'Cerca schermi...',
'dashboard.all_status': 'Tutti gli stati',
'dashboard.online': 'Online',
'dashboard.offline': 'Offline',
'dashboard.awaiting_pairing': 'In attesa di associazione',
'dashboard.no_preview': 'Nessuna anteprima disponibile',
'dashboard.total_displays': 'Schermi Totali',
'dashboard.ungrouped': 'Non raggruppati',
'dashboard.no_displays': 'Nessun schermo presente',
'dashboard.no_displays_desc': 'Installa l\'app ScreenTinker sulla tua TV e associala usando il pulsante sopra.',
'dashboard.failed_to_load': 'Caricamento schermi fallito',
'dashboard.unknown_playlist': 'Playlist sconosciuta',
'dashboard.mixed_playlists': 'Playlist miste',
'dashboard.playlist_label': 'Playlist: {name}',
'dashboard.devices_count_one': '{n} dispositivo',
'dashboard.devices_count_other': '{n} dispositivi',
'dashboard.online_count': '{n} online',
'dashboard.set_playlist_placeholder': 'Imposta Playlist...',
'dashboard.send_command_placeholder': 'Invia Comando...',
'dashboard.manage': 'Gestisci',
'dashboard.manage_tooltip': 'Aggiungi/rimuovi dispositivi',
'dashboard.delete_group_tooltip': 'Elimina gruppo',
'dashboard.no_devices_in_group': 'Nessun dispositivo in questo gruppo. Clicca Gestisci per aggiungerne.',
'dashboard.manage_group_subtitle': 'Seleziona i dispositivi per aggiungerli a questo gruppo',
'dashboard.draft_suffix': '(bozza)',
// Group commands
'dashboard.cmd.screen_on': 'Accendi Schermo',
'dashboard.cmd.screen_off': 'Spegni Schermo',
'dashboard.cmd.restart_app': 'Riavvia App',
'dashboard.cmd.check_update': 'Controlla Aggiornamenti',
'dashboard.cmd.reboot': 'Riavvia Sistema',
'dashboard.cmd.shutdown': 'Spegni',
// Dashboard prompts/confirms
'dashboard.prompt_group_name': 'Nome gruppo:',
'dashboard.error_pairing_code': 'Inserisci un codice di associazione valido di 6 cifre',
'dashboard.confirm_add_to_group': '{name} è già presente in: {groups}\n\nAggiungerlo anche a "{target}"?',
'dashboard.confirm_assign_playlist': 'Assegnare la playlist "{playlist}" a tutti i dispositivi in "{group}"?',
'dashboard.confirm_destructive_command': 'Eseguire {cmd} su tutti i {n} dispositivi in "{group}"?\n\nL\'azione è irreversibile.',
'dashboard.confirm_delete_group': 'Eliminare questo gruppo? I dispositivi non verranno rimossi dal sistema.',
// Dashboard toasts
'dashboard.toast.display_paired': 'Schermo associato con successo!',
'dashboard.toast.group_created': 'Gruppo creato',
'dashboard.toast.group_deleted': 'Gruppo eliminato',
'dashboard.toast.already_in_group': '{name} è già in {group}',
'dashboard.toast.moved_device': 'Spostato {name} in {group}',
'dashboard.toast.removed_device_one': 'Rimosso {name} da 1 gruppo',
'dashboard.toast.removed_device_other': 'Rimosso {name} da {n} gruppi',
'dashboard.toast.playlist_assigned_one': 'Playlist assegnata a 1 dispositivo',
'dashboard.toast.playlist_assigned_other': 'Playlist assegnata a {n} dispositivi',
'dashboard.toast.command_sent': 'Comando {cmd} inviato a {sent}/{total} dispositivi',
'dashboard.toast.command_sent_with_offline': 'Comando {cmd} inviato a {sent}/{total} dispositivi ({offline} offline)',
// Content library
'content.title': 'Libreria Contenuti',
'content.subtitle': 'Carica e gestisci i tuoi file multimediali',
'content.help_tip': 'Carica video e immagini qui. Seleziona più file per il caricamento di massa. Usa "URL Remoto" per lo streaming da fonti esterne. Clicca su un\'anteprima per visualizzarla.',
'content.drop': 'Trascina i file qui o clicca per caricare',
'content.upload_hint': 'Supporta MP4, WebM, AVI, MKV, JPEG, PNG, GIF, WebP',
'content.upload_progress': 'Caricamento...',
'content.upload_progress_named': 'Caricamento di {name}...',
'content.upload_progress_named_pct': 'Caricamento di {name}... {pct}%',
// Remote URL panel
'content.remote_url': 'URL Remoto',
'content.remote_desc': 'Riproduci direttamente da un URL. Risparmia larghezza di banda locale.',
'content.remote_url_placeholder': 'https://esempio.it',
'content.remote_name_placeholder': 'Nome visualizzato (opzionale)',
'content.remote_add_btn': 'Aggiungi URL Remoto',
// YouTube panel
'content.youtube': 'YouTube',
'content.youtube_desc': 'Incorpora un video di YouTube sui tuoi schermi.',
'content.youtube_url_placeholder': 'https://youtube.com/watch?v=...',
'content.youtube_name_placeholder': 'Nome visualizzato (opzionale)',
'content.youtube_add_btn': 'Aggiungi Video YouTube',
// Search / folders
'content.search_placeholder': 'Cerca contenuti...',
'content.new_folder_btn': '+ Nuova Cartella',
'content.breadcrumb_root': 'Tutti i Contenuti',
'content.rename_btn': 'Rinomina',
'content.delete_folder_btn': 'Elimina cartella',
'content.prompt_folder_name': 'Nome cartella:',
'content.prompt_rename_folder': 'Rinomina cartella:',
'content.confirm_delete_folder': 'Eliminare questa cartella? I contenuti all\'interno torneranno al livello principale. Anche le sottocartelle verranno eliminate.',
// Empty states
'content.empty_folder_title': 'Questa cartella è vuota',
'content.empty_folder_desc': 'Trascina i contenuti qui o usa l\'azione Sposta.',
'content.no_content': 'Ancora nessun contenuto',
'content.no_content_desc': 'Carica video e immagini per iniziare.',
'content.failed_to_load': 'Caricamento contenuti fallito',
// Item type labels
'content.type_youtube': 'YouTube',
'content.type_remote': 'URL Remoto',
'content.type_remote_short': 'Remoto',
'content.type_video': 'Video',
'content.type_image': 'Immagine',
// Item action buttons
'content.btn_edit': 'Modifica',
'content.btn_delete': 'Elimina',
'content.btn_confirm_delete': 'Confermi l\'eliminazione?',
'content.btn_deleting': 'Eliminazione...',
// Edit modal
'content.edit_modal_title': 'Modifica Contenuto',
'content.label_filename': 'Nome file / Nome visualizzato',
'content.label_remote_url_field': 'URL Remoto',
'content.label_mime_type': 'Tipo MIME',
'content.label_folder': 'Cartella',
'content.label_replace_file': 'Sostituisci File',
'content.replace_file_hint': 'Lascia vuoto per mantenere il file attuale',
'content.folder_root_option': '— Root (Principale) —',
'content.save_changes': 'Salva Modifiche',
// MIME options
'content.mime.video_mp4': 'Video (MP4)',
'content.mime.video_webm': 'Video (WebM)',
'content.mime.image_jpeg': 'Immagine (JPEG)',
'content.mime.image_png': 'Immagine (PNG)',
'content.mime.image_gif': 'Immagine (GIF)',
'content.mime.image_webp': 'Immagine (WebP)',
// Content errors / toasts
'content.error_enter_url': 'Inserisci un URL',
'content.error_enter_youtube_url': 'Inserisci un URL di YouTube',
'content.error_update_failed': 'Aggiornamento fallito',
'content.toast.remote_added': 'Contenuto remoto aggiunto',
'content.toast.youtube_added': 'Video YouTube aggiunto',
'content.toast.deleted': 'Contenuto eliminato',
'content.toast.updated': 'Contenuto aggiornato',
'content.toast.uploaded_named': '{name} caricato con successo',
'content.toast.upload_failed_named': 'Caricamento di {name} fallito: {error}',
'content.toast.folder_created_named': 'Cartella "{name}" creata',
'content.toast.folder_renamed': 'Cartella rinominata',
'content.toast.folder_deleted': 'Cartella eliminata',
'content.toast.moved': 'Spostato',
'content.toast.moved_to_root': 'Spostato nella cartella principale',
// Device detail
'device.back': 'Torna a Schermi',
'device.owner_label': 'Proprietario: {owner}',
'device.rename': 'Rinomina',
'device.screenshot_btn': 'Screenshot',
'device.remove': 'Rimuovi',
'device.click_to_confirm': 'Clicca di nuovo per confermare',
'device.prompt_new_name': 'Inserisci il nuovo nome:',
'device.confirm_discard_draft': 'Scartare tutte le modifiche non pubblicate e tornare all\'ultima versione pubblicata?',
'device.failed_load': 'Caricamento dispositivo fallito',
'device.no_screenshot': 'Nessuno screenshot disponibile. Clicca "Screenshot" per catturarne uno.',
'device.no_content_assigned': 'Nessun contenuto assegnato',
'device.now_playing_id': 'In riproduzione: {id}',
'device.playlist_count_one': '1 elemento in playlist',
'device.playlist_count_other': '{n} elementi in playlist',
// Tabs
'device.tab.now_playing': 'In riproduzione',
'device.tab.now_playing_tip': "Screenshot dal vivo di ciò che è attualmente visualizzato su questo dispositivo.",
'device.tab.playlist': 'Playlist',
'device.tab.playlist_tip': 'Contenuti assegnati a questo dispositivo. Trascina gli elementi per riordinarli. Aggiungi media, widget o pagine chiosco.',
'device.tab.info': 'Info Dispositivo',
'device.tab.info_tip': 'Telemetria hardware, impostazioni orientamento, note e controlli del dispositivo.',
'device.tab.remote': 'Telecomando',
'device.tab.remote_tip': 'Visualizza lo schermo del dispositivo in tempo reale e invia comandi. Funziona su APK Android e web player.',
// Draft banner
'device.draft.banner_title': 'Modifiche non pubblicate',
'device.draft.devices_showing_published': 'I dispositivi mostrano ancora l\'ultima versione pubblicata.',
'device.draft.never_published': 'Questa playlist non è mai stata pubblicata. I dispositivi non mostreranno nulla fino alla pubblicazione.',
'device.draft.discard': 'Scarta',
'device.draft.publish': 'Pubblica',
'device.draft.publishing': 'Pubblicazione...',
// Layout selector
'device.layout.label': 'Layout Schermo',
'device.layout.fullscreen_default': 'Schermo intero (predefinito)',
'device.layout.zones_count': '{name} ({n} zone)',
'device.layout.template_zones_count': '[Modello] {name} ({n} zone)',
'device.layout.apply': 'Applica',
// Playlist tab
'device.playlist.label': 'Playlist',
'device.playlist.no_playlist': 'Nessuna playlist',
'device.playlist.copy_to_btn': 'Copia in...',
'device.playlist.add_content_btn': 'Aggiungi Contenuto',
'device.playlist.empty_title': 'Nessun contenuto assegnato',
'device.playlist.empty_desc': "Aggiungi contenuti dalla tua libreria alla playlist di questo schermo.",
'device.playlist_picker.with_count': '{name} — {n} elementi',
'device.playlist_picker.with_auto': '{name} (auto) — {n} elementi',
// Info cards
'device.info.status': 'Stato',
'device.info.ip_address': 'Indirizzo IP',
'device.info.battery': 'Batteria',
'device.info.storage': 'Archiviazione',
'device.info.size_free': '{size} liberi',
'device.info.player_type': 'Tipo Player',
'device.info.web_player': 'Web Player',
'device.info.wifi': 'WiFi',
'device.info.uptime': 'Tempo di attività',
'device.info.android_version': 'Versione Android',
'device.info.app_version': 'Versione App',
'device.info.screen_resolution': 'Risoluzione Schermo',
'device.info.ram': 'RAM',
'device.info.cpu_usage': 'Utilizzo CPU',
// Uptime timeline
'device.timeline.title': 'Cronologia Attività (Ultime 24 Ore)',
'device.timeline.h24_ago': '24 ore fa',
'device.timeline.now': 'Ora',
'device.timeline.online': 'Online',
'device.timeline.offline': 'Offline',
'device.timeline.no_data': 'Nessun dato',
'device.timeline.uptime_pct_tracked': '{pct}% attività ({n} min tracciati)',
'device.timeline.uptime_pct_no_data': '{pct}% attività (nessun dato)',
// Form
'device.form.orientation_label': 'Orientamento / Rotazione',
'device.form.orientation.landscape': 'Orizzontale (0°)',
'device.form.orientation.portrait': 'Verticale (90° orario)',
'device.form.orientation.landscape_flipped': 'Orizzontale capovolto (180°)',
'device.form.orientation.portrait_flipped': 'Verticale capovolto (270° orario)',
'device.form.default_content_label': 'Contenuto Predefinito',
'device.form.default_content_none': 'Nessuno (mostra "In attesa...")',
'device.form.notes_label': 'Note',
'device.form.notes_placeholder': 'Posizione, dettagli installazione, ecc.',
'device.form.save_settings': 'Salva Impostazioni',
// Control buttons
'device.ctl.reboot_device': 'Riavvia Dispositivo',
'device.ctl.screen_off': 'Spegni Schermo',
'device.ctl.screen_on': 'Accendi Schermo',
'device.ctl.launch_player': 'Avvia Player',
'device.ctl.force_update': 'Forza Aggiornamento',
'device.ctl.shutdown': 'Spegni',
// Remote tab
'device.remote.start_prompt': 'Clicca "Avvia Controllo" per iniziare',
'device.remote.start': 'Avvia Controllo',
'device.remote.stop': 'Ferma Controllo',
'device.remote.vol_up': 'Vol +',
'device.remote.vol_down': 'Vol -',
'device.remote.home': 'Home',
'device.remote.back': 'Indietro',
'device.remote.recents': 'Recenti',
'device.remote.power': 'Accensione',
'device.remote.ok': 'OK',
'device.remote.settings': 'Impostazioni',
'device.remote.scrn_off': 'Schermo Off',
'device.remote.scrn_on': 'Schermo On',
'device.remote.enable_system_view': 'Attiva Vista di Sistema',
'device.remote.system_view_tooltip': 'Chiede all\'utente del dispositivo di consentire l\'acquisizione completa dello schermo - permette la visualizzazione remota della home, impostazioni e altre app',
'device.remote.system_view_hint': 'Richiede l\'approvazione una tantum sul dispositivo',
'device.remote.waiting_for_approval': 'In attesa di approvazione dal dispositivo...',
'device.remote.system_view_enabled': 'Vista di Sistema Attivata',
'device.remote.unlocked_hint': 'Controlli di sistema e navigazione sbloccati',
// Playlist item
'device.pl_item.widget_with_type': 'Widget ({type})',
'device.pl_item.youtube': 'YouTube',
'device.pl_item.video': 'Video',
'device.pl_item.image': 'Immagine',
'device.pl_item.zone_label': 'Zona: {id}',
'device.pl_item.no_zone': 'Nessuna zona',
'device.pl_item.mute': 'Disattiva Audio',
'device.pl_item.unmute': 'Attiva Audio',
'device.pl_item.remove': 'Rimuovi',
// Copy playlist
'device.copy.no_other_devices': 'Nessun altro dispositivo su cui copiare',
'device.copy.prompt': 'Su quale dispositivo vuoi copiare la playlist?\n\n{list}\n\nInserisci il numero:',
'device.copy.invalid_selection': 'Selezione non valida',
'device.copy.toast': 'Copiati {n} elementi su {device}',
// Add-content modal
'device.assign.empty_all': 'Ancora nessun contenuto, widget o pagina chiosco. Crea qualcosa prima!',
'device.assign.modal_title': 'Aggiungi alla Playlist',
'device.assign.zone_label': 'Zona',
'device.assign.zone_default': 'Predefinita (schermo intero)',
'device.assign.duration_label': 'Durata visualizzazione (secondi, per immagini/widget)',
'device.assign.tab.media': 'Media ({n})',
'device.assign.tab.widgets': 'Widget ({n})',
'device.assign.tab.kiosk': 'Chiosco ({n})',
'device.assign.no_media': 'Nessun media ancora caricato',
'device.assign.no_widgets': 'Nessun widget ancora creato.',
'device.assign.no_kiosk': 'Nessuna pagina chiosco ancora presente.',
'device.assign.create_one': 'Creane uno',
'device.assign.add_selected': 'Aggiungi Selezionati',
'device.assign.select_first': 'Seleziona prima qualcosa',
'device.assign.kiosk_widget_name': 'Chiosco: {name}',
// Toasts
'device.toast.screenshot_requested': 'Richiesta screenshot inviata',
'device.toast.renamed': 'Schermo rinominato',
'device.toast.removing': 'Rimozione in corso...',
'device.toast.removed': 'Schermo rimosso',
'device.toast.settings_saved': 'Impostazioni salvate',
'device.toast.published': 'Playlist pubblicata — dispositivi aggiornati',
'device.toast.draft_discarded': 'Bozza scartata',
'device.toast.playlist_changed': 'Playlist modificata',
'device.toast.layout_applied': 'Layout applicato',
'device.toast.switched_to_fullscreen': 'Passato a schermo intero',
'device.toast.added_to_playlist': 'Aggiunto alla playlist',
'device.toast.unmuted': 'Audio attivato',
'device.toast.muted': 'Audio disattivato',
'device.toast.zone_updated': 'Zona aggiornata',
'device.toast.removed_from_playlist': 'Contenuto rimosso dalla playlist',
'device.toast.playlist_reordered': 'Playlist riordinata',
'device.toast.reboot_sent': 'Comando di riavvio inviato',
'device.toast.shutdown_sent': 'Comando di spegnimento inviato',
'device.toast.screen_off_sent': 'Comando spegnimento schermo inviato',
'device.toast.screen_on_sent': 'Comando accensione schermo inviato',
'device.toast.launch_sent': 'Comando di avvio inviato',
'device.toast.update_triggered': 'Controllo aggiornamenti avviato',
'device.toast.remote_started': 'Sessione remota avviata',
// Settings
'settings.title': 'Impostazioni',
'settings.subtitle': 'Configurazione del server e informazioni di installazione',
'settings.account': 'Account',
'settings.save_profile': 'Salva Profilo',
'settings.change_password': 'Cambia Password',
'settings.password_min_8': 'Deve contenere almeno 8 caratteri.',
'settings.current_password': 'Password Attuale',
'settings.new_password': 'Nuova Password',
'settings.confirm_new_password': 'Conferma Nuova Password',
'settings.sso_note': 'Hai effettuato l\'accesso tramite {provider}. Gestisci la tua password da lì.',
'settings.license': 'Licenza',
'settings.license_mit': 'Licenza MIT - tutte le funzionalità incluse.',
'settings.platform_admin_link': 'Gli strumenti di amministrazione della piattaforma si trovano nella pagina',
'settings.platform_admin_page_suffix': '.',
'settings.user_management': 'Gestione Utenti',
'settings.loading_users': 'Caricamento utenti...',
'settings.white_label': 'White Label / Branding',
'settings.white_label_desc': 'Personalizza l\'aspetto della dashboard e del player per i tuoi clienti.',
'settings.brand_name': 'Nome del Brand',
'settings.logo_url': 'URL del Logo',
'settings.primary_color': 'Colore Primario',
'settings.bg_color': 'Colore di Sfondo',
'settings.custom_domain': 'Dominio Personalizzato',
'settings.favicon_url': 'URL Favicon',
'settings.custom_css': 'CSS Personalizzato (opzionale)',
'settings.hide_branding': 'Nascondi branding "ScreenTinker"',
'settings.save_branding': 'Salva Branding',
'settings.preview': 'Anteprima',
'settings.white_label_enterprise_only': 'Il branding personalizzato è disponibile solo nel piano Enterprise',
'settings.view_plans': 'Visualizza i Piani',
'settings.server_info': 'Informazioni sul Server',
'settings.server_url': 'URL del Server',
'settings.api_endpoint': 'Endpoint API',
'settings.server_url_hint': 'Usa questo URL durante la configurazione dell\'app Android',
'settings.setup_guide': 'Guida all\'installazione',
'settings.setup_step_1': 'Installa l\'APK di ScreenTinker sulla tua TV tramite sideloading',
'settings.setup_step_2_prefix': 'Apri l\'app e inserisci questo URL del server:',
'settings.setup_step_3': 'L\'app mostrerà un codice di associazione di 6 cifre',
'settings.setup_step_4': 'Clicca su "Aggiungi Schermo" nella dashboard e inserisci il codice',
'settings.setup_step_5': 'Carica i contenuti nella Libreria Contenuti',
'settings.setup_step_6': 'Assegna i contenuti alla Playlist dello schermo',
'settings.your_data': 'I Tuoi Dati',
'settings.your_data_desc': 'Esporta o importa i tuoi dispositivi, contenuti, layout, programmazioni e tutte le impostazioni. Usa questa funzione per migrare tra istanze cloud e self-hosted.',
'settings.export_my_data': 'Esporta i Miei Dati',
'settings.include_media_zip': 'Includi file multimediali (ZIP)',
'settings.import_data': 'Importa Dati',
'settings.language': 'Lingua',
'settings.about': 'Informazioni',
'settings.about_tagline': 'Sistema di gestione digital signage.',
'settings.third_party_licenses': 'Licenze di Terze Parti',
// Import flow
'settings.import.reading_file': 'Lettura del file...',
'settings.import.zip_detected': 'Rilevata esportazione ZIP: <strong>{name}</strong> ({size} MB)<br>Contiene dati + file multimediali.',
'settings.import.confirm': 'Conferma Importazione',
'settings.import.invalid_file': 'File non valido. Deve essere un file JSON o ZIP esportato da ScreenTinker.',
'settings.import.summary_devices': '{n} dispositivi',
'settings.import.summary_content': '{n} contenuti',
'settings.import.summary_widgets': '{n} widget',
'settings.import.summary_layouts': '{n} layout',
'settings.import.summary_schedules': '{n} programmazioni',
'settings.import.summary_walls': '{n} video wall',
'settings.import.summary_kiosk': '{n} pagine chiosco',
'settings.import.found_summary': 'Trovati: {summary}.<br>Da: {email} (esportati il {date})',
'settings.import.empty_export': 'esportazione vuota',
'settings.import.uploading_zip': 'Caricamento e importazione in corso... Potrebbe richiedere del tempo per file di grandi dimensioni.',
'settings.import.importing': 'Importazione...',
'settings.import.complete': 'Importazione completata: {imported}.',
'settings.import.pairing_codes_title': 'Codici di Associazione Dispositivi:',
'settings.import.pairing_codes_hint': 'Inserisci questi codici su ciascun dispositivo per ricollegarli. Tutte le assegnazioni e le programmazioni verranno mantenute.',
'settings.import.failed': 'Importazione fallita',
'settings.import.failed_with_error': 'Importazione fallita: {error}',
'settings.import.read_failed': 'Lettura del file fallita: {error}',
// Settings toasts
'settings.toast.support_token_generated': 'Token di supporto generato (valido per {hours} ore)',
'settings.toast.import_success': 'Dati importati con successo',
'settings.toast.name_required': 'Il nome non può essere vuoto',
'settings.toast.profile_saved': 'Profilo salvato',
'settings.toast.current_password_required': 'Inserisci la tua password attuale',
'settings.toast.new_password_min_8': 'La nuova password deve contenere almeno 8 caratteri',
'settings.toast.passwords_dont_match': 'Le nuove password non corrispondono',
'settings.toast.password_changed': 'Password cambiata',
'settings.toast.branding_saved': 'Branding salvato',
'settings.toast.preview_applied': 'Anteprima applicata (ricarica per annullare)',
'settings.toast.plan_updated': 'Piano aggiornato',
'settings.toast.user_removed': 'Utente rimosso',
// User management table
'settings.user.col_user': 'Utente',
'settings.user.col_auth': 'Autenticazione',
'settings.user.col_role': 'Ruolo',
'settings.user.col_plan': 'Piano',
'settings.user.col_actions': 'Azioni',
'settings.user.remove': 'Rimuovi',
'settings.user.you': 'Tu',
'settings.user.confirm': 'Confermi?',
'settings.user.count_one': '1 utente registrato',
'settings.user.count_other': '{n} utenti registrati',
'settings.user.reset_password': 'Reimposta Password',
'settings.user.prompt_reset_password': 'Inserisci una nuova password per {email} (minimo 8 caratteri):',
'settings.toast.password_reset_for_user': 'Password reimpostata',
// Widgets
'widget.title': 'Widget',
'widget.subtitle': 'Aggiungi contenuti dinamici ai tuoi layout',
'widget.help_tip': 'Elementi di contenuto dinamico: orologi live, meteo, ticker RSS, testo, pagine web e feed social. Crea un widget e assegnalo alla playlist di un dispositivo.',
'widget.new_widget': 'Nuovo Widget',
'widget.configure': 'Configura Widget',
'widget.preview': 'Anteprima',
'widget.preview_title': 'Anteprima',
'widget.close': 'Chiudi',
'widget.edit_x': 'Modifica {type}',
'widget.new_x': 'Nuovo {type}',
'widget.empty_title': 'Ancora nessun widget',
'widget.empty_desc': 'Crea un widget per aggiungere contenuti dinamici ai tuoi layout.',
'widget.this_widget': 'questo widget',
'widget.confirm_delete': 'Eliminare "{name}"? L\'azione è irreversibile.',
'widget.toast.saved': 'Widget salvato',
'widget.toast.deleted': 'Widget eliminato',
'widget.toast.preview_failed': 'Anteprima fallita',
// Widget types
'widget.type.clock.name': 'Orologio',
'widget.type.clock.desc': 'Orologio digitale con data',
'widget.type.weather.name': 'Meteo',
'widget.type.weather.desc': 'Condizioni meteo attuali',
'widget.type.rss.name': 'News Ticker',
'widget.type.rss.desc': 'Feed RSS a scorrimento',
'widget.type.text.name': 'Testo/HTML',
'widget.type.text.desc': 'Testo personalizzato o contenuto HTML',
'widget.type.webpage.name': 'Pagina Web',
'widget.type.webpage.desc': 'Incorpora una pagina web',
'widget.type.social.name': 'Feed Social',
'widget.type.social.desc': 'Feed dei social media',
'widget.type.directory_board.name': 'Albo Fornitori/Directory',
'widget.type.directory_board.desc': 'Elenco scorrevole di inquilini/uffici per hall',
// Widget config form fields
'widget.field.name': 'Nome Widget',
'widget.field.format': 'Formato',
'widget.field.format_12h': '12 Ore',
'widget.field.format_24h': '24 Ore',
'widget.field.timezone': 'Fuso Orario',
'widget.field.font_size': 'Dimensione Font',
'widget.field.font_size_px': 'Dimensione Font (px)',
'widget.field.color': 'Colore',
'widget.field.background': 'Sfondo',
'widget.field.location': 'Località',
'widget.field.location_placeholder': 'Città, Provincia',
'widget.field.units': 'Unità',
'widget.field.units_imperial': 'Imperiale (°F)',
'widget.field.units_metric': 'Metrico (°C)',
'widget.field.feed_url': 'URL del Feed',
'widget.field.scroll_speed_seconds': 'Velocità Scorrimento (secondi)',
'widget.field.max_items': 'Numero Massimo Elementi',
'widget.field.html_content': 'Contenuto HTML',
'widget.field.css_optional': 'CSS (opzionale)',
'widget.field.url': 'URL',
'widget.field.zoom_pct': 'Zoom (%)',
'widget.field.refresh_interval': 'Intervallo di Aggiornamento (secondi, 0 = mai)',
'widget.field.platform': 'Piattaforma',
'widget.field.platform_twitter': 'Twitter/X',
'widget.field.platform_instagram': 'Instagram',
'widget.field.query': 'Ricerca/Query',
'widget.field.query_placeholder': '@utente o #hashtag',
// Content picker
'widget.picker.default_title': 'Seleziona Immagine',
'widget.picker.select_logo': 'Seleziona Logo',
'widget.picker.select_bg_images': 'Seleziona Immagini di Sfondo',
'widget.picker.search': 'Cerca immagini...',
'widget.picker.no_matches': 'Nessuna corrispondenza.',
'widget.picker.no_images': 'Nessuna immagine nella libreria. Carica prima delle immagini dalla Libreria Contenuti.',
'widget.picker.selected_count': '{n} selezionati',
// Directory Board
'widget.dir.title_label': 'Titolo',
'widget.dir.title_placeholder': 'Esempio: Centro Direzionale',
'widget.dir.logo_label': 'Logo (opzionale)',
'widget.dir.footer_text_label': 'Testo a Piè di Pagina',
'widget.dir.footer_placeholder': 'Per informazioni: Contattare...',
'widget.dir.bg_images_label': 'Immagini di Sfondo (opzionale)',
'widget.dir.bg_images_hint': 'Le immagini sfumano ogni 15 secondi al 30% di opacità. Aggiungine più di una per la rotazione.',
'widget.dir.add_bg_image': '+ Aggiungi Immagine di Sfondo',
'widget.dir.theme': 'Tema',
'widget.dir.theme_dark': 'Scuro',
'widget.dir.theme_light': 'Chiaro',
'widget.dir.scroll_speed': 'Velocità Scorrimento',
'widget.dir.speed_slow': 'Lenta',
'widget.dir.speed_medium': 'Media',
'widget.dir.speed_fast': 'Veloce',
'widget.dir.columns': 'Colonne',
'widget.dir.columns_auto': 'Auto',
'widget.dir.categories': 'Categorie',
'widget.dir.add_category': '+ Aggiungi Categoria',
'widget.dir.add_entry': '+ Aggiungi Voce',
'widget.dir.empty_categories': 'Aggiungi il primo piano o dipartimento per iniziare',
'widget.dir.no_entries': 'Ancora nessuna voce',
'widget.dir.entry': 'voce',
'widget.dir.entries': 'voci',
'widget.dir.collapse': 'Comprimi',
'widget.dir.expand': 'Espandi',
'widget.dir.move_up': 'Sposta su',
'widget.dir.move_down': 'Sposta giù',
'widget.dir.delete_category': 'Elimina categoria',
'widget.dir.delete_entry': 'Elimina voce',
'widget.dir.unnamed': '(senza nome)',
'widget.dir.confirm_delete_category': 'Eliminare la categoria "{name}" e tutte le sue voci?',
'widget.dir.category_name_placeholder': 'es. Primo Piano',
'widget.dir.entry_id_placeholder': '101',
'widget.dir.entry_name_placeholder': 'Nome inquilino/ufficio',
'widget.dir.entry_subtitle_placeholder': 'Dettagli (opzionale)',
'widget.dir.available': 'Disponibile',
'widget.dir.change': 'Cambia',
'widget.dir.choose_logo': 'Scegli Logo',
'widget.dir.remove_logo': 'Rimuovi',
'widget.dir.no_bg_images': 'Nessuna immagine di sfondo selezionata',
'widget.dir.remove_bg': 'Rimuovi',
// Designer
'designer.title': 'Content Designer',
'designer.subtitle': 'Crea contenuti dinamici per la segnaletica',
'designer.help_tip': 'Crea contenuti personalizzati con elementi live: orologi, meteo, ticker RSS, countdown e codici QR. Pubblica come widget o esporta come PNG.',
'designer.load_design': 'Carica Progetto',
'designer.export_png': 'Esporta PNG',
'designer.publish': 'Pubblica nella Libreria',
'designer.preview_hint': 'Clicca sugli elementi per selezionarli. Trascina per riposizionarli. L\'anteprima si aggiorna in tempo reale.',
'designer.add_element': 'Aggiungi Elemento',
'designer.background': 'Sfondo',
'designer.bg_image': 'Immagine',
'designer.properties': 'Proprietà',
'designer.layers': 'Livelli',
'designer.no_elements': 'Ancora nessun elemento',
'designer.save_design_file': 'Salva File Progetto',
'designer.qr_label': 'CODICE QR',
'designer.loading_news': 'Caricamento notizie...',
'designer.no_items': 'Nessun elemento',
'designer.feed_unavailable': 'Feed non disponibile',
'designer.countdown_now': 'ORA!',
'designer.widget_name': 'Progetto {date}',
// Element buttons
'designer.el.text': 'Testo',
'designer.el.heading': 'Titolo',
'designer.el.image': 'Immagine',
'designer.el.video': 'Video',
'designer.el.clock': 'Orologio',
'designer.el.date': 'Data',
'designer.el.weather': 'Meteo',
'designer.el.ticker': 'Ticker',
'designer.el.shape': 'Forma',
'designer.el.qr': 'Codice QR',
'designer.el.countdown': 'Countdown',
'designer.el.webpage': 'Pagina Web',
// Backgrounds
'designer.bg.black': 'Nero',
'designer.bg.dark_blue': 'Blu Scuro',
'designer.bg.dark_gradient': 'Gradiente Scuro',
'designer.bg.blue_gradient': 'Gradiente Blu',
'designer.bg.sunset': 'Tramonto',
'designer.bg.ocean': 'Oceano',
'designer.bg.forest': 'Foresta',
'designer.bg.dark_red': 'Rosso Scuro',
'designer.bg.white': 'Bianco',
// Defaults / prompts
'designer.default.text': 'Il tuo testo qui',
'designer.default.heading': 'TITOLO',
'designer.default.coming_soon': 'In Arrivo',
'designer.prompt.video_url': 'URL Video (MP4):',
'designer.prompt.weather_location': 'Città, Provincia:',
'designer.prompt.rss_url': 'URL Feed RSS:',
'designer.prompt.qr_url': 'URL Codice QR:',
'designer.prompt.countdown_date': 'Data obiettivo (AAAA-MM-GG):',
'designer.prompt.webpage_url': 'URL Pagina Web:',
// Properties
'designer.prop.text': 'Testo',
'designer.prop.size': 'Dimensione',
'designer.prop.font': 'Font',
'designer.prop.color': 'Colore',
'designer.prop.bold': 'Grassetto',
'designer.prop.shadow': 'Ombra',
'designer.prop.format': 'Formato',
'designer.prop.show_seconds': 'Mostra secondi',
'designer.prop.muted': 'Muto',
'designer.prop.loop': 'Ripetizione',
'designer.prop.opacity': 'Opacità',
'designer.prop.shape': 'Forma',
'designer.prop.location': 'Località',
'designer.prop.feed_url': 'URL Feed',
'designer.prop.speed': 'Velocità (secondi)',
'designer.prop.text_color': 'Colore Testo',
'designer.prop.bg_color': 'Colore Sfondo',
'designer.prop.target_date': 'Data Obiettivo',
'designer.prop.label': 'Etichetta',
// Toasts
'designer.toast.published': 'Pubblicato come widget! Assegnalo a una zona del layout.',
'designer.toast.publish_failed': 'Pubblicazione fallita',
'designer.toast.export_failed': 'Esportazione fallita: {error}',
'designer.toast.loaded': 'Progetto caricato',
'designer.toast.invalid_file': 'File progetto non valido',
// Playlists
'playlist.title': 'Playlist',
'playlist.subtitle': 'Crea e gestisci le playlist dei contenuti',
'playlist.show_auto_generated': 'Mostra generate automaticamente',
'playlist.new_playlist_btn': '+ Nuova Playlist',
'playlist.new_playlist': 'Nuova Playlist',
'playlist.empty_title': 'Ancora nessuna playlist',
'playlist.empty_desc': 'Crea la tua prima playlist per organizzare i contenuti dei tuoi schermi.',
'playlist.all_auto_generated': 'Tutte le playlist sono generate automaticamente. Attiva "Mostra generate automaticamente" per vederle.',
'playlist.tag_auto': 'auto',
'playlist.tag_draft': 'bozza',
'playlist.item_count_one': '1 elemento',
'playlist.item_count_other': '{n} elementi',
'playlist.created_at': 'Creata il {date}',
'playlist.display_count_one': '1 schermo',
'playlist.display_count_other': '{n} schermi',
'playlist.assigned_to_one': 'Assegnata a 1 schermo',
'playlist.assigned_to_other': 'Assegnata a {n} schermi',
'playlist.load_failed': 'Caricamento playlist fallito: {error}',
'playlist.back_to_playlists': 'Torna alle Playlist',
'playlist.name_placeholder': 'Nome playlist',
'playlist.desc_placeholder': 'Descrizione (opzionale)',
'playlist.create_btn': 'Crea',
'playlist.add_desc_placeholder': 'Aggiungi una descrizione...',
'playlist.click_to_rename': 'Clicca per rinominare',
'playlist.click_to_edit_desc': 'Clicca per modificare la descrizione',
'playlist.add_content': '+ Aggiungi Contenuto',
'playlist.delete_playlist': 'Elimina Playlist',
'playlist.back': 'Indietro',
'playlist.items_empty': 'Questa playlist è vuota',
'playlist.items_empty_hint': 'Clicca su "Aggiungi Contenuto" per inserire elementi.',
'playlist.duration': 'Durata',
'playlist.sec': 'sec',
'playlist.move_up': 'Sposta su',
'playlist.move_down': 'Sposta giù',
'playlist.remove_item': 'Rimuovi elemento',
'playlist.item_widget': 'Widget',
'playlist.unknown_type': 'Tipo sconosciuto',
'playlist.confirm_delete': 'Eliminare "{name}"? L\'azione è irreversibile.',
'playlist.confirm_discard_draft': 'Scartare tutte le modifiche non pubblicate e tornare all\'ultima versione pubblicata?',
'playlist.draft.banner_title': 'Modifiche non pubblicate',
'playlist.draft.devices_showing_published': 'I dispositivi mostrano ancora l\'ultima versione pubblicata.',
'playlist.draft.never_published': 'Questa playlist non è mai stata pubblicata. I dispositivi non mostreranno nulla fino alla pubblicazione.',
'playlist.draft.discard_changes': 'Scarta Modifiche',
'playlist.draft.publish': 'Pubblica',
'playlist.draft.publishing': 'Pubblicazione...',
'playlist.toast.created': 'Playlist creata',
'playlist.toast.deleted': 'Playlist eliminata',
'playlist.toast.published': 'Playlist pubblicata — dispositivi aggiornati',
'playlist.toast.draft_discarded': 'Modifiche alla bozza scartate',
'playlist.toast.item_removed': 'Elemento rimosso',
'playlist.add_modal_title': 'Aggiungi Contenuto alla Playlist',
'playlist.tab_content': 'Contenuti',
'playlist.tab_widgets': 'Widget',
'playlist.search_placeholder': 'Cerca...',
'playlist.close': 'Chiudi',
'playlist.no_content_found': 'Nessun contenuto trovato',
'playlist.no_widgets_found': 'Nessun widget trovato',
'playlist.add_btn': 'Aggiungi',
'playlist.adding': 'Aggiunta in corso...',
'playlist.added': 'Aggiunto',
// Onboarding
'onboarding.back': 'Indietro',
'onboarding.next': 'Avanti',
'onboarding.skip': 'Salta Configurazione',
'onboarding.go_to_dashboard': 'Vai alla Dashboard',
'onboarding.pair_display': 'Associa Schermo',
'onboarding.step.welcome.title': 'Benvenuto su ScreenTinker!',
'onboarding.step.welcome.intro': "Configuriamo il tutto in meno di 5 minuti.",
'onboarding.step.welcome.guide_through': 'Questa procedura guidata ti aiuterà a:',
'onboarding.step.welcome.bullet_download': 'Scaricare l\'app del player',
'onboarding.step.welcome.bullet_pair': 'Associare il tuo primo schermo',
'onboarding.step.welcome.bullet_upload': 'Caricare e assegnare i contenuti',
'onboarding.step.player.title': 'Passaggio 1: Scarica l\'App Player',
'onboarding.step.player.intro': 'Installa il player sul tuo dispositivo di visualizzazione.',
'onboarding.step.player.android_label': 'APK Android',
'onboarding.step.player.android_desc': 'TV box, tablet, Fire TV',
'onboarding.step.player.web_label': 'Web Player',
'onboarding.step.player.web_desc': 'Qualsiasi browser, Pi, ChromeOS',
'onboarding.step.player.url_hint': 'Apri l\'app sullo schermo e inserisci questo URL del server:',
'onboarding.step.pair.title': 'Passaggio 2: Associa lo Schermo',
'onboarding.step.pair.intro': 'Inserisci il codice di 6 cifre mostrato sullo schermo.',
'onboarding.step.pair.name_placeholder': 'Nome schermo (es. TV Atrio)',
'onboarding.step.upload.title': 'Passaggio 3: Carica Contenuti',
'onboarding.step.upload.intro': 'Carica un video o un\'immagine da visualizzare.',
'onboarding.step.upload.click_to_select': 'Clicca per selezionare un file',
'onboarding.step.upload.formats': 'MP4, WebM, JPEG, PNG, GIF',
'onboarding.step.upload.uploading': 'Caricamento...',
'onboarding.step.done.title': 'Tutto pronto!',
'onboarding.step.done.intro': 'Il tuo schermo è associato e il contenuto è in riproduzione!',
'onboarding.step.done.whats_next': 'E adesso?',
'onboarding.step.done.next_content': 'Aggiungi altri contenuti nella <strong>Libreria Contenuti</strong>',
'onboarding.step.done.next_layouts': 'Crea layout multi-zona in <strong>Layout</strong>',
'onboarding.step.done.next_schedule': 'Imposta una programmazione nel calendario <strong>Programmazione</strong>',
'onboarding.step.done.next_widgets': 'Aggiungi widget live (orologio, meteo, ticker) in <strong>Widget</strong>',
'onboarding.step.done.next_kiosk': 'Crea schermi interattivi in <strong>Chiosco</strong>',
'onboarding.step.done.next_designer': 'Progetta contenuti personalizzati nel <strong>Designer</strong>',
'onboarding.toast.invalid_code': 'Inserisci un codice valido di 6 cifre',
'onboarding.toast.pairing': 'Associazione...',
'onboarding.toast.pair_failed': 'Associazione fallita',
'onboarding.toast.pair_failed_with_error': 'Associazione fallita: {error}',
'onboarding.toast.paired': 'Schermo associato!',
'onboarding.toast.uploaded_assigning': 'Caricato! Assegnazione allo schermo...',
'onboarding.toast.content_assigned': 'Contenuto caricato e assegnato!',
'onboarding.toast.upload_failed': 'Caricamento fallito',
'onboarding.toast.error_with_error': 'Errore: {error}',
// Admin (platform admin panel)
'admin.title': 'Amministratore di Piattaforma',
'admin.subtitle': 'Controlli Superadmin - visibili solo a te',
'admin.access_denied': 'Accesso Negato',
'admin.access_denied_desc': 'È richiesto l\'accesso come amministratore di piattaforma.',
'admin.all_users': 'Tutti gli Utenti',
'admin.plans': 'Piani di Abbonamento',
'admin.system': 'Sistema',
'admin.col.user': 'Utente',
'admin.col.auth': 'Autenticazione',
'admin.col.last_login': 'Ultimo Accesso',
'admin.col.role': 'Ruolo',
'admin.col.plan': 'Piano',
'admin.col.actions': 'Azioni',
'admin.col.devices': 'Dispositivi',
'admin.col.storage': 'Archiviazione',
'admin.col.monthly': 'Mensile',
'admin.col.yearly': 'Annuale',
'admin.role.user': 'Utente',
'admin.role.admin': 'Admin',
'admin.role.superadmin': 'Superadmin',
'admin.remove': 'Rimuovi',
'admin.owner': 'Proprietario',
'admin.confirm': 'Confermi?',
'admin.total_users': '{n} utenti totali',
'admin.unlimited': 'Illimitato',
'admin.free': 'Gratis',
'admin.version': 'Versione',
'admin.frontend_hash': 'Hash Frontend',
'admin.download_db_backup': 'Scarica Backup DB',
'admin.server_status': 'Stato del Server',
'admin.toast.role_updated': 'Ruolo aggiornato',
'admin.toast.plan_updated': 'Piano aggiornato',
'admin.toast.user_removed': 'Utente rimosso',
'admin.reset_password': 'Reimposta Password',
'admin.prompt_reset_password': 'Inserisci una nuova password per {email} (minimo 8 caratteri):',
'admin.toast.password_min_8': 'La password deve contenere almeno 8 caratteri',
'admin.toast.password_reset': 'Password reimpostata',
// Schedule
'schedule.title': 'Programmazione',
'schedule.subtitle': 'Calendario di programmazione contenuti',
'schedule.help_tip': 'Calendario settimanale visivo per la programmazione dei contenuti. Clicca su "Aggiungi Programmazione" per creare fasce orarie. Imposta la ricorrenza per i contenuti ripetitivi. La priorità più alta prevale su quella più bassa. Le programmazioni a livello di dispositivo prevalgono su quelle di gruppo.',
'schedule.prev_week': '< Prec',
'schedule.next_week': 'Succ >',
'schedule.add_schedule': 'Aggiungi Programmazione',
'schedule.edit_schedule': 'Modifica Programmazione',
'schedule.apply_to': 'Applica a',
'schedule.target_device': 'Dispositivo',
'schedule.target_group': 'Gruppo',
'schedule.group_devices_count': '{n} dispositivi',
'schedule.no_groups_msg': 'Ancora nessun gruppo creato. Crea i gruppi nella pagina Schermi.',
'schedule.zone_note': 'Nota: Le programmazioni basate sulle zone sono specifiche per ogni layout. Assicurati che tutti i dispositivi nel gruppo utilizzino lo stesso layout.',
'schedule.playlist_override': 'Sovrascrittura Playlist',
'schedule.no_playlist_override': '— Nessuna sovrascrittura playlist —',
'schedule.draft_suffix': '(bozza)',
'schedule.layout_override': 'Sovrascrittura Layout',
'schedule.no_layout_override': '— Nessuna sovrascrittura layout —',
'schedule.content_label': 'Contenuto',
'schedule.content_hint': '(elemento singolo, opzionale)',
'schedule.content_none': '— Nessuno —',
'schedule.title_label': 'Titolo (opzionale)',
'schedule.title_placeholder': 'es. Playlist Mattutina',
'schedule.start_time': 'Ora Inizio',
'schedule.end_time': 'Ora Fine',
'schedule.repeat': 'Ripeti',
'schedule.repeat_none': 'Nessuna ripetizione',
'schedule.repeat_daily': 'Giornaliero',
'schedule.repeat_weekdays': 'Giorni feriali',
'schedule.repeat_weekends': 'Fine settimana',
'schedule.repeat_weekly': 'Settimanale',
'schedule.priority': 'Priorità',
'schedule.color': 'Colore',
'schedule.scheduled_label': 'Programmato',
'schedule.tooltip_group_prefix': 'Gruppo: ',
'schedule.tooltip_priority': 'Priorità: {n}',
'schedule.day.sun': 'Dom',
'schedule.day.mon': 'Lun',
'schedule.day.tue': 'Mar',
'schedule.day.wed': 'Mer',
'schedule.day.thu': 'Gio',
'schedule.day.fri': 'Ven',
'schedule.day.sat': 'Sab',
'schedule.hour_12am': '00:00',
'schedule.hour_am': 'am',
'schedule.hour_12pm': '12:00',
'schedule.hour_pm': 'pm',
'schedule.toast.no_groups': 'Nessun gruppo disponibile. Crea prima un gruppo.',
'schedule.toast.saved': 'Programmazione salvata',
// Reports
'report.title': 'Report',
'report.subtitle': 'Analisi proof-of-play e attività dei dispositivi',
'report.help_tip': 'Analisi proof-of-play. Visualizza cosa è stato riprodotto, quando e su quale dispositivo. Filtra per intervallo di date e dispositivo. Esporta in CSV per la verifica pubblicitaria.',
'report.export_csv': 'Esporta CSV',
'report.device': 'Dispositivo',
'report.all_devices': 'Tutti i dispositivi',
'report.start_date': 'Data Inizio',
'report.end_date': 'Data Fine',
'report.load_report': 'Carica Report',
'report.select_range': 'Seleziona un intervallo di date e clicca su Carica Report',
'report.error': 'Errore',
'report.total_plays': 'Riproduzioni Totali',
'report.total_hours': 'Ore Totali',
'report.unique_content': 'Contenuti Unici',
'report.active_devices': 'Dispositivi Attivi',
'report.avg_duration': 'Durata Media',
'report.plays_per_day': 'Riproduzioni al Giorno',
'report.plays_by_hour': 'Riproduzioni per Ora',
'report.top_content': 'Contenuti più riprodotti',
'report.by_device': 'Per Dispositivo',
'report.no_data': 'Nessun dato',
'report.col.content': 'Contenuto',
'report.col.device': 'Dispositivo',
'report.col.plays': 'Riproduzioni',
'report.col.total_hours': 'Ore Totali',
'report.col.completion': 'Completamento',
// Kiosk
'kiosk.title': 'Pagine Chiosco',
'kiosk.subtitle': 'Crea interfacce touchscreen interattive',
'kiosk.help_tip': 'Crea interfacce touchscreen interattive. Aggiungi pulsanti con icone e azioni. Include una schermata di attesa (idle) che appare dopo un periodo di inattività. Assegna le pagine ai dispositivi come widget.',
'kiosk.new_page': 'Nuova Pagina Chiosco',
'kiosk.prompt_name': 'Nome pagina chiosco:',
'kiosk.empty_title': 'Ancora nessuna pagina chiosco',
'kiosk.empty_desc': 'Crea un\'interfaccia touchscreen interattiva per i tuoi schermi.',
'kiosk.label': 'Pagina Chiosco',
'kiosk.preview': 'Anteprima',
'kiosk.confirm_delete': 'Eliminare la pagina chiosco "{name}"? L\'azione è irreversibile.',
'kiosk.toast.deleted': 'Pagina chiosco eliminata',
'kiosk.toast.delete_failed': 'Eliminazione fallita',
'kiosk.toast.saved': 'Pagina chiosco salvata',
'kiosk.not_found': 'Pagina non trovata',
'kiosk.back': 'Torna a Pagine Chiosco',
'kiosk.page_settings': 'Impostazioni Pagina',
'kiosk.title_label': 'Titolo',
'kiosk.subtitle_label': 'Sottotitolo',
'kiosk.logo_url': 'URL Logo',
'kiosk.footer_text': 'Testo a Piè di Pagina',
'kiosk.idle_title': 'Titolo Schermata di Attesa',
'kiosk.idle_default': 'Tocca per Iniziare',
'kiosk.idle_timeout': 'Timeout Inattività (secondi)',
'kiosk.style': 'Stile',
'kiosk.background': 'Sfondo',
'kiosk.text_color': 'Colore Testo',
'kiosk.columns': 'Colonne',
'kiosk.button_color': 'Colore Pulsante',
'kiosk.button_hover': 'Colore Pulsante al Passaggio',
'kiosk.buttons': 'Pulsanti',
'kiosk.add_btn': '+ Aggiungi',
'kiosk.icon_placeholder': 'Emoji',
'kiosk.label_placeholder': 'Etichetta',
'kiosk.sublabel_placeholder': 'Sotto-etichetta',
'kiosk.action_none': 'Nessuna azione',
'kiosk.action_url': 'Apri URL',
'kiosk.action_page': 'Vai alla pagina',
'kiosk.url_placeholder': 'URL o pagina',
'kiosk.no_buttons': 'Ancora nessun pulsante',
'kiosk.new_button': 'Nuovo Pulsante',
// Layout editor
'layout.title': 'Layout',
'layout.subtitle': 'Layout dello schermo e modelli',
'layout.help_tip': 'Crea layout dello schermo multi-zona. Usa i modelli o creane di personalizzati. Trascina le zone per posizionarle e ridimensionale con la maniglia d\'angolo. Assegna i layout ai dispositivi nella scheda Playlist.',
'layout.new_layout': 'Nuovo Layout',
'layout.templates': 'Modelli',
'layout.my_layouts': 'I miei Layout',
'layout.empty_custom': 'Ancora nessun layout personalizzato',
'layout.prompt_name': 'Nome layout:',
'layout.default_zone_name': 'Principale',
'layout.template_label': 'Modello',
'layout.use_template': 'Usa Modello',
'layout.zone_count_one': '1 zona',
'layout.zone_count_other': '{n} zone',
'layout.confirm_delete': 'Eliminare il layout "{name}"? L\'azione è irreversibile.',
'layout.toast.deleted': 'Layout eliminato',
'layout.toast.delete_failed': 'Eliminazione layout fallita',
'layout.toast.saved': 'Layout salvato',
'layout.not_found': 'Layout non trovato',
'layout.back': 'Torna ai Layout',
'layout.add_zone': 'Aggiungi Zona',
'layout.zones': 'Zone',
'layout.properties': 'Proprietà',
'layout.delete_zone': 'Elimina Zona',
'layout.zone_n': 'Zona {n}',
'layout.prop.name': 'Nome',
'layout.prop.x': 'X (%)',
'layout.prop.y': 'Y (%)',
'layout.prop.width': 'Larghezza (%)',
'layout.prop.height': 'Altezza (%)',
'layout.prop.type': 'Tipo',
'layout.type_content': 'Contenuto',
'layout.type_widget': 'Widget',
// Video walls
'wall.title': 'Video Wall',
'wall.subtitle': 'Combina più schermi in un unico grande monitor',
'wall.help_tip': 'Combina più schermi in un unico grande monitor. Imposta la dimensione della griglia, trascina i dispositivi nelle posizioni e regola la compensazione della cornice (bezel). Assegna i contenuti per la riproduzione su tutti i dispositivi.',
'wall.new_wall': 'Nuovo Video Wall',
'wall.prompt_name': 'Nome video wall:',
'wall.empty_title': 'Ancora nessun video wall',
'wall.empty_desc': 'Crea un video wall per combinare più schermi.',
'wall.grid_summary': 'Griglia {cols}x{rows} • {n} dispositivi',
'wall.not_found': 'Video wall non trovato',
'wall.back': 'Torna ai Video Wall',
'wall.delete_wall': 'Elimina Video Wall',
'wall.grid_config': 'Configurazione Griglia',
'wall.columns': 'Colonne',
'wall.rows': 'Righe',
'wall.h_bezel': 'Cornice Orizz. (px)',
'wall.v_bezel': 'Cornice Vert. (px)',
'wall.update': 'Aggiorna',
'wall.content': 'Contenuto',
'wall.no_content': 'Nessun contenuto',
'wall.set_content': 'Imposta Contenuto',
'wall.available_displays': 'Schermi Disponibili',
'wall.all_assigned': 'Tutti i dispositivi assegnati',
'wall.drop_here': 'Trascina qui',
'wall.toast.placed': '{name} posizionato in [{col},{row}]',
'wall.toast.grid_updated': 'Griglia aggiornata',
'wall.toast.content_updated': 'Contenuto aggiornato',
'wall.toast.deleted': 'Video wall eliminato',
// Billing
'billing.title': 'Abbonamento',
'billing.subtitle': 'Gestisci il tuo piano e la fatturazione',
'billing.current_plan': 'Piano Attuale',
'billing.self_hosted': 'Self-Hosted',
'billing.trial_days_left': 'Prova - {n} giorni rimasti',
'billing.trial_ends': 'La tua prova del piano {plan} termina tra {n} giorni',
'billing.trial_after': "Al termine della prova, passerai al piano Gratis (1 dispositivo). Effettua l'upgrade ora per mantenere tutti i tuoi dispositivi e funzionalità.",
'billing.devices': 'Dispositivi',
'billing.devices_lc': 'dispositivi',
'billing.storage': 'Archiviazione',
'billing.storage_lc': 'archiviazione',
'billing.features': 'Funzionalità',
'billing.feat.remote_control': 'Controllo Remoto',
'billing.feat.remote_urls': 'URL Remoti',
'billing.feat.priority_support': 'Supporto Prioritario',
'billing.available_plans': 'Piani Disponibili',
'billing.current': 'Attuale',
'billing.unlimited': 'Illimitato',
'billing.free': 'Gratis',
'billing.per_month': '/mese',
'billing.yearly_save': 'o ${price}/anno (risparmia il {pct}%)',
'billing.monthly': 'Mensile',
'billing.yearly': 'Annuale',
'billing.manage_subscription': 'Gestisci Abbonamento',
'billing.self_hosted_note': 'Modalità self-hosted: i piani possono essere assegnati dagli amministratori senza fatturazione.',
'billing.failed_to_load': 'Caricamento fallito',
'billing.toast.checkout_failed': 'Impossibile avviare il pagamento: {error}',
'billing.toast.portal_failed': 'Impossibile aprire il portale di fatturazione: {error}',
'billing.toast.payment_success': 'Pagamento riuscito! Il tuo piano è stato aggiornato.',
// Teams
'team.title': 'Team',
'team.subtitle': 'Gestisci i team e l\'accesso condiviso',
'team.help_tip': 'Crea dei team per condividere i dispositivi con altri utenti. I proprietari gestiscono il team, gli editor possono modificare contenuti/playlist, i visualizzatori possono solo monitorare.',
'team.new_team': 'Nuovo Team',
'team.prompt_name': 'Nome del team:',
'team.empty_title': 'Ancora nessun team',
'team.empty_desc': 'Crea un team per condividere i dispositivi con altri utenti.',
'team.your_role': 'Il tuo ruolo: {role}',
'team.member_count_one': '1 membro',
'team.member_count_other': '{n} membri',
'team.not_found': 'Team non trovato',
'team.back': 'Torna ai Team',
'team.delete_team': 'Elimina Team',
'team.members_count': 'Membri ({n})',
'team.invite': '+ Invita',
'team.role_viewer': 'Visualizzatore',
'team.role_editor': 'Editor',
'team.role_owner': 'Proprietario',
'team.remove': 'Rimuovi',
'team.remove_from_team': 'Rimuovi dal team',
'team.no_members': 'Ancora nessun membro',
'team.shared_devices': 'Dispositivi Condivisi ({n})',
'team.add_device': '+ Aggiungi dispositivo...',
'team.no_devices': 'Nessun dispositivo condiviso con questo team',
'team.prompt_email': 'Indirizzo email da invitare:',
'team.prompt_role': 'Ruolo (visualizzatore, editor o proprietario):',
'team.toast.invalid_role': 'Ruolo non valido',
'team.toast.invitation_sent': 'Invito inviato',
'team.toast.role_updated': 'Ruolo aggiornato',
'team.toast.member_removed': 'Membro rimosso',
'team.toast.device_added': 'Dispositivo aggiunto al team',
'team.toast.device_removed': 'Dispositivo rimosso dal team',
'team.toast.deleted': 'Team eliminato',
// Activity log
'activity.title': 'Registro Attività',
'activity.subtitle': 'Tracciamento di tutte le azioni effettuate',
'activity.load_more': 'Carica Altro',
'activity.empty_title': 'Ancora nessuna attività',
'activity.empty_desc': 'Le azioni appariranno qui man mano che utilizzerai il sistema.',
'activity.system': 'Sistema',
'activity.verb_created': 'ha creato',
'activity.verb_updated': 'ha aggiornato',
'activity.verb_deleted': 'ha eliminato',
'activity.action_paired_device': 'ha associato un dispositivo',
'activity.action_added_remote_content': 'ha aggiunto un contenuto remoto',
'activity.noun_content': 'contenuto',
'activity.noun_device': 'dispositivo',
'activity.noun_playlist_assignment': 'assegnazione playlist',
'activity.noun_assignment': 'assegnazione',
'activity.noun_layout': 'layout',
'activity.noun_widget': 'widget',
'activity.noun_schedule': 'programmazione',
'activity.noun_video_wall': 'video wall',
'activity.alert_device_offline': 'avviso: il dispositivo è andato offline',
// Help
'help.title': 'Centro Assistenza',
'help.subtitle': 'Guide rapide e FAQ',
'help.faq': 'Domande Frequenti (FAQ)',
'help.shortcuts': 'Scorciatoie da Tastiera',
'help.shortcut_esc': 'Ripristina web player (sulla pagina del player)',
'help.shortcut_f': 'Attiva/Disattiva schermo intero (web player)',
// Add Display modal (in index.html)
'add_display.title': 'Aggiungi Schermo',
'add_display.intro': 'Inserisci il codice di associazione di 6 cifre mostrato sullo schermo.',
'add_display.pairing_code': 'Codice di Associazione',
'add_display.display_name': 'Nome Schermo (opzionale)',
'add_display.name_placeholder': 'es. TV Atrio',
'add_display.need_player': 'Ti serve l\'app player? Installane una per ottenere il codice:',
'add_display.android_apk': 'APK Android',
'add_display.web_player': 'Web Player',
'add_display.raspberry_pi': 'Raspberry Pi',
'add_display.windows': 'Windows',
'add_display.smart_tv_note': 'Smart TV (LG/Samsung): apri il browser integrato e vai su <code style="background:var(--bg-input,#0f172a);padding:1px 4px;border-radius:3px">/player</code>',
'add_display.pair_btn': 'Associa Schermo',
};