Files
EpicNext-Cms/src/messages/it.json
T
Simo f7b3845131 Close the web-feasible 100% gaps: REST write/token API, tickets, draw-badge, /me, sanitisation, dusk, radio SSE
Final parity push (web-tier only):
- REST API write + token auth: POST /api/tokens (issue a personal_access_token
  for the session user), Bearer auth via src/lib/api-auth.ts, POST
  /api/articles/[slug]/comment, GET/DELETE /api/me/tokens, full tickets API
  (/api/tickets +[id] +[id]/reply), radio current-dj/points/points-leaderboard/
  embed-config + POST shouts, and a real-time /api/radio/stream (SSE). 31 public
  API routes total.
- Pages: /draw-badge (buy a custom profile badge → credits + RCON), /me
  dashboard (stats + online friends + referral claim). Wired into the nav.
- HTML sanitisation (sanitize-html) — the HTMLPurifier equivalent — applied to
  writeable boxes + article bodies before dangerouslySetInnerHTML.
- "Dusk" dark theme preset + a default-dark site option honoured by the
  no-flash boot script.

Verified live (prod, amx_test): token issue → Bearer endpoint 200, no-token
401; /api/me/tokens lists it; current-dj/leaderboard JSON; /me + /draw-badge
200; reverted the test user + tokens. tsc 0, vitest 49/49, next build 0.
2026-06-29 18:15:01 +02:00

612 lines
26 KiB
JSON

{
"nav": {
"home": "Home",
"community": "Community",
"articles": "Articoli",
"photos": "Foto",
"staff": "Staff",
"rankings": "Classifiche",
"guilds": "Gruppi",
"leaderboards": "Classifiche",
"rareValues": "Valori rari",
"shop": "Negozio",
"market": "Mercato",
"assistance": "Assistenza",
"helpCenter": "Centro assistenza",
"myTickets": "I miei ticket",
"badges": "Distintivi",
"radio": "Radio",
"friends": "Amici",
"messages": "Messaggi",
"admin": "Admin",
"drawBadge": "Crea distintivo"
},
"header": {
"online": "{count} online su {hotel}",
"nitroClient": "Client Nitro",
"tagline": "Un mondo virtuale online dove puoi creare il tuo avatar, fare amicizia, chattare, creare stanze e molto altro!",
"login": "Accedi",
"or": "Oppure",
"createAccount": "Crea un account"
},
"footer": {
"copyright": "© {year} - {hotel} è un progetto educativo senza scopo di lucro"
},
"common": {
"language": "Lingua",
"lightMode": "Tema chiaro",
"darkMode": "Tema scuro"
},
"pages": {
"staff": {
"title": "Staff",
"subtitle": "Il team dietro l'hotel",
"ranksTitle": "Ruoli",
"ranksSubtitle": "Di cosa si occupa ogni parte del team",
"membersTitle": "Membri del team",
"membersEmptySubtitle": "Nessuno da mostrare al momento",
"membersSubtitle": "{count, plural, one {# membro che tiene tutto in funzione} other {# membri che tengono tutto in funzione}}",
"emptyState": "Nessun membro dello staff da mostrare.",
"colUsername": "Nome utente",
"colRank": "Ruolo",
"colMotto": "Motto"
},
"leaderboard": {
"title": "Classifica",
"subtitle": "I 20 migliori giocatori per {currency}",
"tab_credits": "Crediti",
"tab_diamonds": "Diamanti",
"tab_duckets": "Duckets",
"emptyState": "Ancora nessuna classifica da mostrare.",
"colAvatar": "Avatar",
"colPlayer": "Giocatore"
},
"friends": {
"title": "Amici",
"emptySubtitle": "Non hai ancora aggiunto nessun amico",
"subtitle": "{count, plural, one {Hai # amico} other {Hai # amici}}",
"emptyState": "Aggiungi amici nell'hotel e compariranno qui.",
"noMotto": "Nessun motto"
},
"messages": {
"title": "Messaggi",
"subtitle": "Richieste di amicizia e messaggi offline in attesa per te",
"requestsTitle": "Richieste di amicizia",
"requestsEmptySubtitle": "Nessuno ti ha ancora chiesto l'amicizia",
"requestsSubtitle": "{count, plural, one {# richiesta in sospeso} other {# richieste in sospeso}}",
"requestsEmptyState": "Nessuna richiesta di amicizia in sospeso.",
"wantsToBeFriend": "vuole essere tuo amico.",
"accept": "Accetta",
"offlineTitle": "Messaggi offline",
"offlineEmptySubtitle": "La tua casella è vuota",
"offlineSubtitle": "{count, plural, one {# messaggio ricevuto} other {# messaggi ricevuti}}",
"offlineEmptyState": "Non hai messaggi offline.",
"unknownUser": "Utente #{id}"
},
"profile": {
"noMotto": "Nessun motto",
"statRank": "Ruolo",
"statCredits": "Crediti",
"statRegistered": "Registrato",
"badgesTitle": "Distintivi",
"badgesEmpty": "Ancora nessun distintivo.",
"photosTitle": "Foto",
"photosEmpty": "Ancora nessuna foto.",
"guestbookTitle": "Bacheca",
"guestbookSubtitle": "Messaggi sulla bacheca di {username}",
"leaveMessage": "Lascia un messaggio",
"guestbookPlaceholder": "Scrivi qualcosa sulla bacheca di {username}…",
"post": "Pubblica",
"loginToPost": "Accedi per lasciare un messaggio sulla bacheca.",
"guestbookEmpty": "Ancora nessun messaggio in bacheca.",
"unknownUser": "Utente #{id}"
},
"rankings": {
"title": "Classifica",
"subtitle": "I 12 migliori giocatori ordinati per crediti",
"emptyState": "Ancora nessun giocatore da classificare."
},
"home": {
"welcome": "Benvenuto su {hotelName}",
"welcomeSubtitle": "Il tuo hotel retrò, ora con tecnologia Next.js",
"welcomeBody": "Rilassati, colleziona furni e fai nuove amicizie.",
"enterHotel": "Entra nell'hotel",
"latestNews": "Ultime notizie",
"newsTitle": "Ultime notizie",
"newsSubtitle": "Appena arrivate dall'hotel",
"allNews": "Tutte le notizie →",
"noArticles": "Ancora nessun articolo."
},
"news": {
"title": "Notizie",
"subtitle": "Gli ultimi annunci, eventi e aggiornamenti dall'hotel",
"noArticles": "Ancora nessun articolo."
},
"article": {
"backToNews": "← Notizie",
"reactionsTitle": "Reazioni",
"reactionsSubtitle": "Dicci cosa ne pensi",
"reaction": {
"like": "Mi piace",
"love": "Adoro",
"wow": "Wow"
},
"removeReaction": "Clicca per rimuovere la tua reazione",
"reactWith": "Reagisci con {reaction}",
"noReactions": "Ancora nessuna reazione.",
"logIn": "Accedi",
"toReact": "per reagire.",
"commentsTitle": "Commenti",
"commentsSubtitle": "Partecipa alla conversazione",
"commentsCount": "{count} finora",
"noComments": "Ancora nessun commento. Scrivi il primo.",
"userNumber": "Utente #{id}",
"addComment": "Aggiungi un commento",
"commentPlaceholder": "Scrivi il tuo commento…",
"postComment": "Pubblica commento",
"toComment": "per lasciare un commento."
},
"photos": {
"title": "Foto",
"subtitle": "Gli ultimi scatti realizzati nell'hotel",
"noPhotos": "Ancora nessuna foto.",
"photoAlt": "Foto dell'utente #{id}",
"byUser": "dell'utente #{id}"
},
"badges": {
"title": "Distintivi",
"subtitle": "I distintivi che puoi ottenere e sfoggiare in giro per l'hotel",
"noBadges": "Ancora nessun distintivo disponibile."
},
"community": {
"title": "Community",
"subtitle": "Tutto ciò che accade nell'hotel in un unico posto",
"open": "Apri →",
"links": {
"rankings": {
"title": "Classifiche",
"text": "Scopri i giocatori più ricchi dell'hotel, ordinati per crediti."
},
"staff": {
"title": "Staff",
"text": "Conosci il team che ogni giorno fa funzionare l'hotel."
},
"news": {
"title": "Notizie",
"text": "Gli ultimi annunci, eventi e aggiornamenti."
},
"photos": {
"title": "Foto",
"text": "Scatti condivisi dalla community in giro per l'hotel."
},
"guilds": {
"title": "Gilde",
"text": "Esplora i gruppi creati e a cui si sono uniti i giocatori."
},
"leaderboards": {
"title": "Classifiche generali",
"text": "Chi è in testa questa stagione nelle statistiche dell'hotel."
}
}
},
"guilds": {
"title": "Gilde",
"subtitle": "Esplora i gruppi creati e frequentati dai giocatori",
"empty": "Ancora nessuna gilda.",
"unnamedGuild": "Gilda senza nome",
"noDescription": "Nessuna descrizione"
},
"guild": {
"allGuilds": "← Tutte le gilde",
"unnamedGuild": "Gilda senza nome",
"noDescription": "Nessuna descrizione",
"memberSingular": "Membro",
"memberPlural": "Membri",
"founded": "Fondata",
"forumLink": "Forum →",
"discussion": "Discussione",
"membersTitle": "Membri",
"memberLowerSingular": "membro",
"memberLowerPlural": "membri",
"noMembers": "Nessun membro.",
"owner": "Proprietario",
"noMotto": "Nessun motto"
},
"guildForum": {
"backToGuild": "← Torna alla gilda",
"unnamedGuild": "Gilda senza nome",
"forumTitle": "{guild} — Forum",
"threadSingular": "discussione",
"threadPlural": "discussioni",
"newThread": "+ Nuova discussione",
"empty": "Ancora nessuna discussione in questo forum.",
"colSubject": "Oggetto",
"colAuthor": "Autore",
"colPosts": "Messaggi",
"colDate": "Data",
"noSubject": "(senza oggetto)",
"pinned": "In evidenza",
"locked": "Bloccata",
"userNumber": "Utente #{id}",
"unknown": "Sconosciuto"
},
"guildForumNew": {
"backToForum": "← Torna al forum",
"unnamedGuild": "Gilda senza nome",
"title": "Nuova discussione",
"subtitle": "nel forum di {guild}",
"subjectLabel": "Oggetto",
"subjectPlaceholder": "Oggetto della discussione",
"messageLabel": "Messaggio",
"messagePlaceholder": "Scrivi il tuo primo messaggio…",
"postThread": "Pubblica discussione",
"cancel": "Annulla"
},
"shop": {
"title": "Negozio",
"subtitle": "Ricarica il tuo account e accaparrati pacchetti esclusivi, valute e distintivi.",
"browsingCategory": "Stai sfogliando i pacchetti {category}.",
"all": "Tutti",
"allPackages": "Tutti i pacchetti",
"packagesAvailable": "{count, plural, one {# pacchetto disponibile} other {# pacchetti disponibili}}",
"empty": "Al momento non ci sono pacchetti disponibili.",
"buy": "Acquista"
},
"topup": {
"title": "Ricarica con PayPal",
"subtitle": "Paga in sicurezza con PayPal e i tuoi crediti vengono aggiunti non appena il pagamento va a buon fine.",
"cancelled": "Il pagamento è stato annullato — non è stato addebitato nulla.",
"chooseAmount": "Scegli un importo",
"notConfiguredPre": "PayPal non è ancora configurato. Un amministratore deve impostare",
"notConfiguredAnd": "e",
"notConfiguredOptional": "(e facoltativamente",
"notConfiguredPost": "per la modalità sandbox o live).",
"balanceTitle": "Il tuo saldo",
"signedInAs": "Hai effettuato l'accesso come {username}",
"credits": "Crediti",
"creditsPerUnit": "Crediti per 1,00 {currency}",
"rateLine": "Ricevi <strong>{amount}</strong> crediti per 1,00 {currency}. I crediti compaiono nel gioco al tuo prossimo accesso."
},
"marketplace": {
"title": "Mercatino",
"subtitle": "Sfoglia mobili e rari messi in vendita dai giocatori. Le inserzioni vengono create nel gioco e si aggiornano in tempo reale — entra nell'hotel per fare un'offerta.",
"activeOffers": "Offerte attive",
"sellers": "Venditori",
"totalValue": "Valore totale",
"activeListings": "Inserzioni attive",
"mostRecentFirst": "Prima le più recenti",
"empty": "Al momento non ci sono offerte attive nel mercatino. Riprova più tardi.",
"colOffer": "Offerta",
"colItem": "Oggetto",
"colSeller": "Venditore",
"colPrice": "Prezzo",
"colListed": "Pubblicata",
"itemLabel": "Oggetto #{id}",
"userLabel": "Utente #{id}",
"justNow": "proprio ora",
"minutesAgo": "{count} min fa",
"hoursAgo": "{count} h fa",
"daysAgo": "{count} g fa"
},
"rares": {
"title": "Valori dei rari",
"subtitle": "Ottieni una panoramica di tutti i rari dell'hotel, raggruppati per categoria.",
"empty": "Al momento non abbiamo rari elencati qui.",
"rareCount": "{count, plural, one {# raro} other {# rari}}",
"viewRares": "Vedi i rari →"
},
"rareCategory": {
"rareCount": "{count, plural, one {# raro in questa categoria} other {# rari in questa categoria}}",
"allRares": "← Tutti i rari",
"empty": "Ancora nessun raro elencato in questa categoria.",
"colRare": "Raro",
"colCredits": "Crediti",
"colCurrency": "Valuta",
"creditsValue": "{value} crediti",
"duckets": "Duckets",
"diamonds": "Diamanti",
"credits": "Crediti"
},
"redeem": {
"title": "Riscatta un buono",
"subtitle": "Hai un codice buono? Inseriscilo qui sotto per aggiungere la ricompensa al tuo account.",
"enterCode": "Inserisci il tuo codice",
"oncePerAccount": "Ogni buono può essere riscattato una sola volta per account.",
"balanceTitle": "Il tuo saldo",
"signedInAs": "Hai effettuato l'accesso come {username}",
"credits": "Crediti",
"instantCredit": "Le ricompense riscattate vengono accreditate immediatamente e compaiono nel gioco al tuo prossimo accesso."
},
"help": {
"title": "Centro assistenza",
"subtitle": "Trova guide, argomenti di supporto e le regole dell'hotel: tutto ciò che ti serve per ricevere aiuto.",
"myTickets": "I miei ticket →",
"topicsTitle": "Argomenti di supporto",
"topicsSubtitle": "Sfoglia guide e risposte alle domande più comuni",
"topicsEmpty": "Ancora nessun argomento di aiuto.",
"rulesTitle": "Regole dell'hotel",
"rulesSubtitle": "Leggile prima di trascorrere del tempo nell'hotel",
"rulesEmpty": "Ancora nessuna regola pubblicata.",
"categoryEmpty": "Nessuna regola in questa categoria."
},
"helpCategory": {
"back": "← Centro assistenza",
"topicSubtitle": "Argomento del centro assistenza",
"moreTitle": "Altri argomenti di aiuto",
"moreSubtitle": "Passa a un altro argomento di supporto"
},
"helpTickets": {
"title": "Ticket di assistenza",
"subtitle": "Invia un ticket allo staff e tieni traccia delle tue richieste aperte.",
"statTotal": "Ticket totali",
"statOpen": "Aperti",
"statClosed": "Chiusi",
"newTitle": "Nuovo ticket",
"newSubtitle": "Descrivi il tuo problema e lo staff ti ricontatterà",
"subjectPlaceholder": "Oggetto",
"contentPlaceholder": "Descrivi il tuo problema…",
"submit": "Invia ticket",
"listTitle": "I tuoi ticket",
"listSubtitle": "Tutte le richieste che hai inviato allo staff",
"listEmpty": "Non hai ancora nessun ticket.",
"colId": "ID",
"colSubject": "Oggetto",
"colStatus": "Stato",
"colCreated": "Creato",
"statusOpen": "Aperto",
"statusClosed": "Chiuso"
},
"applyStaff": {
"title": "Candidati per lo staff di {hotel}",
"subtitle": "Apriamo le candidature per lo staff di tanto in tanto. Se trovi una posizione che senti perfetta per te, non esitare a candidarti.",
"noPositionsTitle": "Nessuna posizione aperta",
"noPositionsBody": "Al momento non ci sono posizioni aperte. Torna più tardi per verificare se nel frattempo ci sono nuove opportunità. Grazie per il tuo interesse.",
"noDeadline": "Nessuna scadenza impostata",
"deadline": "Scadenza candidatura: {date}",
"alreadyApplied": "Ti sei già candidato per {rank}",
"aboutYou": "Parlaci di te",
"aboutPlaceholder": "Raccontaci perché saresti un ottimo {rank}…",
"applyFor": "Candidati per {rank}"
},
"applyTeam": {
"title": "Candidati per il team di {hotel}",
"subtitle": "Apriamo le candidature per il team periodicamente. Se vedi un team adatto a te, non esitare a candidarti!",
"noPositionsTitle": "Nessuna posizione nel team aperta",
"noPositionsBody": "Al momento non ci sono posizioni aperte nel team. Torna più tardi per verificare se ci sono nuove opportunità. Grazie!",
"pending": "La tua candidatura è in attesa",
"aboutYou": "Parlaci di te",
"aboutPlaceholder": "Raccontaci perché saresti perfetto per {rank}…",
"applyFor": "Candidati per {rank}"
},
"radio": {
"title": "Radio",
"subtitle": "Sintonizzati sulla radio dell'hotel — set DJ in diretta, richieste e saluti.",
"nowPlaying": "In riproduzione",
"nothingPlaying": "Nessun brano in riproduzione al momento.",
"onAir": "In onda: {dj}",
"noDj": "Nessun DJ in onda.",
"audioUnsupported": "Il tuo browser non supporta l'elemento audio.",
"streamOffline": "Lo streaming è al momento offline.",
"exploreTitle": "Esplora la radio",
"exploreSubtitle": "Programmazione, saluti, richieste e altro",
"linkSchedule": "Programmazione",
"linkScheduleText": "La nostra programmazione settimanale di DJ e show.",
"linkShouts": "Saluti",
"linkShoutsText": "Saluti e richieste dalla community.",
"linkRequests": "Richieste",
"linkRequestsText": "Chiedi al DJ di mettere il tuo brano preferito.",
"linkApply": "Candidati come DJ",
"linkApplyText": "Unisciti al team e va' in onda.",
"linkLeaderboard": "Classifica",
"linkLeaderboardText": "I migliori ascoltatori in base ai punti guadagnati.",
"todayTitle": "Programmazione di oggi",
"todayTitleWithDay": "Programmazione di oggi · {day}",
"todaySubtitle": "Cosa c'è in onda oggi",
"fullWeek": "Settimana intera →",
"noShowsToday": "Nessuno show in programma per oggi.",
"colTime": "Orario",
"colShow": "Show",
"colDj": "DJ",
"untitledShow": "Show senza titolo",
"userNumber": "Utente #{id}"
},
"radioSchedule": {
"title": "Programmazione radio",
"subtitle": "La nostra programmazione settimanale di DJ e show",
"empty": "Nessuno show ancora in programma.",
"colDay": "Giorno",
"colTime": "Orario",
"colDj": "DJ",
"colShow": "Show",
"noShows": "Nessuno show"
},
"radioShouts": {
"title": "Saluti radio",
"subtitle": "Saluti e richieste dalla community",
"postTitle": "Pubblica un saluto",
"postSubtitle": "Invia un messaggio al DJ in onda",
"messageLabel": "Il tuo messaggio",
"messagePlaceholder": "Invia un saluto al DJ…",
"shoutButton": "Invia",
"loginToPost": "Accedi per pubblicare un saluto.",
"latestTitle": "Ultimi saluti",
"latestSubtitle": "I messaggi più recenti degli ascoltatori",
"empty": "Ancora nessun saluto. Sii il primo!"
},
"radioContests": {
"title": "Concorsi radio",
"subtitle": "Sintonizzati e partecipa ai nostri ultimi concorsi in onda",
"empty": "Ancora nessun concorso.",
"contestLabel": "Concorso #{id}",
"dateUnknown": "Data sconosciuta"
},
"radioGiveaways": {
"title": "Omaggi radio",
"subtitle": "Resta in ascolto per avere la possibilità di vincere ai nostri omaggi radio",
"empty": "Ancora nessun omaggio.",
"giveawayLabel": "Omaggio #{id}",
"dateUnknown": "Data sconosciuta"
},
"radioLeaderboard": {
"title": "Classifica ascoltatori radio",
"subtitle": "I 50 migliori ascoltatori per punti guadagnati sintonizzandosi sulla radio",
"empty": "Ancora nessun punto ascoltatore da mostrare.",
"colRank": "Posizione",
"colAvatar": "Avatar",
"colListener": "Ascoltatore",
"colPoints": "Punti"
},
"radioApply": {
"title": "Candidati come DJ radiofonico",
"subtitle": "Raccontaci di te e perché saresti perfetto per andare in onda",
"latestTitle": "La tua ultima candidatura",
"statusLabel": "Stato:",
"submittedOn": "· inviata il {date}",
"submitAgain": "Puoi inviare di nuovo qui sotto se i tuoi dati sono cambiati.",
"formTitle": "Modulo di candidatura",
"formSubtitle": "Tutti i campi contrassegnati come obbligatori devono essere compilati",
"realNameLabel": "Nome reale",
"realNamePlaceholder": "Il tuo nome completo",
"ageLabel": "Età",
"availabilityLabel": "Disponibilità",
"availabilityPlaceholder": "In quali giorni e orari puoi trasmettere?",
"musicStyleLabel": "Stile musicale",
"musicStylePlaceholder": "es. House, Pop, Hip-Hop",
"experienceLabel": "Esperienza",
"optional": "(facoltativo)",
"experiencePlaceholder": "Hai esperienze precedenti come DJ o conduttore?",
"motivationLabel": "Motivazione",
"motivationPlaceholder": "Perché vuoi entrare nel team della radio?",
"submitButton": "Invia candidatura"
},
"settings": {
"accountSettings": "Impostazioni account",
"accountSettingsSubtitle": "Gestisci il tuo profilo, la sicurezza e gli account collegati",
"publicProfile": "Il tuo profilo pubblico",
"noMotto": "Nessun motto",
"noEmail": "Nessuna e-mail registrata",
"changeMotto": "Cambia motto",
"changeMottoSubtitle": "Si aggiorna subito in gioco se sei online",
"mottoPlaceholder": "Il tuo motto",
"saveMotto": "Salva motto",
"securityTitle": "Sicurezza",
"securitySubtitle": "Autenticazione a due fattori",
"securityDescription": "Aggiungi un ulteriore livello di protezione al tuo account.",
"twoFactorLink": "Autenticazione a due fattori",
"connectionsTitle": "Account collegati",
"connectionsSubtitle": "Accedi con un clic",
"connectionsDescription": "Collega Discord o Google al tuo account dell'hotel.",
"manageConnections": "Gestisci collegamenti"
},
"settings2fa": {
"backToSettings": "← Impostazioni",
"title": "Autenticazione a due fattori",
"subtitle": "Aggiungi un livello di sicurezza in più con un'app di autenticazione",
"nowEnabled": "L'autenticazione a due fattori è ora attiva. 🔒",
"disabledNotice": "L'autenticazione a due fattori è stata disattivata.",
"badCode": "Codice non valido, riprova.",
"noAppKeyPrefix": "L'autenticazione a due fattori non è disponibile finché non è configurata",
"noAppKeyMiddle": "(la stessa",
"noAppKeySuffix": "Laravel del tuo AtomCMS, così i segreti esistenti restano leggibili).",
"isEnabled": "L'autenticazione a due fattori è attiva",
"onYourAccount": "sul tuo account.",
"disable": "Disattiva 2FA",
"scanOrEnter": "Scansiona o inserisci questa chiave",
"scanInstructions": "Aggiungila a Google Authenticator / Authy, poi inserisci il codice a 6 cifre per confermare.",
"manualKey": "Chiave manuale:",
"codePlaceholder": "Codice a 6 cifre",
"confirm": "Conferma",
"enableIntro": "Aggiungi un livello di sicurezza in più con un'app di autenticazione.",
"enable": "Attiva 2FA"
},
"connections": {
"backToSettings": "← Impostazioni",
"title": "Account collegati",
"subtitle": "Collega un account social per poter accedere con un clic",
"matchByEmail": "Lo abbiniamo al tuo account dell'hotel tramite e-mail, quindi usa l'indirizzo registrato:",
"lookupFailed": "Al momento non riusciamo a leggere i tuoi account collegati. Puoi comunque collegarne uno qui sotto: lo stato verrà mostrato non appena disponibile.",
"statusUnavailable": "Non disponibile su questo hotel.",
"statusConnected": "Collegato — accedi con questo account.",
"statusNotConnected": "Non collegato.",
"connected": "Collegato",
"connectProvider": "Collega {provider}",
"unavailable": "Non disponibile",
"footerNote": "Il collegamento ti porta al provider per l'autorizzazione, poi ti riporta qui. Se l'e-mail del tuo account social non corrisponde a un account dell'hotel, verrai riportato alla schermata di accesso con una nota."
},
"login": {
"title": "Accedi",
"subtitle": "Bentornato — accedi per entrare nell'hotel.",
"subtitle2fa": "Inserisci il codice a 6 cifre della tua app di autenticazione.",
"usernamePlaceholder": "Nome utente",
"passwordPlaceholder": "Password",
"codePlaceholder": "Codice 2FA",
"pleaseWait": "Attendi…",
"verify": "Verifica",
"signIn": "Accedi",
"or": "oppure",
"continueWithDiscord": "Continua con Discord",
"continueWithGoogle": "Continua con Google",
"noAccount": "Non hai un account?",
"createOne": "Creane uno",
"forgotPassword": "Password dimenticata?",
"errorInvalidCredentials": "Nome utente o password non validi",
"errorInvalid2fa": "Codice 2FA non valido"
},
"register": {
"title": "Crea un account",
"subtitle": "Entra nell'hotel — bastano pochi istanti.",
"usernamePlaceholder": "Nome utente",
"emailPlaceholder": "Email",
"passwordPlaceholder": "Password (min 6 caratteri)",
"register": "Registrati",
"alreadyHaveAccount": "Hai già un account?",
"signIn": "Accedi"
},
"forgot": {
"title": "Reimposta password",
"subtitle": "Ti invieremo via e-mail un link sicuro per impostare una nuova password.",
"sentNotice": "Se l'indirizzo è registrato, ti abbiamo inviato un link per il reset. Controlla la posta in arrivo.",
"emailPlaceholder": "La tua email",
"sendResetLink": "Invia link di reset",
"backToLogin": "Torna all'accesso"
},
"reset": {
"title": "Imposta una nuova password",
"subtitle": "Scegli una password robusta che non usi altrove.",
"passwordPlaceholder": "Nuova password (min 6 caratteri)",
"resetPassword": "Reimposta password",
"backToLogin": "Torna all'accesso"
},
"verify": {
"verifiedTitle": "È tutto pronto",
"verifiedSubtitle": "Email verificata",
"verifiedBody": "Il tuo indirizzo email è stato verificato. Ora puoi accedere e giocare.",
"goToLogin": "Vai all'accesso",
"alreadyTitle": "Già verificata",
"alreadySubtitle": "Niente da fare",
"alreadyBody": "Questo indirizzo email è già stato confermato.",
"unavailableTitle": "Riprova tra poco",
"unavailableSubtitle": "Server irraggiungibile",
"unavailableBody": "Non siamo riusciti a raggiungere il server per verificare la tua email. Riprova il link tra un momento.",
"invalidTitle": "Verifica email",
"invalidSubtitle": "Link non valido o scaduto",
"invalidBody": "Questo link di verifica non è valido. Assicurati di aver aperto il link completo della tua email, oppure richiedine uno nuovo.",
"backToLogin": "Torna all'accesso"
},
"banned": {
"title": "Sei stato bannato",
"subtitle": "Account sospeso",
"body": "Il tuo account è stato sospeso dall'hotel.",
"reasonLabel": "Motivo:",
"permanent": "Questo ban è permanente.",
"expires": "Scade il {date}.",
"contactStaff": "Se ritieni che si tratti di un errore, contatta lo staff."
},
"maintenance": {
"title": "{hotel} è in manutenzione",
"subtitle": "Torneremo a breve",
"staffCanLogIn": "Lo staff può comunque accedere."
}
}
}