/** * it — batch 6: event/shop/tour surfaces (`placesUi`), the marketplace * (`marketUi`) and Lab option labels (`labOptions`). * * Policy: core skate + protocol vocabulary stays English (Spot, Shop, Event, * Tour, Crew, Gear, Deck, Trucks, Wheels, Bearings, Griptape, Stash, The Lab, * Nostr, Lightning, Zap, Relay, sats, Marketplace, WTB, escrow, mint, npub, * CLINK, RSVP, KOTR) plus trick/brand/tool names. Everything else is Italian. * `{{placeholders}}` are preserved exactly. Missing keys fall back to English. */ const itBatch6 = { placesUi: { addToCalendar: { add: 'Aggiungi al calendario', appleOutlook: 'Apple / Outlook (.ics)', google: 'Google Calendar', }, attendees: { goingCount: 'partecipano', goingTab: 'Ci vanno ({{count}})', interestedTab: 'Interessati ({{count}})', nobodyGoing: 'Nessuno ha ancora confermato.', nobodyInterested: 'Nessuno si è ancora segnato come interessato.', noRsvps: "Ancora nessun RSVP — sii il primo a dire che ci sarai.", trusted: 'Affidabile', trustedTitle: 'Qualcuno che segui o un mapper affidabile', youTrust: 'di cui ti fidi', }, bounty: { addressCoords: 'Indirizzo e coordinate', basic: 'Base', contactInfo: 'Informazioni di contatto', description: 'Descrizione', earningPotential: 'Potenziale di guadagno', excellent: 'Eccellente!', gettingStarted: 'Per iniziare', good: 'Buono', onePhoto: 'Almeno 1 foto', openingHours: 'Orari di apertura', shopName: 'Nome dello Shop', threePhotos: '3+ foto', tip: '💡 Più qualità = più zap dalla community!', }, calendar: { allDay: 'Tutto il giorno', eventDay: "Giorno dell'evento", eventsOnDay: '{{count}} eventi', eventsThisMonth: 'eventi questo mese', going: 'partecipano', months: { january: 'Gennaio', february: 'Febbraio', march: 'Marzo', april: 'Aprile', may: 'Maggio', june: 'Giugno', july: 'Luglio', august: 'Agosto', september: 'Settembre', october: 'Ottobre', november: 'Novembre', december: 'Dicembre', }, nextMonth: 'Mese successivo', nothingOnDay: 'Niente in questo giorno.', prevMonth: 'Mese precedente', tapHighlighted: "Tocca un giorno evidenziato per vedere cosa c'è.", today: 'Oggi', tourDay: 'Giorno del Tour', toursOnDay: '{{count}} tour', toursThisMonth: 'tour questo mese', weekdays: { sun: 'Dom', mon: 'Lun', tue: 'Mar', wed: 'Mer', thu: 'Gio', fri: 'Ven', sat: 'Sab', }, weekdaysShort: { sun: 'D', mon: 'L', tue: 'M', wed: 'M', thu: 'G', fri: 'V', sat: 'S', }, }, countdown: { ended: 'Terminato', happeningNow: 'In corso', inDays: 'Tra {{count}} giorni', inHoursMins: 'Tra {{hours}}h {{mins}}m', inMins: 'Tra {{count}} min', startingNow: 'Inizia ora', tomorrow: 'Domani', }, createEvent: { add: 'Aggiungi', addNewSpot: 'Aggiungi un nuovo spot →', changeSpot: 'Cambia Spot', created: 'Evento creato!', createdDesc: 'Il tuo evento è stato pubblicato sulla rete.', entryFee: "Quota d'ingresso", entryFeeHint: '(opzionale — es. "500 sats" o "10 €")', entryFeePlaceholder: 'Lascia vuoto per eventi gratuiti', featuring: 'Con {{name}}', featuringDesc: 'Questo act sarà taggato come musica dal vivo e mostrato nella loro lista concerti.', fundingGoal: 'Obiettivo di finanziamento', fundingGoalHint: '(opzionale — sats da raccogliere via zap)', fundingGoalPlaceholder: 'es. 50000', geoNotSupported: 'Geolocalizzazione non supportata', geoNotSupportedDesc: 'Il tuo browser non supporta la geolocalizzazione.', hideSpots: 'Nascondi gli Spot', hostingAs: 'Ospiti come {{name}}', hostingAsDesc: 'Questo evento apparirà sulla pagina della tua crew e sarà taggato come ospitato da una crew.', imageUploaded: 'Immagine caricata', imageUploadedDesc: 'La tua immagine è stata caricata correttamente.', invalidDate: 'Data non valida', invalidDateDesc: "Inserisci una data e un'ora di inizio valide.", invalidEnd: 'Ora di fine non valida', invalidEndDesc: "L'ora di fine deve essere successiva all'ora di inizio.", linkedTo: 'Collegato a: {{title}}', linkToSpot: 'Collega a uno Skate Spot', linkToShop: 'Collega a uno Shop', selectedShop: 'Collegato a {{name}}', selectShopHint: 'Opzionale — tenuto o ospitato in uno skate shop.', selectShop: 'Seleziona shop', changeShop: 'Cambia shop', hideShops: 'Nascondi shop', searchShops: 'Cerca shop…', noShopsMatch: 'Nessuno shop corrisponde alla ricerca.', noShopsAvailable: 'Nessuno shop ancora disponibile.', linkToTour: 'Collega a un Tour (opzionale)', linkTourDesc: "Collega questo evento a un tour per mostrare che fa parte di una serie più ampia. Perfetto per tour nazionali, avventure internazionali o giornate di sfida del World Destruction Tour.", loadingSpots: 'Caricamento spot...', loadingTours: 'Caricamento tour...', locationError: 'Errore di posizione', locationFound: 'Posizione trovata', locationFoundDesc: 'La tua posizione attuale è stata impostata.', logoUrl: 'URL del logo (opzionale)', noSpotsAvailable: 'Nessuno spot disponibile', noSpotsMatch: 'Nessuno spot corrisponde alla ricerca', noTourLinked: 'Nessun tour collegato', optional: '(opzionale)', pastDesc: "Scegli una data e un'ora future così gli skater possono confermare la presenza e presentarsi.", pastTitle: "Quell'ora di inizio è nel passato", publishFailed: 'Pubblicazione non riuscita', publishFeatured: 'Pubblica evento in evidenza', removeSponsor: 'Rimuovi sponsor', searchSpots: 'Cerca spot per nome, posizione o categoria...', selectedSpot: 'Selezionato: {{name}}', selectSpot: 'Seleziona Spot', selectSpotHint: "Seleziona dalla mappa uno spot dove si svolge l'evento", selectTour: 'Seleziona Tour', somethingWrong: 'Qualcosa è andato storto', sponsorName: 'Nome dello sponsor', sponsors: 'Sponsor', sponsorsHint: 'Hai uno shop o un brand che ti sostiene? Aggiungi il loro logo — apparirà come fascia "Presented by" sull\'evento.', startRequired: 'Ora di inizio richiesta', startRequiredDesc: "Inserisci quando inizia l'evento.", titleRequired: 'Titolo richiesto', titleRequiredDesc: 'Inserisci un nome per questo evento.', uploadFailed: 'Caricamento non riuscito', uploadFailedDesc: "Caricamento dell'immagine non riuscito", websiteUrl: 'URL del sito web (opzionale)', }, createShop: { address: 'Indirizzo dello Shop', addressPlaceholder: 'es., 411 N Fairfax Ave, Los Angeles, CA 90036', addressRequired: 'Indirizzo richiesto', addressRequiredDesc: "Inserisci l'indirizzo del tuo shop.", contactHint: 'Aiuta i clienti a contattarti (consigliato almeno un metodo di contatto)', contactInfo: 'Informazioni di contatto', created: '🎉 Shop aggiunto!', createdDesc: 'Il tuo skate shop è ora sulla mappa. Gli skater possono zapparti per ringraziarti!', descriptionPlaceholder: 'Racconta il tuo shop, cosa vendi, la tua specialità...', detailsDesc: 'Racconta il tuo shop alla community. Tutti i campi contrassegnati con * sono obbligatori.', email: 'Email', hoursOfOperation: 'Orari di apertura', hoursPlaceholder: 'es., Lun-Sab 10-20, Dom 12-18', instagram: 'Instagram', invalidCoords: 'Coordinate non valide', invalidCoordsDesc: 'Inserisci una latitudine (-90 a 90) e una longitudine (-180 a 180) valide.', latPlaceholder: 'Latitudine (es., 34.0737)', lngPlaceholder: 'Longitudine (es., -118.3614)', locationRequired: 'Posizione richiesta', locationRequiredDesc: 'Inserisci le coordinate o usa la tua posizione attuale.', loginToAdd: 'Devi accedere per aggiungere uno skate shop.', namePlaceholder: 'es., Supreme Los Angeles', nameRequired: 'Nome dello shop richiesto', nameRequiredDesc: 'Inserisci un nome per il tuo shop.', phoneNumber: 'Numero di telefono', publishFailedDesc: 'Qualcosa è andato storto. Controlla la console per i dettagli.', shopPhotoAlt: 'Shop', shopPhotos: 'Foto dello Shop', subtitle: 'Elenca il tuo shop sulla mappa e connettiti con la community', upload: 'Carica', }, createTour: { acceptedClipSources: 'Fonti clip accettate', acceptedClipSourcesDesc: 'Quali formati accetti per le clip inviate?', accommodationInfo: "Info sull'alloggio", accommodationPlaceholder: "Consigli o sistemazioni per l'alloggio, es. 'Ostelli economici lungo il percorso', 'Serve attrezzatura da campeggio', 'Airbnb inclusi'", addChallenge: 'Aggiungi sfida', addCity: 'Aggiungi una città...', addCountry: 'Aggiungi un paese...', addShopFirst: 'Aggiungi prima uno shop', alsoSelected: 'Anche selezionato:', availabilityPlaceholder: 'es., Weekend, Solo mattine, Su appuntamento', availabilityQuestion: 'Quando sei di solito disponibile?', availableShops: 'Skate Shop disponibili ({{count}})', challengeDescPlaceholder: 'Descrizione opzionale...', challenges: 'Sfide', challengesRequired: 'Sfide richieste', challengesRequiredDesc: 'Aggiungi almeno una sfida che i team devono completare.', challengesSecret: 'Tutte le sfide sono SEGRETE fino alla data di inizio. I team non le vedranno fino ad allora!', challengeTitlePlaceholder: "Titolo della sfida, es. 'Kickflip da 10 scalini'", citiesLabel: 'Città', citiesOnTour: 'Città del Tour', cityPlaceholder: 'es., Berlino, Germania', cityRegion: 'Città / Regione', cityRequired: 'Città/regione richiesta', cityRequiredDesc: 'Inserisci la tua città o regione.', clipAnyUrl: '🔗 Qualsiasi URL', clipBlossom: '📦 Caricamento Blossom', clipInstagram: '📸 Instagram', clipYouTube: '▶️ YouTube', competitionDates: 'Date della competizione', competitionDatesWarning: "⚠️ Tutte le sfide sono SEGRETE fino alla data di inizio! I team non vedranno le sfide fino all'inizio della competizione.", competitionLocations: 'Luoghi della competizione', competitionLocationsDesc: 'Dove gareggeranno i team? Aggiungi tutte le città e i paesi coinvolti.', coordsHint: "Le coordinate sono opzionali. Aggiungile per fissare il punto d'incontro sulla mappa.", countriesLabel: 'Paesi', countriesRequired: 'Paesi richiesti', countriesRequiredDesc: 'Aggiungi almeno un paese per il tuo tour internazionale.', createdDestruction: '💀 WORLD DESTRUCTION TOUR CREATO!', createdDestructionDesc: 'I team possono registrarsi. Sfide svelate alla data di inizio!', createDestructionTour: 'Crea World Destruction Tour', createdInternational: '✈️ Tour internazionale creato!', createdInternationalDesc: 'La tua avventura globale è in elenco! Connettiti con skater di tutto il mondo.', createdLocal: '🏠 Tour locale creato!', createdLocalDesc: 'Il tuo tour è ora visibile. Gli skater possono prenotare via DM!', createdNational: '🚐 Tour nazionale creato!', createdNationalDesc: 'Il tuo viaggio su strada è live! Inizia a coordinarti con gli skater interessati.', departure: 'Partenza *', departureRequired: 'Data di partenza richiesta', departureRequiredDesc: 'Imposta quando parte il viaggio così gli skater possono pianificare e prenotare.', descriptionPlaceholder: "Descrivi cosa vivranno gli skater: spot che visiterai, atmosfera, cosa rende unico il tuo tour...", destructionDesc: 'Organizza la tua competizione globale in stile KOTR — decidi TU tutto!', discountHint: 'I partecipanti al tour possono mostrare la conferma di prenotazione allo shop per ricevere questo sconto', discountPercentage: 'Percentuale di sconto', dropTour: 'Pubblica un Tour', duration: 'Durata', durationHintDestruction: 'Quanto dura la competizione? (1-12 mesi)', durationHintInternational: "Quante settimane dura l'avventura? (fino a 2 mesi)", durationHintLocal: 'Quanto dura il tuo tour tipico?', durationHintNational: 'Quanti giorni dura il viaggio su strada?', durationWeeksMonths: '{{weeks}} settimane (~{{months}} mesi)', editTour: 'Modifica Tour', enable: 'Abilita', enabled: 'Abilitato', endBeforeStart: "Fine prima dell'inizio", endBeforeStartDesc: 'La data di fine della competizione deve essere uguale o successiva alla data di inizio.', endDate: 'Data di fine', entryFeeHint: 'Tieni il 95% • La piattaforma prende il 5% • Lascia vuoto per ingresso gratuito', entryFeePerTeam: "Quota d'ingresso per team (sats)", entryFeePlaceholder: 'es., 100000', entryPrizes: 'Ingresso e premi', filmPremieres: 'Anteprime dei film dei team', filmPremieresDesc: 'Dopo la competizione, le clip di ogni team diventano un film completo che può debuttare negli skate shop locali di tutto il mondo.', filmPremieresInfo: '🎥 I team montano le loro clip delle sfide in un film finale. Gli shop possono ospitare eventi di anteprima, collegando la competizione globale alle comunità locali.', filmReleaseDate: 'Data di uscita del film (opzionale)', filmReleaseDateHint: 'Quando i film saranno disponibili. Lascia vuoto per pubblicarli subito dopo la fine della competizione.', fixedSession: 'Sessione fissa', fixedSessionDesc: "Una data e un'ora stabilite", flexible: 'Flessibile', flexibleDesc: 'Prenota quando vuoi via DM', hide: 'Nascondi', howDestruction1: '• Competizione globale a squadre — fino a 12 mesi', howDestruction2: '• TU definisci sfide, punti, premi — noi forniamo solo la piattaforma', howDestruction3: '• Tutte le sfide sono SEGRETE fino alla data di inizio', howDestruction4: '• Clip via caricamento Blossom O link esterni (YouTube, Instagram, qualsiasi URL)', howDestruction5: '• Solo livello avanzato — tutti i tipi di spot inclusi automaticamente', howDestruction6: "• La piattaforma prende solo il 5% delle quote d'ingresso (NON del montepremi)", howDestructionTitle: '💀 WORLD DESTRUCTION TOUR - stile KOTR', howInternational1: '• Avventure transfrontaliere in più paesi', howInternational2: '• Sei tu a fissare il prezzo — la piattaforma prende solo il 5%', howInternational3: '• Imposta date di partenza e ritorno così la crew può prenotare i voli', howInternational4: '• Connetti skater da tutto il mondo', howInternational5: '• Crea esperienze globali indimenticabili!', howInternationalTitle: 'Come funzionano i Tour internazionali', howItWorks: 'Come funziona:', howLocal1: '• Sei tu a fissare il prezzo — la piattaforma prende il 10%', howLocal2: '• Gli spot nascosti restano nascosti — li mostri di persona', howLocal3: '• Organizza una sessione programmata o mantienila flessibile / su appuntamento', howLocal4: '• Gli skater prenotano via DM, pagano in Lightning e possono aggiungerla al calendario', howLocal5: '• Costruisci la tua reputazione con recensioni e zap', howLocalTitle: 'Come funzionano i Tour locali', howNational1: '• Viaggi su strada multi-città nel tuo paese', howNational2: '• Sei tu a fissare il prezzo — la piattaforma prende solo il 7%', howNational3: '• Imposta le date del viaggio così gli skater possono organizzarsi e viaggiare', howNational4: '• Includi info su trasporti / alloggio per la crew', howNational5: '• Costruisci leggendarie avventure sugli skate!', howNationalTitle: 'Come funzionano i Tour nazionali', imageUploadedDesc: "L'immagine del tuo tour è stata caricata.", incompleteCoords: 'Coordinate incomplete', incompleteCoordsDesc: 'Inserisci sia latitudine che longitudine, oppure lascia entrambe vuote.', internationalDetails: "Dettagli dell'avventura internazionale", languagesSelected: '{{count}} selezionate', languagesSpoken: 'Lingue parlate', latOptional: 'Latitudine (opzionale)', lngOptional: 'Longitudine (opzionale)', loadingProfile: 'Caricamento profilo...', loadingProfileDesc: 'Verifica del tuo stato di verifica NIP-05.', loadingShops: 'Caricamento shop...', localShopPremieres: 'Anteprime negli shop locali', localShopPremieresDesc: 'Gli skate shop di tutto il mondo possono ospitare serate di proiezione', loginToCreate: 'Devi accedere per creare un tour.', maxGroupSize: 'Dimensione massima del gruppo', maxTeams: 'Team massimi', maxTeamSize: 'Dimensione massima del team', meetingLocationSet: "La tua posizione attuale è stata impostata come punto d'incontro.", meetingPointDesc: "Dove incontrerai i partecipanti al tour? Scegli un posto pubblico e ben noto.", meetingPointLabel: "Punto d'incontro", meetingPointPlaceholder: 'es., Stazione Warschauer Straße', meetingPointRequired: "Punto d'incontro richiesto", meetingPointRequiredDesc: "Inserisci dove incontrerai i partecipanti al tour.", minTeamSize: 'Dimensione minima del team', noChallenges: 'Ancora nessuna sfida', noChallengesDesc: 'Aggiungi sfide che i team devono completare', noPartnerShop: 'Nessuno shop partner', noShopsFound: 'Nessuno skate shop trovato sulla rete finora.', noShopsRegistered: 'Nessuno skate shop ancora registrato', onlineRelease: 'Pubblicazione online', onlineReleaseDesc: 'Pubblica i film anche su YouTube/Nostr', organizerContact: "Dati di contatto dell'organizzatore", organizerContactHint: 'Saranno visibili ai team registrati', organizerContactPlaceholder: 'Come possono contattarti i team? es., Nostr npub, email, Telegram, ecc.', partnerDiscountDesc: 'Offri ai partecipanti al tour uno sconto in uno skate shop locale', partnerStep1: '1. Collabora con uno skate shop locale di cui ti fidi', partnerStep2: '2. Imposta una percentuale di sconto per i partecipanti al tour', partnerStep3: '3. Dopo il tour, dai ai partecipanti una conferma da mostrare allo shop', partnerStep4: '4. Lo shop onora lo sconto — costruisce community e porta clienti!', percentOff: '{{percent}}% DI SCONTO', photoHint: 'Aggiungi una foto di te sullo skate o di uno spot figo del tuo tour.', pickRide: 'Scegli il tuo mezzo', place1: '🥇 1°', place2: '🥈 2°', place3: '🥉 3°', platformFee: 'Sei tu a fissare il prezzo • La piattaforma prende il {{percent}}', points: 'Punti:', pricePerPerson: 'Prezzo per persona (sats)', pricePlaceholder: 'es., 25000', prizeDistribution: 'Distribuzione dei premi', prizePoolHint: 'Opzionale - premi totali disponibili', prizePoolPlaceholder: 'es., 2000000', proTipDesc: 'Prima di elencare uno sconto partner, contatta il proprietario dello shop via DM per concordare la percentuale. Così saranno d\'accordo e onoreranno lo sconto per i tuoi partecipanti.', proTipTitle: '💡 Consiglio: coordinati prima con lo shop!', return: 'Ritorno', returnBeforeDeparture: 'Ritorno prima della partenza', returnBeforeDepartureDesc: 'La data di ritorno deve essere uguale o successiva alla data di partenza.', roadTripDetails: 'Dettagli del viaggio su strada', schedule: 'Programma', scheduleDesc: "Organizza come sessione programmata una tantum, oppure mantienila flessibile e lascia che gli skater prenotino un orario via DM.", secretUntilStart: "Segreto fino all'inizio", selectPartnerShop: 'Seleziona shop partner', sessionDateRequired: 'Data della sessione richiesta', sessionDateRequiredDesc: "Scegli la data e l'ora della tua sessione programmata, oppure passa a un programma flessibile.", sessionDateTime: 'Data e ora della sessione', sessionDateTimeHint: 'Gli skater vedranno questo orario e potranno aggiungerlo al calendario dalla pagina del tour.', shopPremieresContact: 'Contatta direttamente questi shop per organizzare serate di anteprima. Tutti gli accordi sono privati.', shopPremieresHow: '💡 Come funzionano le anteprime negli shop: contatta direttamente gli shop per organizzare serate di anteprima. Tutti gli accordi sono privati tra te e gli shop.', shopsCanRegister: 'Gli shop possono registrarsi su /create-shop', show: 'Mostra', showAllLanguages: 'Mostra tutte le {{count}} lingue', somethingWrong: 'Qualcosa è andato storto.', spotTypes: 'Tipi di Spot', spotTypesRequired: 'Tipi di spot richiesti', spotTypesRequiredDesc: 'Seleziona almeno un tipo di spot che mostrerai.', startDate: 'Data di inizio', startDateRequired: 'Data di inizio richiesta', startDateRequiredDesc: 'Imposta quando inizia la competizione (le sfide saranno svelate a quella data).', startingCity: 'Città di partenza', startingCityPlaceholder: 'es., Los Angeles, USA', teamSettings: 'Impostazioni dei team', teamsCount: '{{count}} team', titlePlaceholder: 'es., Berlino Kreuzberg - Tour degli spot underground', titleRequired: 'Titolo del tour richiesto', titleRequiredDesc: 'Inserisci un nome per il tuo tour.', totalPercent: 'Totale: {{percent}}%', totalPrizePool: 'Montepremi totale (sats)', tourDesc: 'Racconta agli skater cosa aspettarsi dal tuo tour', tourDetails: 'Dettagli del Tour', tourPhoto: 'Foto del Tour', tourTitle: 'Titolo del Tour', transportDestructionPlaceholder: 'Come viaggeranno i team tra le località? Trasporti forniti o consigliati?', transportInfo: 'Info sui trasporti', transportPlaceholder: "Come viaggeranno i partecipanti? es., 'Van fornito', 'Volo per Barcellona, noleggiamo un van', 'Treno tra le città'", tripDatesDesc: 'Fissa le date così gli skater possono chiedere ferie, prenotare voli e pianificare il viaggio.', tripDatesTitle: 'Date del viaggio', updated: 'Tour aggiornato!', updatedDesc: 'Le tue modifiche sono state pubblicate.', upload: 'Carica', view: 'Vedi →', worldDestruction: 'World Destruction Tour', youReceive: 'Ricevi: {{amount}} sats per persona', }, editEvent: { accessDenied: 'Accesso negato', accessDeniedDesc: 'Puoi modificare solo gli eventi che hai creato.', backToEvent: "Torna all'Evento", detailsDesc: 'Aggiorna le informazioni di questo evento. Tutti i campi contrassegnati con * sono obbligatori.', eventCover: "Copertina dell'evento", locationUpdated: 'Posizione aggiornata.', loginToEdit: 'Devi accedere per modificare questo evento.', newSpot: 'Nuovo spot: {{location}}.', newTime: 'Nuovo orario: {{date}} alle {{time}}.', saveChanges: 'Salva modifiche', saving: 'Salvataggio...', title: 'Modifica Evento', updated: 'Evento aggiornato!', updatedDesc: 'Le tue modifiche sono state pubblicate sulla rete.', updateDetails: 'Aggiorna i dettagli di {{title}}', updatedNotified: 'Modifiche pubblicate — {{count}} partecipanti avvisati.', updateFailed: 'Aggiornamento non riuscito', updateMessage: "{{parts}} — vedi l'evento per i dettagli.", }, editShop: { accessDeniedDesc: 'Puoi modificare solo gli shop che hai creato.', backToShop: 'Torna allo Shop', detailsDesc: 'Aggiorna le informazioni del tuo shop. Tutti i campi contrassegnati con * sono obbligatori.', loginToEdit: 'Devi accedere per modificare questo shop.', updated: 'Shop aggiornato!', updateDetails: 'Aggiorna i dettagli di {{name}}', }, editTour: { accessDeniedDesc: 'Puoi modificare solo i tour che hai creato.', loginToEdit: 'Devi accedere per modificare questo tour.', }, eventCard: { report: 'Segnala', }, eventDetail: { aCrew: 'una crew', addToCalendar: 'Aggiungi al calendario', backToEvents: 'Torna agli Eventi', cancelled: 'Questo evento è stato annullato', checkUpdate: "— controlla l'aggiornamento", copyFailed: 'Copia non riuscita', date: 'Data', editEvent: 'Modifica evento', eventFallback: 'Evento', eventOrganizer: "Organizzatore dell'Evento", getDirections: 'Ottieni indicazioni', linkCopied: 'Link copiato', linkCopiedDesc: "Link dell'evento copiato negli appunti — incollalo dove vuoi.", live: 'Live:', liveMusic: 'musica dal vivo', location: 'Posizione', newLocation: 'Nuova posizione', noRsvps: 'Nessun RSVP registrato.', organizer: 'Organizzatore', rsvpsClosed: "Gli RSVP sono chiusi — questo evento è stato annullato dall'host.", seeMap: 'Vedi mappa', shareEvent: 'Condividi evento', shareText: '{{title}} — un evento skate su SkateSpots', shareTextFallback: "Dai un'occhiata a questo evento skate su SkateSpots", time: 'Ora', timeChanged: 'Orario modificato', updatesFromHost: "Aggiornamenti dall'host", where: 'Dove', whoCame: 'Chi è venuto', whosGoing: 'Chi partecipa', }, events: { calendar: 'Calendario', createTour: 'Crea Tour', events: 'Eventi', faqFooter: 'Hai domande? Consulta le FAQ →', hosting: 'Ospiti', hostingSubtitle: 'I tuoi eventi — RSVP, aggiornamenti e modifiche rapide', list: 'Elenco', noEventsMatchFilters: 'Nessun evento corrisponde ai tuoi filtri. Prova a modificarli o rimuoverli.', noPast: 'Nessun evento passato', noPastBody: 'Nessun evento skate passato trovato con i tuoi filtri attuali.', noTours: 'Nessun tour trovato', noToursBody: 'Ancora nessun tour skate. Crea il primo e porta gli skater alla scoperta degli spot!', noToursMatchFilters: 'Nessun tour corrisponde ai tuoi filtri. Prova a modificarli o rimuoverli.', noUpcoming: 'Nessun evento in arrivo', noUpcomingBody: 'Nessun evento skate in arrivo trovato. Sii il primo a crearne uno!', past: 'Passati', resultsCount: '{{count}} risultati', searchCity: 'Città…', searchEvent: "Nome dell'evento…", searchTour: 'Nome del tour…', tours: 'Tour', toursSubtitle: 'Guide locali, viaggi su strada e competizioni world destruction', upcoming: 'In arrivo', }, eventTypes: { contest: 'Contest', demo: 'Demo', jam: 'Jam', meetup: 'Meetup', premiere: 'Anteprima', session: 'Sessione', workshop: 'Workshop', }, featured: { active: 'Attivo', bodyEvent: 'Pubblicazione gratuita. Gli eventi in evidenza ricevono un badge e stanno in cima alla pagina degli eventi.', bodyTour: 'Pubblicazione gratuita. I tour in evidenza ricevono un badge e stanno in cima alla lista dei tour.', contextEvent: "Il tuo evento resta in elenco gratuitamente in ogni caso — l'evidenza aggiunge solo il badge e il boost.", contextTour: "Il tuo tour resta in elenco gratuitamente in ogni caso — l'evidenza aggiunge solo il badge e il boost.", daysRemaining: 'Evidenza attiva · {{count}} giorni rimanenti.', headingEvent: 'Metti in evidenza questo evento', headingTour: 'Metti in evidenza questo tour', optional: 'opzionale', platformOwner: "Proprietario della piattaforma — l'evidenza è sempre attiva.", }, filters: { activeCount: '{{count}} attivi', all: 'Tutti', allLevels: 'Tutti i livelli', eventType: 'Tipo di Evento', following: 'Seguiti', newest: 'Più recenti', popular: 'Popolari', showResults: 'Mostra risultati', showResultsActive: 'Mostra risultati · {{count}} attivi', skillLevel: 'Livello', sortBy: 'Ordina per', topRated: 'Più votati', tourCategory: 'Categoria del Tour', trusted: 'Affidabile', trustLevel: 'Livello di affidabilità', verified: 'Verificato', }, food: { bar: 'Bar', cafe: 'Caffè', call: 'Chiama', chooseSpot: 'Scegli uno spot...', directions: 'Indicazioni', fastFood: 'Fast Food', foodCourt: 'Food Court', locationLabel: 'Posizione:', noneFound: 'Nessun posto dove mangiare trovato', noneFoundDesc: 'Non abbiamo trovato ristoranti o caffè entro 1 km da questo spot. Prova a selezionare una posizione diversa.', placesFound: '{{count}} posti trovati entro 1 km da {{spot}}', pub: 'Pub', restaurant: 'Ristorante', selectSpot: 'Seleziona uno spot', selectSpotDesc: 'Scegli uno skate spot dal menu sopra per trovare ristoranti, caffè e altre opzioni nelle vicinanze.', selectSpotTitle: 'Seleziona uno Skate Spot', subtitle: 'Trova posti dove mangiare vicino ai tuoi skate spot preferiti', title: 'Cibo vicino agli Spot', unknown: 'Sconosciuto', website: 'Sito web', }, rsvp: { areYouGoing: 'Ci vai?', cant: 'Non posso', cantMakeIt: 'Non riesco a venire', going: 'Ci vado', goingCount: 'partecipano', goingShort: 'Ci vado', hostNote: 'Sei tu l\'host — ma puoi comunque impostare il tuo stato.', interested: 'Interessato', interestedCount: 'interessati', loginToRsvp: 'Accedi per confermare la presenza (RSVP).', maybe: 'Forse', toastError: "Impossibile confermare l'RSVP", toastGoing: 'Ci sarai! 🛹', toastInterested: 'Segnato come interessato.', toastNotGoing: 'Segnato come non partecipante.', tryAgain: 'Riprova.', }, shop: { addNip05Settings: 'Aggiungi NIP-05 nelle Impostazioni', adminRemovedReason: 'Un admin di SkateSpots ha rimosso lo shop "{{name}}"', areYouOwner: 'Sei il proprietario dello Shop?', backToMap: 'Torna alla mappa', claimDesc: 'Se possiedi o gestisci questo shop, puoi rivendicarlo per verificare la proprietà tramite NIP-05.', claimNip05Intro: "Per rivendicare questo shop, aggiungi un identificatore NIP-05 che corrisponda al dominio del sito dello shop. Ad esempio, se il sito dello shop è", claimNip05Your: 'il tuo NIP-05 dovrebbe essere', contactShop: 'Contatta lo Shop', deleted: 'Shop eliminato', deletedDesc: 'Richiesta di eliminazione inviata ai relay. La maggior parte dei relay rimuoverà questo contenuto.', deleteDialogDesc: 'Questo eliminerà definitivamente "{{name}}" da tutti i relay. Questa azione non può essere annullata.', deleteDialogTitle: 'Eliminare lo Shop?', deletedReason: 'Shop eliminato', deleteFailed: 'Eliminazione non riuscita', deleteShop: 'Elimina Shop', linkCopied: 'Link copiato!', linkCopiedDesc: 'Link dello shop copiato negli appunti.', nip05Required: '⚠️ Verifica NIP-05 richiesta per rivendicare gli shop', opens: 'Apre: {{domain}}', removeAdmin: 'Rimuovi (admin)', removed: 'Shop rimosso', removedDesc: 'Questo shop è stato rimosso e sarà nascosto in tutto SkateSpots.', removeDialogDesc: 'Come admin di SkateSpots stai rimuovendo "{{name}}". Sarà nascosto nell\'app per tutti e una richiesta di eliminazione sarà inviata ai relay.', removeDialogTitle: 'Rimuovere questo shop? (admin)', removeShop: 'Rimuovi Shop', tipMapper: 'Dai un tip al Mapper', tipMapperDesc: 'Questo shop è stato aggiunto da un membro della community. Zappalo per ringraziarlo!', updateNip05: 'Aggiorna il NIP-05 per rivendicare', viewPhotoFull: 'Visualizza foto a schermo intero', viewPhotoOf: 'Visualizza foto {{index}} di {{total}}', }, sponsors: { presentedBy: 'Presentato da', }, tourCard: { active: 'Attivo', completed: 'Completato', contactForPrice: 'Contatta per il prezzo', durationDays: '{{count}} giorni', durationHours: '{{count}} ore', durationMonths: '{{count}} mesi', durationWeeks: '{{count}} settimane', entry: 'Ingresso: {{amount}} sats', happeningNow: 'In corso', inDays: 'Tra {{count}} giorni', inHours: 'Tra {{count}}h', inMonths: 'Tra {{count}} mesi', inWeeks: 'Tra {{count}} settimane', maxGroup: 'Max {{count}}', price: '{{amount}} sats', prizePool: '{{amount}} sats', registrationOpen: 'Iscrizioni aperte', startingSoon: 'Inizia presto', teamsMax: '{{count}} team max', tomorrow: 'Domani', worldwide: 'In tutto il mondo', }, tourDetail: { about: 'Informazioni sul Tour', availability: 'Disponibilità', competitionWindow: 'Finestra della competizione', contactToBook: 'Contatta la guida per prenotare', discountAt: '{{percent}}% DI SCONTO da {{shop}}', duration: 'Durata', languages: 'Lingue', loginToBook: 'Accedi per prenotare', loginToBookDesc: 'Accedi per contattare la guida e prenotare questo tour', maxGroup: 'Gruppo massimo', meetingPoint: "Punto d'incontro", notFound: 'Tour non trovato', notFoundDesc: "Questo tour potrebbe essere stato rimosso o non esistere.", organizer: 'Organizzatore', partnerDiscount: 'Sconto shop partner', partnerDiscountDesc: 'Prenota questo tour per ricevere uno sconto nello skate shop partner. Mostra la conferma di prenotazione al personale dello shop.', people: '{{count}} persone', perPerson: 'per persona', price: 'Prezzo', runsAbout: 'Dura circa {{duration}}', scheduledSession: 'Sessione programmata', shareText: "Dai un'occhiata a questo tour skate locale: {{title}}", skillLevel: 'Livello', spotTypes: 'Tipi di Spot', tourGuide: 'Guida del Tour', tourSponsors: 'Sponsor del Tour', tripDates: 'Date del viaggio', viewProfile: 'Vedi profilo', }, updates: { admin: 'Admin', adminNote: "Stai pubblicando come admin di SkateSpots. Sarà chiaramente etichettato come avviso admin, non dall'host.", kindCancelled: 'Annullato', kindNewSpot: 'Nuovo spot', kindNewTime: 'Nuovo orario', kindUpdate: 'Aggiornamento', loading: 'Caricamento aggiornamenti…', notifiedCount: '{{count}} persone avvisate.', notifiedEveryone: 'Tutti lo vedranno sull\'evento.', notifiesRsvps: 'Avvisa {{count}} RSVP', noUpdates: "Ancora nessun aggiornamento dall'host. Conferma la presenza e sarai avvisato se qualcosa cambia.", placeholder: 'Pioggia — spostato a domenica alle 14. Ci vediamo al ledge dietro…', post: 'Pubblica', postAdminUpdate: 'Pubblica un aggiornamento admin', posted: 'Aggiornamento pubblicato', postError: "Impossibile pubblicare l'aggiornamento", postUpdate: 'Pubblica un aggiornamento', tryAgain: 'Riprova.', visibleToEveryone: 'Visibile a tutti su questo evento', }, destination: { bitcoin: 'Bitcoin', closeSearch: 'Chiudi ricerca', nothingMatches: 'Nessun risultato per “{{query}}”.', placeholder: 'Cerca spot, shop, esercenti Bitcoin…', shop: 'Shop', spot: 'Spot', typeChars: 'Digita almeno 2 caratteri. Cerca skate spot, skate shop ed esercenti Bitcoin.', typeCharsNear: 'Digita almeno 2 caratteri. Cerca skate spot, skate shop ed esercenti Bitcoin qui vicino.', }, dateWindow: { any: 'Qualsiasi', anytime: 'In qualsiasi momento', month: 'Questo mese', monthShort: 'Mese', today: 'Oggi', todayShort: 'Oggi', week: 'Questa settimana', weekend: 'Weekend', weekendShort: 'Weekend', weekShort: 'Sett.', }, }, marketUi: { gearSwap: { title: 'Gear Swap', subtitle: 'Compra e vendi gear da skate usato con altri skater', listGear: 'Elenca Gear', searchPlaceholder: 'Cerca gear...', allCategories: 'Tutte le categorie', forSale: 'In vendita', wtb: 'WTB', trust: 'Affidabilità', filterByTrust: 'Filtra per affidabilità', allSellers: 'Tutti i venditori', verifiedOnly: 'Solo verificati', trustedPlus: 'Trusted+', followingOnly: 'Solo seguiti', pickupOrShip: 'Ritiro o spedizione', localPickup: 'Ritiro locale', ships: 'Spedizione', sortBy: 'Ordina per', newest: 'Più recenti', priceLowHigh: 'Prezzo: dal più basso', priceHighLow: 'Prezzo: dal più alto', trustScore: 'Punteggio di affidabilità', nearest: 'Più vicini (locali)', listingFound: '{{count}} annuncio trovato', listingsFound: '{{count}} annunci trovati', loadFailed: 'Caricamento degli annunci non riuscito', tryLater: 'Riprova più tardi.', noneTitle: 'Nessun annuncio trovato', noneFiltered: 'Nessun gear corrisponde ai filtri attuali. Prova a rimuoverli o a cercare altro.', noneFirst: 'Sii il primo a mettere in vendita il tuo gear — deck, trucks, wheels, scarpe, qualsiasi cosa da skate!', listYourGear: 'Elenca il tuo Gear', faqLink: 'Hai domande? Consulta le FAQ →', }, hub: { browse: 'Esplora', selling: 'In vendita', myTrades: 'I miei scambi', reputation: 'Reputazione', loginListings: 'Accedi per gestire i tuoi annunci.', loginReputation: 'Accedi per vedere la tua reputazione e le recensioni.', }, marketplace: { heroTitle: 'Shop e Marketplace', heroBefore: 'Il nostro marketplace è basato su', heroAfter: '- un marketplace decentralizzato su Nostr. Gli skate shop possono elencare i loro prodotti e puoi comprare/vendere gear usato direttamente con Bitcoin.', whatIsTitle: "Cos'è Plebeian Market?", whatIsBody: 'Plebeian Market è un marketplace decentralizzato costruito su Nostr. Compra e vendi gear da skateboarding direttamente con altri skater usando Bitcoin. Nessun intermediario, nessuna commissione, totale libertà.', noFeesTitle: 'Nessuna commissione', noFeesBody: 'Nessuna piattaforma che prende il 30%. Vendite dirette peer-to-peer.', bitcoinTitle: 'Pagamenti in Bitcoin', bitcoinBody: 'Paga con Bitcoin. Veloce, sicuro, globale.', decentralizedTitle: 'Decentralizzato', decentralizedBody: 'Costruito su Nostr. Nessuna azienda lo controlla.', visit: 'Visita Plebeian Market', buySellTitle: 'Cosa puoi comprare e vendere', catCompletes: 'Skate complete', preBuilt: 'Complete pre-assemblati', customSetups: 'Setup personalizzati', beginnerBoards: 'Tavole per principianti', catParts: 'Parti del Deck', decks: 'Deck', trucks: 'Trucks', wheels: 'Wheels', bearings: 'Bearings', gripTape: 'Griptape', hardware: 'Viteria', catApparel: 'Abbigliamento e protezioni', skateShoes: 'Scarpe da skate', clothing: 'Abbigliamento', helmets: 'Caschi', pads: 'Protezioni', backpacks: 'Zaini', catAccessories: 'Accessori', tools: 'Attrezzi', wax: 'Wax', rails: 'Rail', stickers: 'Sticker', videos: 'Video', magazines: 'Riviste', howItWorks: 'Come funziona', step1Title: 'Esplora i prodotti', step1Body: 'Visita Plebeian Market e sfoglia gear da skateboarding da shop e privati di tutto il mondo.', step2Title: 'Contatta i venditori', step2Body: 'Scrivi direttamente ai venditori via Nostr. Tratta i prezzi, fai domande, organizza la spedizione.', step3Title: 'Paga con Bitcoin', step3Body: "Completa l'acquisto usando Bitcoin Lightning per pagamenti istantanei e a basso costo.", step4Title: 'Lascia un feedback', step4Body: 'Valuta la tua esperienza e costruisci la reputazione del venditore su Nostr. Le tue recensioni aiutano la community.', needBitcoinTitle: 'Ti serve Bitcoin?', needBitcoinBefore: "Ti servirà un wallet Lightning con qualche sat per fare acquisti. Dai un'occhiata alla", onboardingGuide: 'guida introduttiva', needBitcoinAfter: 'per consigli sui wallet.', ownShopTitle: 'Hai uno Skate Shop?', ownShopBody: 'Elenca il tuo shop su SkateSpots e vendi i tuoi prodotti su Plebeian Market. Raggiungi clienti in tutto il mondo con zero commissioni di piattaforma.', addShop: 'Aggiungi il tuo Shop', startSelling: 'Inizia a vendere', }, listingDetail: { notFound: 'Annuncio non trovato', notFoundBody: 'Potrebbe essere stato eliminato o il link è sbagliato.', backToGearSwap: 'Torna a Gear Swap', gearSwap: 'Gear Swap', viewPhoto: 'Visualizza foto {{n}}', photoAlt: '{{title}} — foto {{n}}', wantToBuy: 'CERCO', sold: 'VENDUTO', description: 'Descrizione', usuallyHere: 'Di solito qui {{availability}}', listed: 'Inserito {{date}}', listingCountOne: '{{count}} annuncio · {{age}}g fa', listingCountMany: '{{count}} annunci · {{age}}g fa', relistActive: 'Rimetti attivo', markSold: 'Segna come venduto', deleteListing: 'Elimina annuncio', makeOffer: "Fai un'offerta", shareListing: 'Condividi annuncio', unknown: 'Sconosciuto', linkCopied: 'Link copiato', linkCopiedBody: 'Condividilo con uno skater.', copyFailed: 'Impossibile copiare il link', relisted: 'Rimesso in vendita', relistedBody: 'Il tuo annuncio è di nuovo attivo.', couldNotUpdate: 'Impossibile aggiornare', somethingWrong: 'Qualcosa è andato storto', }, create: { imageUploaded: 'Immagine caricata', uploadFailed: 'Caricamento non riuscito', failed: 'Non riuscito', cooldownActive: 'Attesa attiva', cooldownWait: 'Attendi {{time}} prima di creare un altro annuncio', limitReached: 'Limite di annunci raggiunto', limitReachedBody: 'Hai raggiunto il limite mensile di {{limit}} annunci', feeRequired: 'Commissione richiesta', feeRequiredBody: 'Paga la commissione anti-spam per continuare', titleRequired: 'Titolo richiesto', categoryRequired: 'Categoria richiesta', photoRequired: 'Foto richiesta', photoRequiredBody: 'Almeno una foto è richiesta per vendere gear', nip05Required: 'Verifica NIP-05 richiesta', nip05RequiredBody: 'Ti serve un indirizzo Nostr verificato per elencare gear', priceRequired: 'Prezzo richiesto per annunci a prezzo fisso', sizeRequired: 'Misura richiesta', sizeRequiredBody: 'Seleziona una misura per {{category}}', conditionRequired: 'Condizione richiesta', conditionRequiredBody: 'Seleziona la condizione del tuo {{category}}', wtbPosted: 'Richiesta di acquisto pubblicata!', wtbPostedBody: 'I venditori potranno trovare la tua richiesta.', listingCreated: 'Annuncio creato!', listingCreatedBody: 'Il tuo gear è ora in vendita.', publishFailed: 'Pubblicazione non riuscita', loginRequired: 'Accesso richiesto', loginRequiredBody: 'Devi accedere per elencare gear.', backToStash: 'Torna allo Stash', backToSpot: 'Torna a {{title}}', backToMarketplace: 'Torna al Marketplace', backToMap: 'Torna alla mappa', wantToBuy: 'Cerco', listYourGear: 'Elenca il tuo Gear', wtbSubtitle: "Di' alla community quale gear stai cercando", sellSubtitle: 'Vendi gear da skateboarding alla community', fromStashTitle: 'Annuncio dal tuo Stash', fromStashBody: "Precompilato con i dettagli dell'oggetto nel tuo stash. Controlla e scegli un punto d'incontro!", nip05Banner: 'Per prevenire lo spam e proteggere gli acquirenti, ti serve un indirizzo Nostr verificato (NIP-05) per elencare gear.', verifiedLabel: 'Verificato:', checkingTrust: 'Verifica del tuo livello di affidabilità...', trustLevel: 'Livello di affidabilità:', trusted: 'Affidabile', active: 'Attivo', newcomer: 'Nuovo arrivato', newUser: 'Nuovo utente', remaining: '{{remaining}} di {{limit}} annunci rimanenti questo mese', cooldownBody: "I nuovi utenti hanno un'attesa di 24 ore tra un annuncio e l'altro.", timeRemaining: 'Tempo rimanente: {{time}}', monthlyLimitTitle: 'Limite mensile raggiunto', monthlyLimitBody: 'Hai raggiunto il limite di {{limit}} annunci questo mese. Costruisci la tua reputazione creando spot o completando vendite per aumentare il limite.', powAccepted: 'Proof of work accettato!', feePaid: 'Commissione pagata!', canCreateNow: 'Ora puoi creare il tuo annuncio.', whatDoTitle: 'Cosa vuoi fare?', sellGear: 'VENDI GEAR', categoryTitle: 'Categoria *', categoryHint: 'Che tipo di gear?', detailsTitle: 'Dettagli del Gear', detailsWtbHint: 'Descrivi cosa stai cercando', detailsSellHint: 'Racconta il tuo oggetto agli acquirenti', titleLabel: 'Titolo *', titlePlaceholderWtb: 'Cerco deck 8.0"', titlePlaceholderSell: 'Deck Palace quasi nuovo 8.25"', summaryLabel: 'Breve riepilogo', summaryPlaceholderWtb: 'Qualsiasi marca, preferisco grafiche minimali', summaryPlaceholderSell: 'Ottime condizioni, usato pochissimo', descriptionLabel: 'Descrizione', descriptionPlaceholderWtb: 'Descrivi esattamente cosa cerchi - preferenze di marca, requisiti di condizione, ecc.', descriptionPlaceholderSell: "Ho preso questo deck a Natale ma preferisco una misura più piccola. Felice di fartelo provare prima dell'acquisto!", fulfilmentLabel: 'Come viene consegnato?', pickup: 'Ritiro', pickupHint: 'Incontro di persona', ships: 'Spedizione', shipsHint: 'Spediscilo', both: 'Entrambi', bothHint: 'Indifferente', addressNote: 'Non raccogliamo mai il tuo indirizzo — per la spedizione, condividilo privatamente nella chat dello scambio.', postageLabel: 'Chi paga la spedizione?', requireEscrow: 'Richiedi escrow', requireEscrowHint: "Chiedi all'acquirente di saldare tramite escrow Cashu.", postageBuyer: "Paga l'acquirente", postageSeller: 'Pago io', postageSplit: 'Dividi', sizeLabel: 'Misura', selectSize: 'Seleziona misura', truckHeight: 'Altezza dei Trucks', selectHeight: 'Seleziona altezza', wheelHardness: 'Durezza delle Wheels', selectHardness: 'Seleziona durezza', pricingTitle: 'Prezzo', pricingWtbHint: 'Come vuoi pagare?', pricingSellHint: 'Come vuoi vendere?', priceLabel: 'Prezzo *', currencyLabel: 'Valuta', photosTitle: 'Foto', photosSellHint: 'Almeno una foto è richiesta', photosWtbHint: 'Opzionale - aggiungi immagini di riferimento', productPhoto: 'Prodotto {{n}}', upload: 'Carica', photosNote: 'Aggiungi fino a 5 foto. La prima immagine sarà quella principale.', pickupLocationTitle: 'Luogo di ritiro', pickupLocationHint: 'Collega a uno skate spot per incontri facili', searchSpots: 'Cerca spot...', noSpotsFound: 'Nessuno spot trovato. Prova una ricerca diversa.', availabilityLabel: 'Quando sei di solito disponibile?', availabilityPlaceholder: 'Weekend 10-14, mar/gio sera', availabilityHint: 'Aiuta gli acquirenti a coordinare un incontro con te', durationTitle: "Durata dell'annuncio", durationHint: 'Per quanto tempo deve restare attivo questo annuncio?', publishing: 'Pubblicazione...', checkingEligibility: 'Verifica dei requisiti...', cooldownButton: 'ATTESA: {{time}}', limitReachedButton: 'LIMITE RAGGIUNTO', payFeeButton: 'PAGA LA COMMISSIONE PER CONTINUARE', postWtbButton: 'PUBBLICA RICHIESTA', listForSaleButton: 'ELENCA GEAR IN VENDITA', }, trades: { title: 'I miei scambi', loginBody: 'Accedi per gestire i tuoi scambi nel marketplace e la tua reputazione.', subtitle: "Conferme, richieste e la reputazione che costruiscono. Il pagamento viene organizzato con l'altro skater — l'app registra solo l'accordo.", actionNeeded: 'Azione richiesta', askedToConfirmSale: 'ti ha chiesto di confermare una vendita', recordedSale: 'ha registrato una vendita — conferma la tua parte', confirmSale: 'Conferma vendita', confirm: 'Conferma', nothingWaiting: 'Niente in attesa per te al momento. 🛹', yourRecords: 'I tuoi record di scambi', noTrades: 'Ancora nessuno scambio. Chiudi un accordo e confermalo per iniziare a costruire la reputazione.', browseGearSwap: 'Sfoglia Gear Swap', roleSold: 'Venduto', roleBought: 'Comprato', roleTrade: 'Scambio', with: 'con', viewListing: 'Vedi annuncio', revoke: 'Revoca', revokeTitle: 'Revocare questo record di scambio?', revokeBody: "Smetterà di contare per la tua reputazione. L'altra parte mantiene la propria attestazione. Usalo per un accordo contestato o sbagliato.", revokeNote: "Ritirato dall'autore.", revoked: 'Record di scambio revocato', revokedBody: 'Non conta più per la reputazione.', revokeFailed: 'Impossibile revocare lo scambio', saleConfirmed: 'Vendita confermata', saleConfirmedBody: 'Ora possono confermare la loro parte.', saleConfirmFailed: 'Impossibile confermare la vendita', tradeConfirmed: 'Scambio confermato', tradeConfirmedBody: 'Reputazione aggiornata per entrambi.', tradeConfirmFailed: 'Impossibile confermare lo scambio', somethingWrong: 'Qualcosa è andato storto.', }, card: { listingDeleted: 'Annuncio eliminato', listingRemoved: 'Annuncio rimosso', listingDeletedBody: 'Il tuo annuncio è stato rimosso. I relay che rispettano le eliminazioni smetteranno di servirlo.', listingRemovedBody: 'Questo annuncio è stato rimosso e sarà nascosto in tutto SkateSpots.', removeFailed: 'Rimozione non riuscita', somethingWrong: 'Qualcosa è andato storto', markedSold: 'Segnato come venduto', markedSoldBody: 'Il tuo annuncio è ora mostrato come venduto.', couldNotUpdate: 'Impossibile aggiornare', relisted: 'Rimesso in vendita', relistedBody: 'Il tuo annuncio è di nuovo attivo.', listingOptions: 'Opzioni annuncio', report: 'Segnala', removeAdmin: 'Rimuovi (admin)', postage: 'spedizione', newSeller: 'Nuovo venditore', saleOne: '{{count}} vendita', saleMany: '{{count}} vendite', iHaveThis: "Questo ce l'ho!", deleteTitle: 'Eliminare "{{title}}"?', adminRemoveTitle: 'Rimuovere questo annuncio? (admin)', deleteBody: 'Questo chiede ai relay di rimuovere il tuo annuncio "{{title}}". Non può essere annullato da qui — dovresti crearne uno nuovo.', adminRemoveBody: 'Come admin di SkateSpots stai rimuovendo "{{title}}". Sarà nascosto nell\'app per tutti e una richiesta di eliminazione sarà inviata ai relay.', deleting: 'Eliminazione…', removing: 'Rimozione…', deleteListing: 'Elimina annuncio', removeListing: 'Rimuovi annuncio', reportCount: '{{count}} segnalazione', reports: '{{count}} segnalazioni', viewTitle: 'Vedi {{title}}', reportListing: 'Segnala annuncio', manageListing: 'Gestisci annuncio', trusted: 'Affidabile', daysOld: '{{n}}g', monthsOld: '{{n}} mesi', yearsOld: '{{n}} anni', listingsCount: '{{count}} annunci', postageBuyer: 'spedizione: acquirente', postageSeller: 'spedizione: venditore', postageSplit: 'spedizione: divisa', powTitle: 'NIP-13 proof of work — anti-spam gratuito', verifiedTradeOne: '{{count}} scambio verificato', verifiedTrades: '{{count}} scambi verificati', reportSubmitted: 'Segnalazione inviata', reportSubmittedBody: 'Grazie per aiutarci a mantenere il marketplace sicuro.', reportFailed: 'Invio della segnalazione non riuscito', selectReason: 'Seleziona un motivo', reportDialogBody: 'Aiuta a mantenere il marketplace sicuro segnalando annunci inappropriati o fuorvianti.', reasonLabel: 'Motivo della segnalazione *', detailsLabel: 'Dettagli aggiuntivi (opzionale)', detailsPlaceholder: 'Fornisci qualsiasi contesto aggiuntivo che possa aiutare...', reportNote: 'Le segnalazioni sono pubblicate su Nostr e aiutano la community a identificare annunci problematici. Gli annunci con più segnalazioni potrebbero essere nascosti automaticamente.', submitting: 'Invio...', submitReport: 'Invia segnalazione', }, tradeActions: { tradeConfirmed: 'Scambio confermato', tradeConfirmedWithProof: 'È stata allegata una ricevuta verificabile — conta per gli scambi verificati.', tradeConfirmedBody: 'Reputazione aggiornata per entrambi.', tradeConfirmFailed: 'Impossibile confermare lo scambio', somethingWrong: 'Qualcosa è andato storto.', requestNote: 'Conferma il nostro scambio per "{{title}}".', requestSent: 'Conferma richiesta', requestSentBody: 'Il venditore ora può confermare la vendita e costruire entrambe le reputazioni.', requestFailed: 'Impossibile inviare la richiesta', escrowRefunded: 'Escrow rimborsato', escrowRefundedBody: 'I fondi sono tornati nel tuo wallet Cashu.', escrowRefundFailed: "Impossibile rimborsare l'escrow", confirmThisTrade: 'Conferma questo scambio', escrowAndRequest: 'Escrow e richiesta', shipsEscrowHint: "Accordo spedito — usa l'escrow così nessuna delle due parti spedisce nel vuoto. Condividi il tuo indirizzo privatamente nella chat dello scambio, mai qui.", shipsHint: "Accordo spedito — preferisci l'escrow se il venditore lo offre, e condividi il tuo indirizzo solo nella chat.", askSeller: 'Chiedi al venditore di confermare', waitingSeller: 'Conferma richiesta — in attesa del venditore.', refundEscrow: 'Rimborsa escrow', buyWithSats: 'Compra con sats', depositTitle: 'Acconto di buona fede (opzionale)', payDeposit: 'Paga acconto', depositBefore: 'Uno scambio non ha fattura, quindi è così che ottiene un', verifiableCost: 'costo verificabile', depositAfter: ". Rimborso alla consegna (o usa l'escrow Cashu per un rimborso automatico). ⚠️ Prova l'impegno, non la consegna.", depositPaid: 'Acconto pagato', depositPaidBody: 'Salvato — sarà allegato quando lo scambio viene confermato.', paid: 'Pagato ⚡', paidWithProof: 'Ricevuta verificabile salvata — conferma lo scambio perché conti.', paidBody: 'Chiedi al venditore di confermare lo scambio così conta per entrambi.', }, offers: { accepted: 'Accettata', declined: 'Rifiutata', withdrawn: 'Ritirata', open: 'Aperta', noAmount: 'nessun importo', titleOwner: 'Offerte ({{count}})', titleBuyer: 'Le tue trattative', you: 'Tu', them: 'Loro', paidAskConfirm: 'Pagato — chiedi al venditore di confermare lo scambio.', payWithSats: 'Paga con sats', accept: 'Accetta', decline: 'Rifiuta', counter: 'Controfferta', counterPlaceholder: 'La tua controfferta (sats)', send: 'Invia', counterItemPlaceholder: '…oppure controproponi con un oggetto da scambiare (opzionale)', waitingOn: 'In attesa di', waitingOnSuffix: '— il tuo turno tornerà se contropropongono.', withdraw: 'Ritira', dmAccepted: '✅ La tua offerta è stata accettata! Scrivigli per organizzare la consegna.', dmDeclined: '❌ La tua offerta è stata rifiutata.', offerAccepted: 'Offerta accettata', offerDeclined: 'Offerta rifiutata', respondFailed: 'Impossibile rispondere', somethingWrong: 'Qualcosa è andato storto.', offerWithdrawn: 'Offerta ritirata', withdrawFailed: 'Impossibile ritirare', enterAmountOrItem: 'Inserisci un importo o un oggetto da scambiare', counterDm: 'Controfferta', counterSent: 'Controfferta inviata', counterSentBody: 'Ora è il loro turno.', counterFailed: 'Impossibile inviare la controfferta', }, offer: { validAmount: 'Inserisci un importo valido', describeOffer: 'Descrivi la tua offerta', describeOfferBody: 'Aggiungi un importo, un oggetto da scambiare o un messaggio.', dmAmount: ' per {{amount}} sats', dmItem: ' (offro: {{item}})', dmBody: '🛹 Nuova offerta sul tuo annuncio "{{title}}"{{amount}}{{item}}.{{note}}', sent: 'Offerta inviata', sentBody: '{{sellerName}} può accettarla o rifiutarla.', sendFailed: "Impossibile inviare l'offerta", somethingWrong: 'Qualcosa è andato storto.', title: "Fai un'offerta", description: 'Offri sats, o scambia qualcosa — {{sellerName}} può accettare, rifiutare o controproporre. La consegna la organizzate tra voi.', amountLabel: 'Importo (sats, opzionale)', amountPlaceholder: 'es. 45000', itemLabel: 'Oppure scambia qualcosa (opzionale)', itemPlaceholder: 'es. il mio deck 8.25 + wheels di riserva', itemHint: 'Scambi? Metti qui cosa offri — puoi combinarlo con i sats.', messageLabel: 'Messaggio (opzionale)', messagePlaceholder: 'Qualcosa che il venditore dovrebbe sapere…', send: 'Invia offerta', }, markSold: { enterBuyer: "Inserisci l'npub dell'acquirente", dealClosed: 'Accordo chiuso 🎉', dealClosedBody: 'Annuncio segnato come venduto e scambio pubblicato per la reputazione.', closeFailed: "Impossibile chiudere l'accordo", somethingWrong: 'Qualcosa è andato storto.', title: "Chiudi l'accordo", description: "Segna questo annuncio come venduto e registra un'attestazione di scambio firmata per te e l'acquirente.", buyerLabel: "npub dell'acquirente", methodLabel: 'Come è stato pagato? (autodichiarato)', amountLabel: 'Importo in sats (opzionale)', submit: 'Segna venduto', }, handoff: { title: 'Organizza la consegna', suggest: 'Proponi un orario e un luogo', suggestDm: 'Ciao! Vorrei comprare "{{title}}". Proponi un orario e un luogo per incontrarci — volentieri in uno skate spot pubblico.', orMeetAt: 'Oppure incontrati in uno spot pubblico vicino:', spotDm: 'Ciao! Vorrei comprare "{{title}}". Ci vediamo a {{spot}}? {{url}}', shareDelivery: 'Condividi i dettagli di consegna', deliveryDm: 'Ciao! Vorrei comprare "{{title}}". Ecco i miei dettagli di consegna:\n\nNome:\nIndirizzo:\n\n(Condividi solo ciò che serve al corriere.)', useLocker: 'Usa un locker / punto di ritiro', lockerDm: 'Ciao! Vorrei comprare "{{title}}". Possiamo usare un locker / punto di ritiro invece del mio indirizzo di casa?', noteBefore: 'Questi dettagli restano nella chat privata — SkateSpots non li vede mai. Per accordi spediti, preferisci', escrow: 'escrow', noteMiddle: ', e', neverPay: "non pagare mai fuori dai canali dell'app", noteAfter: '. Incontratevi in pubblico.', }, shipping: { noCounterparty: 'Ancora nessuna controparte', noCounterpartyBody: "Il venditore dovrebbe prima registrare la vendita (indicando l'acquirente).", markedShipped: 'Segnato come spedito', markedReceived: 'Segnato come ricevuto', issueReported: 'Problema segnalato', receivedBody: "Grazie — questo non sblocca l'escrow; salda direttamente con il venditore.", notifiedBody: "L'altra parte è stata avvisata.", updateFailed: 'Impossibile aggiornare', somethingWrong: 'Qualcosa è andato storto.', title: 'Spedizione', shipped: 'spedito', received: 'ricevuto', issue: 'problema', trackingPlaceholder: 'Numero di tracciamento (opzionale)', iShipped: "L'ho spedito", iReceived: "L'ho ricevuto", reportIssue: 'Segnala un problema', noteBefore: 'Autodichiarato — una nota logistica,', notProof: 'non una prova', noteAfter: '. Segnare "ricevuto" non sblocca l\'escrow. ⚠️ Non fotografare un pacco con un indirizzo visibile e condividi un numero di tracciamento solo se ti va che sia pubblico.', }, pay: { sent: 'Pagamento inviato ⚡', sentWithProof: 'Ricevuta di pagamento verificabile salvata — conterà come pagamento verificato.', sentBody: 'Avvisa il venditore — può confermare lo scambio così conta per entrambi.', failed: 'Pagamento non riuscito', title: 'Paga con sats', descSendPrefix: 'Invia', descSendSuffix: 'a {{sellerName}} per saldare questo accordo.', descSettle: 'Salda questo accordo direttamente con {{sellerName}}.', paid: 'Pagato!', paidBody: 'Chiedi al venditore di confermare lo scambio — due conferme costruiscono entrambe le reputazioni.', noMethod: '{{sellerName}} non ha impostato un metodo di pagamento (nessuna fattura o indirizzo Lightning). Scrivigli per organizzare il pagamento.', ownListing: 'Questo è il tuo annuncio.', paying: 'Pagamento…', pay: 'Paga', payAmount: 'Paga {{amount}} sats', footnote: 'Paga dal tuo wallet collegato (NWC, WebLN o Cashu) direttamente a {{sellerName}} — SkateSpots non trattiene mai i fondi.', }, spamFee: { invoiceComment: 'Commissione annuncio SkateSpots', generateFailed: 'Generazione della fattura non riuscita', paymentSuccess: 'Pagamento riuscito!', satsSent: '{{amount}} sats inviati a {{name}}', autoPayFailed: 'Pagamento automatico non riuscito', autoPayFailedBody: 'Paga manualmente usando il codice QR o la fattura', invoiceCopied: 'Fattura copiata!', copyFailed: 'Copia non riuscita', received: 'Pagamento ricevuto!', receivedBody: 'La tua commissione di {{amount}} sat è stata pagata. Ora puoi creare il tuo annuncio.', title: "Commissione una tantum per l'annuncio", subtitle: 'Come nuovo membro, è richiesta una piccola commissione per il tuo primo annuncio.', whyTitle: 'Perché devo pagare?', spamLabel: 'Prevenzione spam:', spamBody: 'Questa commissione ferma bot e truffatori che inondano il marketplace di annunci falsi.', trustLabel: 'Costruzione della fiducia:', trustBody: 'I nuovi account devono dimostrare impegno prima di elencare. Dopo alcuni annunci riusciti, questa commissione è esente.', supportsLabel: 'Sostiene la community:', supportsPrefix: 'La commissione va a', supportsSpotOwner: ' — la persona che ha creato questo spot!', supportsPlatform: ' — aiuta a mantenere SkateSpots attivo.', oneTimeFee: '~{{usd}} USD • Commissione una tantum', payToContinue: 'Paga {{amount}} sats per continuare', proveWork: 'Dimostra il lavoro invece — gratis', proveWorkBody: 'Spendi qualche secondo di CPU invece di {{amount}} sats. Niente soldi, niente wallet — una tassa anti-spam, non un pagamento.', generating: 'Generazione fattura...', processing: 'Elaborazione del pagamento...', qrAlt: 'Codice QR di pagamento', copyInvoice: 'Copia fattura', openWallet: 'Apri wallet', payWithWallet: 'Paga con il wallet collegato', scanHint: 'Scansiona il codice QR con un wallet Lightning o usa i pulsanti sopra', skipTitle: 'Come evitare questa commissione in futuro:', skip1: 'Aggiungi uno skate spot alla mappa', skip2: 'Completa 2-3 annunci riusciti', skip3: 'Costruisci la tua reputazione nella community', skipNote: 'I membri affidabili ottengono annunci illimitati gratuiti!', }, reputation: { highlyTrusted: 'Trader altamente affidabile', building: 'Reputazione in costruzione', newTrader: 'Nuovo trader', title: 'Scambi', verified: 'Verificato', sales: 'Vendite', purchases: 'Acquisti', tradeConfirmedOne: 'scambio confermato reciprocamente', tradeConfirmedMany: 'scambi confermati reciprocamente', with: 'con', personOne: 'persona', personMany: 'persone', awaiting: 'In attesa di conferma reciproca', withPaymentProof: 'con una prova di pagamento allegata', selfReported: '(autodichiarato — non verificato)', paymentVerified: 'pagamento verificato', zapReceipt: '(ricevuta zap)', singlePartnerWarning: 'Ogni conferma è con lo stesso account. La conferma reciproca è autodichiarata, quindi tratta questo record con cautela.', lowDiversityWarning: 'La maggior parte delle conferme proviene da pochissimi account. Un piccolo gruppo che si garantisce a vicenda può sembrare attivo — tratta questo record con cautela.', ringWarning: 'Questi account commerciano soprattutto tra loro — un cluster chiuso. La conferma reciproca dentro un anello è una prova debole.', weighted: 'Ponderato per fiducia e attività', footnote: 'Autodichiarato e firmato reciprocamente — un segnale, non una prova di pagamento.', }, reputationPanel: { reviewOfYou: 'Recensione su di te', yourRecord: 'il tuo record', listing: 'Annuncio', averageOne: 'media da {{count}} valutazione', averageMany: 'media da {{count}} valutazioni', reviewsTitle: 'Recensioni e record di scambi', fromOthers: '{{count}} da altri', emptyBefore: 'Ancora nessun record di scambi. Chiudi un accordo e confermalo in', emptyAfter: '— ogni conferma diventa una recensione su entrambi i profili.', }, recommendations: { published: 'Raccomandazione pubblicata', publishedBody: 'Grazie per la garanzia.', failed: 'Impossibile raccomandare', somethingWrong: 'Qualcosa è andato storto.', title: 'Trader affidabile', recommendedBy: 'Raccomandato da', skaterOne: 'skater', skaterMany: 'skater', none: 'Ancora nessuna raccomandazione.', youRecommend: 'Raccomandi questo trader ✓', recommend: 'Raccomanda come trader affidabile', }, notification: { newOffer: 'Nuova offerta', counterOffer: 'Controfferta', offerAccepted: 'Offerta accettata', offerDeclined: 'Offerta rifiutata', offerWithdrawn: 'Offerta ritirata', confirmTrade: 'Conferma uno scambio', tradeConfirmed: 'Scambio confermato', reviewOffer: "Esamina l'offerta", openListing: 'Apri annuncio', }, confirmRow: { rateTrade: 'Valuta lo scambio:', }, deckRating: { title: '{{value}}/10 deck', aria: '{{n}} di 10', }, clink: { tip: 'Tip in Bitcoin', copiedBody: 'Codice CLINK copiato negli appunti.', copyFailed: 'Copia non riuscita', copyFailedBody: 'Impossibile accedere agli appunti.', whatIs: "Cos'è CLINK?", tooltipTitle: 'Paga direttamente in Bitcoin su Nostr', tooltipBody: 'CLINK è un codice di pagamento self-custodial — nessun account app, nessun intermediario. Scansionalo con un wallet Lightning compatibile e il tip va direttamente a loro.', descRecipient: 'Invia un pagamento Bitcoin (Lightning) self-custodial a {{recipientName}} — nessun intermediario.', descGeneric: 'Invia un pagamento Bitcoin (Lightning) self-custodial su Nostr — nessun intermediario.', qrAlt: "Codice QR dell'offerta CLINK", copyCode: 'Copia codice CLINK', openWallet: 'Apri nel wallet CLINK', copyToWallet: 'Copia il codice per il tuo wallet', priceFixed: 'Fisso — {{amount}} sats', priceFixedShort: 'Prezzo fisso', priceVariable: 'Prezzo variabile', priceVariableCurrency: 'Prezzato in {{currency}}', priceSpontaneous: "Scegli tu l'importo", footnote: 'Scansiona con un wallet compatibile con CLINK (es. ShockWallet). Se non si apre nulla, copia il codice qui sopra — potresti non avere un wallet compatibile con CLINK installato. Nessun custode, nessun server web: la fattura viene richiesta direttamente su Nostr.', }, paymentReadiness: { ready: 'Puoi farti pagare', notReady: 'Configura i pagamenti per farti pagare', readyBefore: 'Il tuo indirizzo Lightning', readyAfter: ' è sul tuo profilo — le persone possono zapparti e pagarti direttamente.', silentSet: ' È impostato anche un indirizzo Bitcoin Silent Payment.', notReadyBefore: 'Aggiungi un indirizzo Lightning (e facoltativamente un indirizzo Bitcoin Silent Payment) al tuo', nostrProfile: 'profilo Nostr', notReadyAfter: 'così gli skater possono pagarti. Si imposta una volta e funziona su tutti i profili che hai qui.', }, seller: { trade: 'Scambio', active: 'Attivo', markSold: 'Segna venduto', yourListings: 'I tuoi annunci', activeCount: '{{count}} attivi', listItem: 'Elenca un oggetto', loading: 'Caricamento dei tuoi annunci…', empty: 'Non hai ancora annunci.', listFirst: 'Elenca il tuo primo oggetto', }, noffer: { label: 'Codice offerta CLINK', optional: '(opzionale, avanzato)', offerId: 'Offerta: {{id}}', relay: 'Relay: {{relay}}', invalidBefore: 'Questo non sembra un', invalidAfter: 'codice valido.', valid: 'Codice CLINK valido — un pulsante "Paga via CLINK" apparirà sul tuo profilo.', help: 'Incolla un codice di pagamento CLINK self-custodial (es. da ShockWallet / Lightning.Pub) per accettare pagamenti Lightning nativi di Nostr — nessun server web o custode.', learnSpecs: 'Scopri le specifiche', }, escrowPanel: { escrowed: '{{amount}} sats in escrow', mint: 'Mint', refundSinceBefore: "L'acquirente può rimborsare da", redeemBefore: "Il venditore può riscattare ora · l'acquirente rimborsa dopo", noExpiry: 'Nessuna scadenza impostata su questo token.', }, escrowRequest: { enterAmount: "Inserisci un importo per l'escrow", minLock: 'Blocca per almeno {{days}} giorni', requestNote: '{{amount}} sats in escrow per il nostro scambio — conferma la vendita.', created: 'Escrow creato 🎉', createdBody: '{{amount}} sats bloccati per {{days}} giorni. {{sellerName}} può riscattare alla consegna.', createFailed: "Impossibile creare l'escrow", somethingWrong: 'Qualcosa è andato storto.', title: 'Metti in escrow questo scambio', description: "I fondi sono bloccati a {{sellerName}} e rimborsabili da te se l'accordo salta dopo la scadenza. Richiede un wallet Lightning collegato.", amountLabel: 'Importo (sats)', daysLabel: 'Rimborso acquirente dopo (giorni)', daysHint: 'Dopo questi giorni puoi recuperare i fondi se il venditore non ha consegnato.', nativeOnly: "L'escrow Cashu è disponibile solo nell'app SkateSpots (non nella build web).", lockAndRequest: 'Blocca e richiedi', }, }, labOptions: { coach: { skill: { basics: 'Basi', ollies: 'Ollie', kickflips: 'Kickflip', grinds: 'Grind e Slide', manuals: 'Manual', inverts: 'Invert', vert: 'Vert/Ramp', bowl: 'Bowl', street: 'Street', freestyle: 'Freestyle', safety: 'Sicurezza', diy: 'Moduli Skate DIY', }, skillDesc: { basics: 'Spinta, stance, equilibrio, curve', ollies: 'Ollie e varianti (nollie, fakie)', kickflips: 'Kickflip, heelflip e varianti', grinds: '50-50, 5-0, boardslide e altro', manuals: 'Manual, nose manual, combo', inverts: 'Invert, handplant, eggplant, andrecht', vert: 'Half-pipe, quarter-pipe, drop-in', bowl: 'Carving, pumping e line nel bowl', street: 'Ostacoli da strada e creatività', freestyle: 'Trick in flatground e flow', safety: 'Come cadere, protezioni, prevenzione degli infortuni', diy: 'Costruire ramp, rail, ledge e altri ostacoli da skate', }, }, filmer: { service: { miniclips: 'Mini clip', longparts: 'Video part lunghi', koth: 'Stile King of the Road', documentaries: 'Documentari', contests: 'Riprese per contest', raw: 'Girato grezzo', followlines: 'Ripresa follow / line', lines: 'Ripresa line e B-roll', }, serviceDesc: { miniclips: 'Clip da 15-60 sec per i social', longparts: 'Video part completi da 3-10 min con musica', koth: 'Video skate in stile avventura/sfida', documentaries: 'Contenuti sulla cultura skate e storie', contests: 'Copertura professionale di contest e competizioni', raw: 'Girato multi-angolo non montato', followlines: 'Follow-cam fisheye per le line', lines: 'Line con teleobiettivo e b-roll cinematografico', }, skill: { vx1000: 'VX1000', hvx: 'HVX / HPX', cinema: 'Cinema Camera', dslr: 'DSLR / Mirrorless', actioncam: 'GoPro / Action Cam', phone: 'Ripresa con telefono', drone: 'Drone / Aereo', gimbal: 'Gimbal / Stabilizzatore', fisheye: 'Lente fisheye', longlens: 'Teleobiettivo', '4k': '4K / Alto frame rate', editing: 'Montaggio video', color: 'Color grading', }, skillDesc: { vx1000: 'Estetica classica dello skateboarding VX1000', hvx: 'Look SD/HD Panasonic HVX/HPX', cinema: 'Cinema camera (FX3, serie C, RED, BMPCC)', dslr: 'Fotocamera DSLR o mirrorless di alta qualità', actioncam: 'POV e supporti GoPro / action cam', phone: 'Ripresa mobile con smartphone moderni', drone: 'Riprese aeree e con drone', gimbal: 'Movimento stabilizzato con gimbal', fisheye: 'Scatti grandangolari con lente fisheye', longlens: 'Teleobiettivo per scatti dettagliati', '4k': 'Risoluzione 4K e slow-mo ad alto frame rate', editing: 'Montaggio video professionale e post-produzione', color: 'Correzione colore e grading', }, }, editor: { service: { parts: 'Video part', montages: 'Montaggi', reels: 'Reel / clip brevi', documentaries: 'Documentari', contest: 'Edit per contest', brand: 'Video brand / promozionali', motion: 'Motion graphics', colorgrade: 'Solo color grading', }, serviceDesc: { parts: 'Video part skate completi con colonna sonora', montages: 'Montaggi compilation da girato grezzo', reels: 'Clip e reel social da 15–60 sec', documentaries: 'Film sulla cultura skate guidati da storie', contest: 'Edit riassuntivi per contest ed eventi', brand: 'Contenuti promozionali per brand e shop', motion: 'Titoli, transizioni, effetti e grafiche', colorgrade: 'Correzione colore e grading basato su LUT', }, skill: { premiere: 'Adobe Premiere', resolve: 'DaVinci Resolve', finalcut: 'Final Cut Pro', aftereffects: 'After Effects', luts: 'LUT personalizzate', vhs: 'Estetica VHS / retrò', '4k': 'Flussi di lavoro 4K e RAW', sound: 'Sound design / mix', }, skillDesc: { premiere: 'Montaggio con Adobe Premiere Pro', resolve: 'Montaggio e grading con DaVinci Resolve', finalcut: 'Montaggio con Final Cut Pro', aftereffects: 'Motion graphics e compositing', luts: 'Sviluppo di look colore personalizzati', vhs: 'Glitch VHS, super-8, look film retrò', '4k': 'Flussi di lavoro con camere RAW/LOG ad alta risoluzione', sound: 'Sincronizzazione musicale, SFX, mastering audio', }, }, photo: { service: { action: 'Action / scatti di trick', sequence: 'Scatti in sequenza', portraits: 'Ritratti', editorial: 'Editoriale / rivista', product: 'Fotografia prodotto / shop', events: 'Copertura eventi', lifestyle: 'Lifestyle / documentario', prints: 'Stampe e zine', }, serviceDesc: { action: "Scatti di picco dell'azione su trick e line", sequence: 'Sequenze di trick multi-frame', portraits: 'Ritratti di rider e foto di squadra', editorial: 'Servizi editoriali pronti per riviste', product: 'Fotografia di deck, gear e prodotti dello shop', events: 'Copertura di contest, jam e anteprime', lifestyle: 'Dietro le quinte e documentario culturale', prints: 'Stampe fisiche, zine e fotolibri', }, camera: { dslr: 'DSLR', mirrorless: 'Mirrorless', medium: 'Medio formato', film35: 'Pellicola 35mm', filmmedium: 'Pellicola medio formato', point: 'Point & Shoot', phone: 'Telefono', }, lens: { fisheye: 'Fisheye', wide: 'Grandangolo', standard: 'Standard / prime', telephoto: 'Teleobiettivo', macro: 'Macro', zoom: 'Zoom', }, lighting: { strobes: 'Flash da studio', speedlights: 'Speedlight / flash', profoto: 'Profoto', elinchrom: 'Elinchrom', godox: 'Godox', triggers: 'Trigger remoti', continuous: 'Luce continua / LED', reflectors: 'Riflettori / diffusori', naturallight: 'Solo luce naturale', }, support: { tripod: 'Treppiedi', monopod: 'Monopiede', lightstands: 'Stativi per luci', gimbal: 'Gimbal', bag: 'Rig mobile / borsa', laptop: 'Tethering in loco', }, style: { flashfisheye: 'Flash fisheye', natural: 'Luce naturale', bw: 'Bianco e nero', film: 'Estetica pellicola', longlens: 'Teleobiettivo', studio: 'Studio / illuminato', street: 'Strada / documentario', }, }, builder: { service: { diy: 'Spot DIY', concrete: 'Skatepark in cemento', wood: 'Ramp in legno', bowls: 'Bowl e pool', transitions: 'Transizioni e quarter', rails: 'Rail e ledge', boxes: 'Manny pad e box', minis: 'Mini ramp', pumptrack: 'Pump track', foam: 'Fosse in foam / indoor', repairs: 'Riparazioni e rifacimenti', design: 'Design e consulenza', }, serviceDesc: { diy: 'Spot DIY della community e build guerrilla', concrete: 'Skatepark e strutture in cemento gettato', wood: 'Ramp in legno, launch box e ostacoli', bowls: 'Bowl, pool e transizioni profonde', transitions: 'Quarterpipe, bank e transizioni', rails: 'Rail in acciaio, ledge e strutture per grind', boxes: 'Manny pad, funbox e strutture da strada', minis: 'Mini ramp e setup in cortile', pumptrack: 'Pump track e line di flow', foam: 'Fosse in foam, resi e strutture per allenamento indoor', repairs: 'Riparazione, rattoppo e rifacimento di spot esistenti', design: 'Progetti, disegni e consulenza per la costruzione', }, skill: { concretework: 'Cemento / spritz-beton', welding: 'Saldatura / fabbricazione acciaio', carpentry: 'Falegnameria / lavorazione del legno', formwork: 'Casseforme e armature', masonry: 'Muratura / blocchi', coping: 'Coping (pool / acciaio)', surfacing: 'Skatelite / superfici', earthworks: 'Movimento terra / scavi', }, scale: { backyard: 'Cortile / mini', diycommunity: 'DIY di comunità', publicpark: 'Skatepark pubblico completo', indoor: 'Struttura indoor', event: 'Percorso per eventi / contest', }, }, artist: { service: { boardart: 'Grafiche per tavole', logos: 'Logo e branding', posters: 'Poster e volantini', merch: 'Merch e abbigliamento', zines: 'Zine e stampa', illustration: 'Illustrazione', stickers: 'Sticker e decal', webdesign: 'Web / digitale', typography: 'Tipografia / lettering', animation: 'Animazione / motion', }, serviceDesc: { boardart: 'Grafiche per deck e arte sul griptape', logos: 'Identità di marca, logo e wordmark', posters: 'Poster di eventi, volantini e grafiche per concerti', merch: 'Grafiche per t-shirt, felpe e abbigliamento', zines: 'Zine, editoria e impaginazione', illustration: 'Illustrazioni personalizzate e character design', stickers: 'Pacchetti di sticker, decal e slap', webdesign: 'Siti web, digitale e UI', typography: 'Lettering a mano e caratteri personalizzati', animation: 'Motion graphics e animazione', }, medium: { digital: 'Digitale / vettoriale', handdrawn: 'Disegnato a mano', screenprint: 'Serigrafia', paint: 'Pittura / acrilico', collage: 'Collage / misto', photo: 'Foto / Photoshop', '3d': '3D / render', }, tool: { illustrator: 'Adobe Illustrator', photoshop: 'Adobe Photoshop', procreate: 'Procreate', affinity: 'Affinity', figma: 'Figma', blender: 'Blender', aftereffects: 'After Effects', clipstudio: 'Clip Studio', }, }, graffiti: { style: { throwups: 'Throw-up', pieces: 'Piece / burner', murals: 'Murales', characters: 'Personaggi', lettering: 'Lettering / wildstyle', stencil: 'Stencil', handstyles: 'Handstyle / tag', '3dstyle': 'Stile 3D', abstract: 'Astratto', }, styleDesc: { throwups: 'Riempimenti rapidi a due colori', pieces: 'Piece e burner a colori pieni', murals: 'Murales e produzioni su larga scala', characters: 'Lavori con personaggi e figure', lettering: 'Wildstyle e struttura delle lettere', stencil: 'Stencil e street art', handstyles: 'Tag e handstyle', '3dstyle': 'Lettering 3D e anamorfico', abstract: 'Astratto e freestyle', }, medium: { spray: 'Bombole spray', rollers: 'Rulli / emulsione', markers: 'Marker / inchiostri', brush: 'Pennello / vernice', digital: 'Digitale / Procreate', }, context: { legalwalls: 'Muri legali', commissions: 'Commissioni', liveart: 'Live painting', skateparks: 'Murales negli skatepark', interiors: 'Interni / shop', workshops: 'Workshop', }, }, tattoo: { style: { traditional: 'Traditional / old school', neotraditional: 'Neo-traditional', fineline: 'Fine line', blackwork: 'Blackwork', realism: 'Realismo', lettering: 'Lettering / script', illustrative: 'Illustrativo', skateflash: 'Flash a tema skate', ignorant: 'Stile ignorant / handpoke', japanese: 'Giapponese / irezumi', }, styleDesc: { traditional: 'Linee decise, classico americano', neotraditional: 'Traditional con dettagli moderni', fineline: 'Lavoro delicato a singolo ago', blackwork: 'Nero pieno e pattern', realism: 'Fotorealistico e ritratti', lettering: 'Script, lettering e citazioni', illustrative: 'Illustrativo e grafico', skateflash: 'Disegni flash della cultura skate', ignorant: 'Stile ignorant / naive handpoke', japanese: 'Tradizionale giapponese / irezumi', }, method: { machine: 'Macchinetta', handpoke: 'Hand-poke / stick & poke', flash: 'Flash disponibili', custom: 'Disegni personalizzati', coverup: 'Coperture', }, }, trainer: { focus: { strength: 'Forza e condizionamento', mobility: 'Mobilità e flessibilità', injuryprevention: 'Prevenzione degli infortuni', rehab: 'Riabilitazione / fisioterapia', recovery: 'Recupero e bodywork', balance: 'Equilibrio e stabilità', cardio: 'Cardio / resistenza', nutrition: 'Consigli nutrizionali', }, focusDesc: { strength: 'Costruire forza e potenza per lo skate', mobility: 'Range di movimento e flessibilità', injuryprevention: 'Prehab e riduzione del rischio di infortuni', rehab: 'Fisioterapia e riabilitazione post-infortunio', recovery: 'Massaggio, bodywork e recupero', balance: 'Propriocezione, equilibrio e stabilità', cardio: 'Condizionamento e resistenza', nutrition: 'Consigli su alimentazione e nutrizione', }, injury: { ankles: 'Caviglie', knees: 'Ginocchia', wrists: 'Polsi', hips: 'Anche', back: 'Schiena / colonna', shoulders: 'Spalle', heelbruise: 'Contusioni al tallone', concussion: 'Protocollo commozione cerebrale', }, credential: { physio: 'Fisioterapista laureato', osteo: 'Osteopata', certtrainer: 'Personal trainer certificato', sportstherapist: 'Terapista sportivo', massage: 'Massaggiatore', inperson: 'Di persona', remote: 'Da remoto / online', }, }, musician: { genre: { punk: 'Punk', hardcore: 'Hardcore', metal: 'Metal', rock: 'Rock', indie: 'Indie / alt', hiphop: 'Hip-hop / rap', electronic: 'Elettronica', lofi: 'Lo-fi / beat', reggae: 'Reggae / dub', ska: 'Ska', jazz: 'Jazz', funk: 'Funk / soul', flamenco: 'Flamenco', folk: 'Folk / acustico', experimental: 'Sperimentale', grunge: 'Grunge', }, instrument: { vocals: 'Voce', guitar: 'Chitarra', bass: 'Basso', drums: 'Batteria', keys: 'Tastiere / synth', dj: 'DJ / giradischi', producer: 'Producer / beat', sax: 'Sax / ottoni', strings: 'Archi', other: 'Altro', }, act: { solo: 'Artista solista', band: 'Band', dj: 'DJ', producer: 'Producer', collective: 'Collettivo', }, }, judge: { format: { game_of_skate: 'Game of S.K.A.T.E.', best_trick: 'Best Trick', jam: 'Formato jam', contest: 'Contest / comp', street_league: 'Stile Street League', bowl: 'Bowl / vert', mini_ramp: 'Mini ramp', park: 'Park', street: 'Street', freestyle: 'Freestyle', world_tour: 'World Destruction Tour', am_series: 'Am Series / qualifiche', local_jam: 'Jam locale / grassroots', online: 'Online / contest IG', }, specialty: { head_judge: 'Head judge', scoring: 'Punteggio / tabulazione', mc: 'MC / annunciatore', format_design: 'Progettazione del format', rules: 'Regole / arbitraggio', brackets: 'Bracket / batterie', livestream: 'Giudizio in livestream', am_scout: 'Scouting am', }, level: { local: 'Locale', regional: 'Regionale', national: 'Nazionale', international: 'Internazionale', pro: 'Circuito pro', }, }, organizer: { event: { street_jam: 'Street jam', best_trick: 'Best Trick', game_of_skate: 'Game of S.K.A.T.E.', contest: 'Contest / comp', bowl: 'Bowl / vert', mini_ramp: 'Mini ramp', park: 'Sessione in park', demo: 'Demo pro', clinic: 'Clinic / workshop', meetup: 'Meetup / cruise', downhill: 'Downhill / gara', slalom: 'Slalom', kids: 'Bambini / giovani', charity: 'Beneficenza / raccolta fondi', tour_stop: 'Tappa del tour', premiere: 'Anteprima video', market: "Mercato / mostra d'arte", }, service: { organizing: 'Organizzazione completa', hosting: 'Conduzione / MC', permits: 'Permessi e autorità', sponsorship: 'Sponsorizzazioni / accordi con brand', promotion: 'Promozione e marketing', livestream: 'Livestream / copertura', sound: 'Audio e musica', ramps: 'Ramp e ostacoli', safety: 'Sicurezza e primo soccorso', vendors: 'Cibo e venditori', media: 'Copertura foto / video', registration: 'Iscrizioni e bracket', }, scale: { grassroots: 'Grassroots', local: 'Locale', regional: 'Regionale', national: 'Nazionale', international: 'Internazionale', pro: 'Circuito pro', }, }, barber: { service: { haircut: 'Taglio di capelli', fade: 'Fade', beard: 'Rifinitura barba', lineup: 'Line-up / shape-up', colour: 'Colore e tinta', kids: 'Tagli per bambini', }, serviceDesc: { haircut: 'Un taglio classico — macchinetta e forbici.', fade: 'Un fade graduato — basso, medio o alto.', beard: 'Rifinitura, modellatura e sistemazione della barba.', lineup: "Bordi puliti intorno all'attaccatura e al collo.", colour: 'Colore, decolorazione, tinta e tonalizzazione.', kids: 'Tagli pazienti per gli skater più giovani.', }, style: { skin_fade: 'Skin fade', taper: 'Taper', buzz: 'Taglio a macchinetta', mohawk: 'Mohawk', mullet: 'Mullet', curly: 'Ricci / afro', long: 'Capelli lunghi / scalati', classic: 'Taglio classico a forbice', }, setting: { shop: 'Shop / barbiere', mobile: 'Mobile / a domicilio', event: 'Event skate e contest', }, }, transport: { vehicle: { car: 'Auto', taxi: 'Taxi / ridesharing', van: 'Furgone / Minibus', moto: 'Moto', helicopter: 'Elicottero', plane: 'Aereo', boat: 'Barca', other: 'Altro veicolo', }, service: { people: 'Persone', goods: 'Merci / carico', gear: 'Attrezzatura da skate', airport: 'Transfer aeroportuale', venue: 'Transfer per evento / location', tours: 'Tour / road trip', logistics: 'Logistica eventi', other: 'Altro servizio', }, feature: { cargo: 'Spazio di carico', bike_board: 'Portabici / porta tavola', wheelchair: 'Accesso per sedie a rotelle', pets: 'Animali ammessi', border: 'Attraversamento confine', night: 'Guida notturna', covered: 'Coperto / resistente al meteo', group: 'Gruppi numerosi', } }, tour: { skill: { beginner: { label: 'Principiante', description: 'Nuovo allo skate o trick di base', }, intermediate: { label: 'Intermedio', description: 'A proprio agio sulla maggior parte dei terreni', }, advanced: { label: 'Avanzato', description: 'Skater esperto, spot tosti', }, all: { label: 'Tutti i livelli', description: 'Adatto a tutti', }, }, }, }, }; export default itBatch6;