SkateSpots/src/i18n/it/drift.ts
2026-10-28 22:43:52 +07:00

457 lines
23 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* it — translation drift fragment. Keys added after the main batches
* (language picker search, trust, marketplace guidelines, clothing craft,
* weather additions, Cordn MLS chat). Composed LAST in `index.ts` via a deep
* merge so these nested keys complement — never replace — the batch namespaces.
*/
const drift = {
nav: {
searchLanguages: "Cerca lingue…",
noLanguages: "Nessuna lingua trovata",
},
mapPage: {
searchSuggestPlaces: "Luoghi",
},
mapUi: {
firstRunTitle: "Inizia",
firstRunAddSpot: "Aggiungi il tuo primo spot",
firstRunJoinCrew: "Unisciti a una crew",
firstRunStartCrew: "Avvia la tua crew",
firstRunWallet: "Configura il tuo wallet",
forecastDays: "Previsioni a {{count}} giorni",
},
spotUi: {
forecastDays: "Previsioni a {{count}} giorni",
},
marketUi: {
trades: {
stateRevoked: "revocato",
stateVerifying: "verifica",
},
loadFailed: "Impossibile raggiungere i relay. Controlla la connessione e riprova.",
statusPending: "in sospeso",
offers: {
closeDeal: "Chiudi l'accordo",
loadFailed: "Impossibile caricare le offerte. Controlla la connessione e riprova.",
},
pay: {
nonSats: "Questa offerta è prezzata in {{currency}}. Il pagamento in-app è solo in sats. Regola direttamente con il venditore.",
unsupported: "Questo codice di pagamento (una richiesta Cashu) non è ancora supportato. Chiedi al venditore una fattura o un indirizzo Lightning.",
},
escrowRequest: {
lockedNotSent: "I fondi sono bloccati in escrow e salvati su questo dispositivo, ma la richiesta non è stata inviata. Riapri l'annuncio per riprovare. Non pagare di nuovo.",
mintLabel: "Mint (dove sono bloccati i fondi)",
sellerMintHint: "Il venditore preferisce questo mint; i fondi bloccati qui sono i più facili da riscattare per lui.",
mintHint: "L'escrow risiede in questo mint. Il venditore riscatta qui, quindi scegline uno di cui vi fidate entrambi.",
noMints: "Nessun mint disponibile",
p2pkUnsupported: "Questo mint non dichiara il supporto P2PK (NUT-11), quindi l'escrow non può essere bloccato qui. Scegli un altro mint.",
},
},
labUi: {
offerClothing: "Offri abbigliamento",
tabClothing: "Abbigliamento",
empty: {
clothingTitle: "Ancora nessun designer di abbigliamento",
clothingBody: "Sii il primo a offrire abbigliamento personalizzato, kit di squadra e apparel per la scena.",
},
craftFields: {
sizing: "Gamma di taglie",
samples: "Campioni / prototipi",
customization: "Personalizzazione",
},
},
socialUi: {
coordinator: {
ourDefaultTitle: "Coordinatore SkateSpots",
ourDefaultDesc: "SkateSpots gestisce un coordinatore su relay.skate-spots.org. Usalo per impostazione predefinita, oppure gestisci il tuo — un coordinatore vede solo testo cifrato e metadati, mai i tuoi messaggi.",
useOurs: "Usa il coordinatore SkateSpots",
},
crewCoordinator: {
encryptedChat: "Chat crittografata",
privateChatName: "Chat privata",
privateChatDesc: "Chat di gruppo con forward secrecy (MLS) tramite un coordinatore.",
privateChatDescFull: "La chat privata viene creata una volta da un admin, poi i membri si uniscono.",
chatRowDesc: "Tutti nella crew — sigillato con la chiave di ogni membro (NIP-17).",
openChat: "Apri",
setUpChat: "Configura",
joinChat: "Unisciti",
checking: "Verifica…",
openInAnotherApp: "Apri in un'altra app",
openInCordnWeb: "Cordn (web)",
openCordnGroup: "Apri la chat della crew",
copyForStaircase: "Copia per Staircase",
},
dms: {
refresh: "Aggiorna",
crews: "Crew",
crewFounder: "Fondatore",
crewMember: "Membro",
crewOpen: "Apri",
crewSetUp: "Configura",
},
form: {
cordnGroup: "Gruppo Cordn",
cordnGroupHint: "Opzionale: incolla il link del gruppo da Staircase o Cordn web. La tua crew ottiene così una vera chat MLS end-to-end, ospitata sul nostro coordinatore.",
},
bell: {
dmsUnread: "{{count}} nuovo/i messaggio/i cifrato/i",
},
},
settingsUi: {
loginDialog: {
welcomeSubtitleBrowse: "Registrati o accedi — oppure continua a esplorare.",
extensionCard: "Estensione del browser",
signerCard: "App firmataria",
secretKeyLink: "Usa invece una chiave segreta",
whereBunker: "Dove trovo un bunker?",
},
settingsPage: {
trust: "Fiducia",
trustSub: "Fonti e visualizzazione",
},
},
walletUi: {
trust: {
mute: "Silenzia",
muted: "Silenziato",
mutedDesc: "Non vedrai i suoi contenuti.",
muteFailed: "Impossibile silenziare. Riprova.",
loginToMute: "Accedi per silenziare.",
attributedNetwork: "Da persone nella tua rete",
attributedProviderHouse: "Dal provider di fiducia della community",
attributedProviderCustom: "Dal provider che hai scelto",
howItWorks: "Come funziona la fiducia",
flaggedNoticeTitle: "Segnalato da skater affidabili",
flaggedNoticeDesc: "Fai attenzione. Persone affidabili della rete hanno segnalato questo account.",
flaggedReporterFollow: "{{count}} che segui",
flaggedReporterNetwork: "{{count}} nella tua rete",
flaggedReporterOther: "{{count}} altri account",
flaggedReport: "Segnala",
flaggedDismiss: "Ignora",
bucketVerified: "Verificato",
bucketUnknown: "Sconosciuto",
bucketFlagged: "Segnalato",
bucketVerifiedDesc: "Qualcuno nella tua rete garantisce per questo account.",
bucketUnknownDesc: "Nessuno nella tua rete ha ancora garantito per questo account.",
bucketFlaggedDesc: "Persone affidabili hanno segnalato questo account.",
reportedByTrusted: "Segnalato da {{count}} persone affidabili",
},
},
trustUi: {
alertsTitle: "Avvisi di rete",
alertsDesc: "Account che segui e che persone affidabili hanno segnalato o silenziato.",
alertsEmpty: "Nessun avviso. Controlliamo gli account che segui per segnalazioni affidabili.",
alertsReported: "Segnalato da {{count}} persone affidabili",
alertsMuted: "Silenziato da {{count}} persone affidabili",
alertsIgnore: "Ignora",
alertsUnfollow: "Smetti di seguire",
alertsLogin: "Accedi per vedere gli avvisi sugli account che segui.",
providerTitle: "Provider",
providerDesc: "I punteggi provengono da un provider che scegli tu. Il provider della community è quello predefinito.",
useCommunity: "Usa il provider della community",
setProvider: "Imposta un provider",
customPubkeyPlaceholder: "npub o pubkey esadecimale del provider",
customRelayPlaceholder: "wss://relay.esempio.com",
invalidProvider: "Inserisci un npub valido o una pubkey esadecimale di 64 caratteri, e un relay wss://.",
publishFailed: "Impossibile pubblicare il provider. Riprova.",
providerSaved: "Provider aggiornato.",
loggedOutProvider: "Accedi per scegliere un provider.",
showMarks: "Mostra i contrassegni di fiducia",
showMarksDesc: "Contrassegni verificati e sconosciuti. Le segnalazioni vengono sempre mostrate.",
sourceLabel: "Fonte",
sourceHouse: "Provider di fiducia della community",
sourceCustom: "Il tuo provider",
loggedOut: "Accedi per scegliere il tuo provider di fiducia.",
seoTitle: "Come funziona la fiducia",
seoDescription: "Come SkateSpots mostra la fiducia: tre stati, da dove provengono i punteggi e perché l'assenza non è diffidenza.",
title: "Come funziona la fiducia",
intro: "Qui la fiducia è un segnale, non un verdetto. Deriva da chi conosci, o da un provider che scegli. Non classifichiamo le persone a livello globale.",
statesTitle: "Tre stati",
verifiedTitle: "Verificato",
verifiedDesc: "Qualcuno nella tua rete garantisce per questo account: un amico di un amico, o il provider che hai scelto.",
unknownTitle: "Sconosciuto",
unknownDesc: "Nessuno ha ancora garantito. È qui che inizia ogni nuovo account.",
flaggedTitle: "Segnalato",
flaggedDesc: "Persone affidabili hanno segnalato questo account. È un avviso a guardare più da vicino, non una prova.",
absenceTitle: "Nessun badge non è diffidenza",
absenceDesc: "La maggior parte degli account non mostra nulla. Significa che nessuno nella tua rete ha ancora garantito, non che qualcosa non va. Non leggere mai un contrassegno mancante come negativo.",
sourceTitle: "Chi lo calcola",
sourceDesc: "Per impostazione predefinita usiamo la tua rete. Puoi anche scegliere un provider di fiducia che pubblica punteggi firmati su Nostr (NIP-85), o disattivare la visualizzazione. Le segnalazioni vengono sempre mostrate, perché sono un segnale di sicurezza.",
endorsementTitle: "La presenza non è un'approvazione",
endorsementDesc: "Un contrassegno verificato significa che qualcuno ha garantito, non che la persona sia buona. Una segnalazione significa che persone affidabili l'hanno segnalata, non che sia colpevole. Controlla i dettagli prima di decidere.",
povTitle: "Dipende dal punto di vista",
povDesc: "Un punteggio è relativo a chi guarda. Un rank di un provider o di una persona non è confrontabile con un altro, e non ne presentiamo mai uno come fatto oggettivo.",
settingsCta: "Gestisci nelle impostazioni",
},
marketTerms: {
link: "Linee guida del Marketplace",
seoTitle: "Linee guida del Marketplace",
seoDescription: "Come funzionano gli annunci di attrezzatura SkateSpots: peer-to-peer, compratore attento, e le regole.",
title: "Linee guida del Marketplace",
intro: "SkateSpots è una bacheca di attrezzatura peer-to-peer. Tratti direttamente con l'altra persona: non custodiamo fondi, non spediamo articoli e non risolviamo controversie.",
howTitle: "Come funziona",
howBody: "Pubblica attrezzatura, contatta il venditore in privato e regola direttamente (contanti, Lightning o scambio). Non ci sono carrello né checkout.",
rulesTitle: "Cosa non è consentito",
rulesBody: "Niente contenuti illegali, pericolosi o per adulti; niente droghe, armi, contraffazioni o merce rubata. Mantieni gli annunci su attrezzatura da skate e articoli correlati.",
respectTitle: "Sii rispettoso",
respectBody: "Niente abusi, molestie, minacce o odio. I moderatori possono nascondere annunci o account.",
trustTitle: "La fiducia è una guida, non una garanzia",
trustBody: "I contrassegni di verifica e la reputazione negli scambi sono segnali dalla rete, non promesse. Fai i tuoi controlli prima di scambiare.",
trustLink: "Come funziona la fiducia",
privacyLink: "Cosa lascia il tuo dispositivo",
safetyTitle: "Scambia in sicurezza",
safetyBody: "Incontratevi in pubblico per le consegne, usa l'escrow o un deposito di buona fede per le spedizioni, e non inviare mai denaro fuori dall'app.",
moderationTitle: "La moderazione è lieve e reversibile",
moderationBody: "I contenuti nascosti restano sui relay e possono essere ripristinati; le controversie tra persone spetta a voi risolverle.",
},
labOptions: {
clothing: {
service: {
tees: "T-shirt",
hoodies: "Felpe e maglioni",
pants: "Pantaloni e shorts",
jackets: "Giacche e capispalla",
kits: "Kit di squadra e maglie",
caps: "Cappellini e berretti",
socks: "Calzini",
accessories: "Borse e accessori",
footwear: "Calzature",
patches: "Toppe e applicazioni",
griptape: "Abbigliamento griptape e deck",
onepiece: "Pezzi unici / upcycled",
},
serviceDesc: {
tees: "T-shirt e top personalizzati",
hoodies: "Felpe, girocollo e pantaloni della tuta",
pants: "Pantaloni da lavoro, cargo e shorts",
jackets: "Giacche da coach, shell e da lavoro",
kits: "Kit di squadra, maglie e uniformi",
caps: "Cappellini, berretti e copricapi",
socks: "Calzini e maglieria",
accessories: "Borse, cinture e piccola pelletteria",
footwear: "Scarpe personalizzate",
patches: "Toppe ricamati e applicazioni",
griptape: "Arte su griptape e abbigliamento deck",
onepiece: "Pezzi singoli e capi upcycled",
},
method: {
screenprint: "Serigrafia",
dtg: "DTG / stampa diretta su tessuto",
embroidery: "Ricamo",
cutsew: "Cut & Sew",
sublimation: "Sublimazione",
heattransfer: "Trasferimento a caldo / vinile",
garmentdye: "Tintura in capo",
knit: "Maglieria",
patchwork: "Patchwork",
allover: "Stampa all-over",
},
material: {
cotton: "Cotone",
heavyweight: "Peso pesante",
organic: "Biologico / sostenibile",
fleece: "Pile",
denim: "Denim",
canvas: "Canvas",
nylon: "Nylon / tecnico",
wool: "Merino / lana",
leather: "Pelle",
recycled: "Riciclato / deadstock",
},
},
},
becomeRolesUi: {
clothing: {
seoTitle: "Diventa designer di abbigliamento - SkateSpots",
seoDescription: "Abbigliamento personalizzato, kit di squadra e apparel per la scena.",
heading: "Designer di abbigliamento",
tagline: "Abbigliamento personalizzato, kit di squadra e apparel per la scena",
noun: "designer di abbigliamento",
rateLabel: "Tariffa",
portfolioLabel: "Link shop / portfolio",
sectionWhatYouMake: "Cosa crei",
sectionHowYouMake: "Come lo crei",
sectionMaterials: "Materiali",
minimumPlaceholder: "es. 10 pezzi",
turnaroundPlaceholder: "es. 2-3 settimane",
sizingPlaceholder: "es. XS-3XL / su misura",
samplesHelper: "Offri campioni o prototipi prima di una produzione completa?",
customizationPlaceholder: "es. nomi, numeri, grafiche",
},
},
weatherUi: {
updated: "Aggiornato",
refresh: "Aggiorna",
unavailable: "Meteo non disponibile.",
retry: "Riprova",
sunrise: "Alba",
sunset: "Tramonto",
legendTitle: "Punteggio meteo",
legendWeatherOnly: "Solo meteo",
},
cordnUi: {
shareInvite: 'Invita',
shareInviteText: 'Unisciti a {{crew}} — chat privata del crew',
inviteCopied: 'Link d’invito copiato',
title: "Chat privata",
subtitle: "Crittografata end-to-end (MLS) tra i membri della crew. Il coordinatore instrada solo testo cifrato e metadati — non vede mai il contenuto dei messaggi.",
notLoggedIn: "Accedi per usare la chat privata della crew.",
membersOnly: "Solo i membri della crew possono aprire la chat privata.",
connecting: "Connessione…",
noCoordinator: "Nessun coordinatore è ancora configurato per questa crew.",
noGroupAdmin: "La chat privata di questa crew non è ancora stata creata.",
noGroupMember: "Non sei ancora nella chat privata di questa crew.",
create: "Crea la chat privata",
requestJoin: "Chiedi di unirti",
checkInvite: "Controlla l'invito",
requested: "Richiesta inviata — un admin della crew la approverà.",
noInvite: "Nessun invito in attesa. Chiedi a un admin di approvare la tua richiesta.",
placeholder: "Scrivi alla crew…",
send: "Invia",
refresh: "Aggiorna",
requests: "Richieste di adesione",
checkRequests: "Controlla le richieste",
approve: "Aggiungi",
noRequests: "Nessuna richiesta di adesione in sospeso.",
inviteHint: "Per ora sei solo tu in questa chat — i membri della crew possono toccare “Chiedi di unirti”, poi li approvi qui.",
memberCount: "{{count}} nel gruppo",
you: "Tu",
groupRef: "Link del gruppo",
copyRef: "Copia",
copied: "Copiato",
attachImage: "Allega immagine",
uploading: "Caricamento…",
uploadFailed: "Impossibile caricare l'immagine.",
bannerTitle: "Questa crew non ha ancora una chat privata",
bannerBody: "Configura una chat crittografata end-to-end (MLS) per la tua crew — i membri si uniscono dalla scheda.",
bannerCta: "Configura",
ready: "Connesso · MLS",
errorPrefix: "Impossibile raggiungere il coordinatore",
interactiveHint: "Il tuo signer chiede l'approvazione a ogni azione — usa Aggiorna e Invia secondo necessità.",
setupDevice: "Configura questo dispositivo",
setupDeviceBody: "Questo assegna al dispositivo una chiave propria per la chat privata. Un fondatore la approva una volta.",
waitingApproval: "In attesa dell’approvazione del fondatore…",
waitingApprovalManual: "In attesa del fondatore. Tocca «Controlla l’invito» dopo l’approvazione.",
onboardingFounder1: "Avvia la chat privata.",
onboardingFounder2: "Approva i membri che chiedono di unirsi.",
onboardingFounder3: "Chatta in privato con la tua crew.",
onboardingMember1: "Chiedi di unirti",
onboardingMember2: "Il fondatore approva il tuo dispositivo.",
onboardingMember3: "Sei dentro — i messaggi sono cifrati.",
encryptedNote: "Solo i membri della crew possono leggerlo; il coordinatore inoltra solo messaggi cifrati.",
advanced: "Avanzate",
coordinator: "Coordinatore",
keyPackage: "Pacchetto di chiavi",
keyPackageReady: "Pronto su questo dispositivo",
keyPackageMissing: "Non configurato su questo dispositivo",
members: "Membri",
roleFounder: "Fondatore",
roleAdmin: "Admin",
makeAdmin: "Rendi admin",
removeAdmin: "Rimuovi admin",
adminAdded: "Membro promosso ad admin.",
adminRemoved: "Ruolo admin rimosso.",
roleUpdateFailed: "Impossibile aggiornare il ruolo. Riprova.",
addReaction: "Aggiungi reazione",
deleteMessage: "Elimina messaggio",
deleteMessageConfirm: "Eliminare questo messaggio per tutti?",
readBy: "Letto da {{count}}",
joinRequestTitle: "Richiesta di chat privata",
joinRequestFor: "Nuova richiesta di adesione a {{crew}}",
joinRequestReview: "Esamina richiesta",
joinRequestDismiss: "Ignora richiesta",
roleMember: "Membro",
qrTitle: "Scansiona per unirti alla chat privata",
qrHint: "I membri della crew lo scansionano con la fotocamera del telefono. Il link apre la scheda Chat privata.",
sendFailed: "Invio non riuscito — tocca Riprova.",
sending: "Invio…",
sent: "Inviato",
retry: "Riprova",
errorUnreachable: "Impossibile raggiungere la chat privata. Controlla la connessione.",
errorDetails: "Dettagli",
unreachable: "Non raggiungibile",
dismiss: "Chiudi",
linkDevice: "Collega questo dispositivo",
linkDeviceTitle: "Collega un altro dispositivo",
linkDeviceHint: "Scansiona questo codice su un dispositivo già presente nella stanza.",
linkDeviceNote: "Il codice contiene un pacchetto di chiavi pubbliche. La tua chiave privata resta sul nuovo dispositivo.",
waitingDevice: "In attesa dell’altro dispositivo…",
addDevice: "Aggiungi un dispositivo",
deviceLinked: "Dispositivo aggiunto.",
deviceLinkFailed: "Impossibile aggiungere quel dispositivo.",
removeMemberConfirm: "Rimuovere {{name}} dalla chat privata? Quel dispositivo perderà l’accesso.",
removeMemberFailed: "Impossibile rimuovere quel membro.",
reply: "Rispondi",
},
communityUi: {
link: "Community",
title: "Chat della community",
subtitle: "Fai domande, condividi feedback e parla con la community di SkateSpots — crittografato end-to-end.",
heading: "Community SkateSpots",
eyebrow: "Domande e feedback",
seoTitle: "Chat della community SkateSpots",
seoDescription: "Domande, feedback e chiacchiere della community — crittografate end-to-end.",
notLoggedIn: "Accedi per entrare nella chat della community.",
noGroupAdmin: "La stanza della community non è ancora stata creata.",
noGroupMember: "Non sei ancora nella stanza della community.",
create: "Crea la stanza della community",
setupDeviceBody: "Questo assegna a questo dispositivo una chiave per la stanza della community. Un admin o il bot la approva una volta.",
onboardingFounder1: "Crea la stanza della community.",
onboardingFounder2: "Approva il bot della community e i nuovi membri.",
onboardingFounder3: "Rispondi alle domande e raccogli feedback.",
onboardingMember1: "Chiedi di entrare nella stanza della community.",
onboardingMember2: "Un admin o il bot della community approva il tuo dispositivo.",
onboardingMember3: "Fai domande, condividi feedback o saluta e basta.",
encryptedNote: "Solo i membri della stanza possono leggerlo; il coordinatore inoltra solo messaggi crittografati.",
shareInviteText: "Entra nella chat della community SkateSpots",
qrTitle: "Scansiona per entrare nella chat della community",
qrHint: "Scansiona con la fotocamera del telefono per aprire la chat della community e chiedere di entrare.",
owner: "Proprietario",
botName: "Bot della community",
howItWorks: "I nuovi dispositivi vengono approvati una volta da un admin o dal bot della community. I messaggi inviati prima che tu entri non ti sono visibili.",
feedbackNote: "Domande e feedback sono benvenuti. Sii gentile — è una stanza condivisa.",
},
translateUi: {
title: "Traduzione dei messaggi",
translate: "Traduci",
translating: "Traduzione in corso…",
showOriginal: "Mostra originale",
showTranslation: "Mostra traduzione",
translatedFrom: "Tradotto da {{language}}",
failed: "Traduzione non riuscita. Riprova.",
unsupported: "Questa coppia di lingue non è ancora disponibile.",
pilotNote: "Pilota: solo inglese ↔ spagnolo.",
autoTranslate: "Traduci automaticamente i messaggi",
autoTranslateDesc: "Traduci i messaggi in arrivo nella tua lingua. Funziona su questo dispositivo; nulla viene inviato.",
privacy: "La traduzione viene eseguita sul tuo dispositivo. Il tuo messaggio non lo lascia mai. Al primo utilizzo viene scaricato un modello linguistico.",
},
newsletterDraftUi: {
weeklyDraftReady: 'Bozza settimanale pronta',
loadDraft: 'Carica bozza',
hidePreview: 'Nascondi anteprima',
untitled: 'Senza titolo',
},
signerPromptUi: {
title: "Budget delle richieste Amber",
body: "Amber chiede conferma per ogni azione firmata. Le letture e le decifrature in background restano locali e non generano richieste. L'invio di un DM di gruppo chiede una volta per destinatario (cifratura + firma) e Cordn può chiedere per ogni richiesta del coordinatore. Per chat private o di crew frequenti, un bunker o una chiave locale è più silenzioso.",
bunker: "Tieni Amber per le firme di alto valore, oppure passa a un bunker quando prevedi una lunga conversazione.",
},
globalSearchUi: {
open: "Cerca",
placeholder: "Cerca spot, crew, eventi, attrezzatura…",
hint: "⌘K / Ctrl+K",
recent: "Recenti",
pages: "Pagine",
spots: "Spot",
shops: "Skate shop",
crews: "Crew",
events: "Eventi",
gear: "Attrezzatura",
skaters: "Skaters",
signers: "Signer",
trust: "Fiducia",
noResults: "Nessun risultato per «{{query}}».",
},
};
export default drift;