{ "draftRecovery": { "ready": "Una copia di recupero sarà conservata in questo browser per 7 giorni.", "saved": "Copia di recupero salvata in questo browser per 7 giorni.", "unavailable": "Recupero nel browser non disponibile. Tieni aperta questa pagina fino al salvataggio delle modifiche.", "found": "È disponibile una copia di recupero in questo browser, salvata il", "restore": "Ripristina copia del browser", "discard": "Elimina copia del browser", "confirmRestore": "Sostituire il modulo attuale con la copia di recupero del browser? Controlla il contenuto prima di salvare.", "confirmDiscard": "Eliminare questa copia di recupero del browser? Il modulo attuale resterà invariato." }, "nav": { "home": "Home", "community": "Community", "articles": "Articoli", "photos": "Foto", "staff": "Staff", "rankings": "Classifiche", "guilds": "Gruppi", "events": "Eventi", "polls": "Sondaggi", "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", "openMenu": "Apri menu", "closeMenu": "Chiudi menu", "drawBadge": "Crea distintivo", "mod": "Mod" }, "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" }, "emails": { "verify": { "subject": "Verifica la tua email · {hotel}", "heading": "Verifica la tua email", "body": "Benvenuto su {hotel}! Conferma questo indirizzo email per completare la creazione del tuo account.", "button": "Verifica email", "fallback": "Se il pulsante non funziona, incolla questo link nel browser:" } }, "pages": { "error": { "code": "Errore", "title": "Qualcosa è andato storto", "subtitle": "L'hotel ha incontrato un imprevisto.", "body": "Riprova tra poco. Se continua, contatta lo staff indicando il riferimento qui sotto.", "tryAgain": "Riprova", "backHome": "Torna alla home", "reference": "Riferimento: {digest}" }, "notFound": { "code": "404", "title": "Pagina non trovata", "subtitle": "Questa stanza non esiste — o i mobili sono stati spostati.", "body": "Controlla il link, oppure torna alla lobby.", "backHome": "Torna alla home", "latestNews": "Ultime notizie" }, "staff": { "title": "Staff", "subtitle": "Il team dietro l'hotel", "ranksTitle": "I nostri team", "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", "viewProfile": "Visita il profilo", "noMotto": "Nessun motto impostato", "loadError": "Impossibile caricare i membri dello staff. Riprova tra poco.", "retry": "Riprova" }, "leaderboard": { "title": "Classifica", "subtitle": "I 20 migliori giocatori per {currency}", "tab_credits": "Crediti", "tab_diamonds": "Diamanti", "tab_duckets": "Duckets", "tab_achievement": "Trofei", "tab_respects": "Rispetti", "tab_onlinetime": "Tempo online", "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", "remove": "Rimuovi", "success": { "removed": "Amico rimosso." }, "errors": { "notFound": "Quell'amicizia non è stata trovata.", "invalid": "Amico non valido.", "error": "Qualcosa è andato storto. Riprova." } }, "messages": { "title": "Messaggi", "subtitle": "Richieste di amicizia, inbox offline e messaggi agli amici", "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", "decline": "Rifiuta", "offlineTitle": "Messaggi offline", "offlineEmptySubtitle": "La tua casella è vuota", "offlineSubtitle": "{count, plural, one {# messaggio ricevuto} other {# messaggi ricevuti}}", "offlineEmptyState": "Non hai messaggi offline.", "composeTitle": "Invia messaggio offline", "composeSubtitle": "Consegnato nel messenger dell'hotel quando l'amico è offline", "composeEmptyFriends": "Aggiungi amici in hotel per inviare messaggi offline.", "composeFriendLabel": "Amico", "composeFriendPlaceholder": "Scegli un amico", "composeMessageLabel": "Messaggio", "composeMessagePlaceholder": "Scrivi il messaggio (max 500 caratteri)…", "composeSend": "Invia messaggio", "unknownUser": "Utente #{id}", "success": { "accepted": "Richiesta di amicizia accettata.", "declined": "Richiesta di amicizia rifiutata.", "sent": "Messaggio offline inviato." }, "errors": { "notFound": "Quella richiesta di amicizia non è stata trovata.", "unauthorized": "Non puoi gestire questa richiesta di amicizia.", "invalid": "Richiesta di amicizia non valida.", "error": "Qualcosa è andato storto. Riprova.", "notFriend": "Puoi scrivere solo agli amici.", "emptyMessage": "Scrivi un messaggio.", "rateLimited": "Troppi messaggi. Attendi un momento e riprova." } }, "sessions": { "title": "Attività di accesso", "subtitle": "Accessi recenti e tentativi falliti sul tuo account", "recentTitle": "Accessi recenti", "recentEmpty": "Nessun accesso registrato.", "colWhen": "Quando", "colIp": "IP", "colDevice": "Dispositivo", "failedTitle": "Tentativi falliti", "failedSubtitle": "Password errata per il tuo username", "unknownDevice": "Dispositivo sconosciuto", "signOutEverywhereTitle": "Esci ovunque", "signOutEverywhereDescription": "Termina tutte le sessioni del sito su ogni dispositivo. Dovrai accedere di nuovo anche qui.", "signOutEverywhereButton": "Esci da tutte le sessioni", "successSignedOutAll": "Tutte le sessioni sono state terminate." }, "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}", "statDuckets": "Duckets", "statDiamonds": "Diamanti", "walletTitle": "Portafoglio", "friendsTitle": "Amici", "friendsSubtitle": "Le persone con cui passa il tempo nell’hotel", "friendsEmpty": "Nessun amico da mostrare.", "roomsTitle": "Stanze", "roomsSubtitle": "Le stanze che possiede", "roomsEmpty": "Nessuna stanza da mostrare.", "roomUntitled": "Stanza senza nome", "addFriend": "Aggiungi amico", "alreadyFriends": "Siete amici", "requestPending": "Richiesta in sospeso", "respondInMessages": "Rispondi nei Messaggi", "success": { "sent": "Richiesta di amicizia inviata.", "guestbook": "Messaggio in bacheca pubblicato." }, "errors": { "self": "Non puoi inviarti una richiesta di amicizia.", "alreadyFriends": "Siete già amici.", "alreadyPending": "Hai già inviato una richiesta a questo utente.", "incomingPending": "Questo utente ti ha già inviato una richiesta — accettala o rifiutala nei Messaggi.", "empty": "Scrivi un messaggio prima di pubblicare.", "moderated": "Quel messaggio è stato bloccato dalla moderazione.", "ratelimit": "Stai pubblicando troppo in fretta. Attendi un momento e riprova.", "invalid": "Richiesta non valida.", "error": "Qualcosa è andato storto. Riprova." }, "noRoomPreview": "Anteprima non disponibile", "viewRoom": "Vedi stanza", "roomStates": { "open": "Aperta", "locked": "Campanello", "password": "Password", "invisible": "Nascosta" }, "privacy": { "title": "Visibilità del profilo", "hint": "Scegli cosa possono vedere i visitatori sul tuo profilo pubblico. La tua email non viene mai mostrata qui. Tu continui a vedere i tuoi dati. Questi controlli si applicano alla pagina del profilo.", "wallet": "Mostra il mio portafoglio", "online": "Mostra il mio stato online", "friends": "Mostra i miei amici", "photos": "Mostra le mie foto", "registered": "Mostra la mia data di iscrizione", "save": "Salva visibilità", "saved": "Visibilità del profilo salvata.", "error": "Non è stato possibile caricare o salvare la visibilità del profilo. Riprova.", "ownerHint": "Stai visualizzando i tuoi dati, comprese le sezioni nascoste." }, "morePhotos": "Mostra altre foto (fino alle 24 più recenti)", "openPhoto": "Apri la foto completa in una nuova scheda", "photosUnavailable": "Non è stato possibile caricare le foto. Riprova più tardi." }, "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 in {hotelName}", "onlineFriends": "Amici online", "noFriendsOnline": "Nessun amico online", "register": "REGISTRATI ORA", "joinNow": "Unisciti a {hotelName} oggi!", "recentUsers": "Utenti recenti", "recentPhotos": "Foto recenti", "latestNews": "Ultime notizie", "newsTitle": "Ultime notizie", "newsSubtitle": "Appena arrivate dall'hotel", "allNews": "Tutte le notizie →", "allUsers": "Community →", "noArticles": "Ancora nessun articolo.", "noPhotos": "Ancora nessuna foto.", "noUsers": "Nessun utente online", "latestArticle": "Ultimo articolo", "latestUsers": "Nuovi cittadini ({count} totale)", "statsOnline": "Online", "statsCitizens": "Cittadini", "statsRooms": "Stanze", "statsPhotos": "Foto", "statsArticles": "Articoli", "onlineNow": "Online adesso", "exploreLabel": "Esplora l'hotel", "featuresAvatar": "Avatar", "featuresAvatarDesc": "Crea il tuo look unico", "featuresFurniture": "Arredi", "featuresFurnitureDesc": "Decora le stanze con oggetti", "featuresCommunity": "Community", "featuresCommunityDesc": "Fai amicizia e chatta", "featuresGames": "Giochi", "featuresGamesDesc": "Competi e divertiti", "sectionFeaturesLabel": "Funzionalità", "sectionFeaturesTitle": "Tutto ciò che un grande hotel merita", "sectionStatsLabel": "Statistiche live", "sectionStatsTitle": "Una community che continua a crescere", "liveUpdates": "Aggiornamenti live", "sectionCommunityLabel": "Community", "sectionCommunityTitle": "Fatti sentire a casa", "joinCtaTitle": "Pronto a sentirti a casa?", "joinCtaBody": "Crea il tuo avatar, prendi dei mobili e incontra nuovi amici: la tua avventura nell'hotel inizia qui.", "ctaJoin": "Entra nell'hotel", "browseCommunity": "Scopri la community" }, "news": { "title": "Notizie", "subtitle": "Gli ultimi annunci, eventi e aggiornamenti dall'hotel", "noArticles": "Ancora nessun articolo.", "searchLabel": "Cerca notizie", "orderLabel": "Ordine", "newest": "Prima le più recenti", "oldest": "Prima le meno recenti", "apply": "Applica", "loadError": "Non è stato possibile caricare le notizie. Riprova.", "pagination": "Pagine delle notizie", "previous": "Precedente", "next": "Successiva", "pageSummary": "Pagina {page} di {pages} · {total} articoli" }, "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.", "success": { "posted": "Commento pubblicato.", "reaction": "Reazione aggiornata." }, "errors": { "empty": "Scrivi un commento prima di pubblicare.", "moderated": "Quel commento è stato bloccato dalla moderazione.", "ratelimit": "Stai commentando troppo in fretta. Attendi un momento e riprova.", "invalid": "Commento non valido.", "notFound": "Articolo non trovato.", "error": "Qualcosa è andato storto. Riprova." }, "loadError": "Questo articolo è temporaneamente non disponibile.", "retry": "Riprova", "commentsUnavailable": "I commenti sono temporaneamente non disponibili.", "reactionsUnavailable": "Le reazioni sono temporaneamente non disponibili.", "commentsPagination": "Pagine dei commenti", "previous": "Precedente", "next": "Successiva", "commentsPageSummary": "Pagina {page} di {pages} · {total} commenti" }, "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", "success": { "posted": "Discussione pubblicata." } }, "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", "errors": { "invalid": "Oggetto e messaggio sono obbligatori.", "notFound": "Gilda non trovata.", "ratelimit": "Stai pubblicando troppo in fretta. Attendi un momento e riprova.", "error": "Qualcosa è andato storto. Riprova." } }, "guildForumThread": { "backToForum": "← Torna al forum", "unnamedGuild": "Gilda senza nome", "noSubject": "(senza oggetto)", "inGuildForum": "Forum di {guild}", "pinned": "In evidenza", "locked": "Bloccata", "postsTitle": "Messaggi", "postsSubtitle": "{count, plural, one {# messaggio} other {# messaggi}}", "postsEmpty": "Nessun messaggio in questa discussione.", "userNumber": "Utente #{id}", "replyTitle": "Rispondi", "replySubtitle": "Aggiungi un messaggio a questa discussione", "replyPlaceholder": "Scrivi la tua risposta…", "replySubmit": "Pubblica risposta", "lockedHint": "Questa discussione è bloccata: non è possibile rispondere.", "loginToReply": "Accedi per rispondere.", "loginLink": "Accedi", "success": { "replied": "Risposta pubblicata." }, "errors": { "invalid": "Inserisci un messaggio.", "notFound": "Discussione non trovata.", "locked": "Questa discussione è bloccata.", "ratelimit": "Stai pubblicando troppo in fretta. Attendi un momento e riprova.", "error": "Qualcosa è andato storto. Riprova." } }, "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", "loginToBuy": "Accedi per acquistare", "creditsHint": "I pacchetti si pagano con crediti di gioco. Ricarica prima se ti servono altri crediti.", "topUpLink": "Ricarica crediti", "priceCredits": "{credits} crediti (≈ {usd})", "priceCreditsShort": "{credits} cr", "success": { "bought": "Pacchetto acquistato — le ricompense sono state aggiunte al tuo account.", "boughtNamed": "Hai acquistato \"{name}\" — le ricompense sono state aggiunte al tuo account." }, "errors": { "invalid": "Questo pacchetto non è più disponibile.", "credits": "Non hai abbastanza crediti per questo pacchetto.", "ratelimit": "Stai acquistando troppo velocemente. Attendi un momento e riprova.", "error": "Qualcosa è andato storto. Riprova." } }, "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 {amount} 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", "success": { "created": "Ticket inviato." }, "errors": { "invalid": "Compila oggetto e descrizione.", "moderated": "Quel ticket è stato bloccato dalla moderazione.", "ratelimit": "Stai inviando troppo in fretta. Attendi un momento e riprova.", "error": "Qualcosa è andato storto. Riprova." }, "banAppealLabel": "This is a ban appeal" }, "helpTicketDetail": { "backToList": "← I tuoi ticket", "ticketId": "Ticket #{id}", "statusOpen": "Aperto", "statusClosed": "Chiuso", "messagesTitle": "Conversazione", "messagesSubtitle": "{count, plural, one {# messaggio} other {# messaggi}}", "you": "Tu", "userNumber": "Utente #{id}", "replyTitle": "Rispondi", "replySubtitle": "Invia un aggiornamento allo staff", "replyPlaceholder": "Scrivi il tuo messaggio…", "replySubmit": "Invia risposta", "closeTitle": "Chiudi ticket", "closeSubtitle": "Segna la richiesta come risolta se non ti serve più aiuto", "closeSubmit": "Chiudi ticket", "closedHint": "Questo ticket è chiuso. Apri un nuovo ticket se hai bisogno di altro aiuto.", "success": { "replied": "Risposta inviata.", "closed": "Ticket chiuso." }, "errors": { "invalid": "Inserisci un messaggio.", "notFound": "Ticket non trovato.", "closedTicket": "Questo ticket è chiuso.", "moderated": "Quel messaggio è stato bloccato dalla moderazione.", "ratelimit": "Stai inviando troppo in fretta. Attendi un momento e riprova.", "error": "Qualcosa è andato storto. Riprova." } }, "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}", "success": { "submitted": "Candidatura inviata — lo staff la esaminerà a breve." }, "errors": { "empty": "Scrivi almeno 10 caratteri su di te.", "invalid": "Candidatura non valida.", "duplicate": "Ti sei già candidato per questa posizione.", "ratelimit": "Stai inviando troppo in fretta. Attendi un momento e riprova.", "error": "Qualcosa è andato storto. Riprova." } }, "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}", "success": { "submitted": "Candidatura inviata — lo staff la esaminerà a breve." }, "errors": { "empty": "Scrivi almeno 10 caratteri su di te.", "invalid": "Candidatura non valida.", "duplicate": "Ti sei già candidato per questo team.", "ratelimit": "Stai inviando troppo in fretta. Attendi un momento e riprova.", "error": "Qualcosa è andato storto. Riprova." } }, "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}", "contests": { "id": { "page": { "Backtocontests": "← Back to contests", "Description": "Description", "Prize": "Prize", "Period": "Period", "Created": "Created", "Updated": "Updated", "Backtogiveaways": "← Back to giveaways", "Prize`": "Prize:", "Radio": "Radio", "Amount": "Amount (", "Youllreceive": "You'll receive", "credits": "credits.", "PAYPAL_CLIENT_ID": "PAYPAL_CLIENT_ID", "PAYPAL_SECRET": "PAYPAL_SECRET", "PAYPAL_API": "PAYPAL_API", "RecoveryCodes": "Recovery Codes", "StoretheseonetimeusecodesinasafeplaceEachcanbeusedonceifyouloseaccesstoyourauthenticatorapp": "Store these one-time use codes in a safe place. Each can be used once if you lose access to your authenticator app.", "APP_KEY": "APP_KEY", "SessionManagement": "Session Management", "Viewactivesessionsandsignouteverywhere": "View active sessions and sign out everywhere", "Backtothehotel": "← Back to the hotel", "Ownedby": "Owned by", "Thisroomhasnodescription": "This room has no description.", "Enterthehoteltovisit": "Enter the hotel to visit", "NobadgeshavebeenpublishedyetCheckbacksoon": "No badges have been published yet. Check back soon!" } } } }, "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!", "success": { "posted": "Saluto pubblicato." }, "errors": { "invalid": "Scrivi un messaggio prima di inviare.", "moderated": "Quel saluto è stato bloccato dalla moderazione.", "ratelimit": "Stai inviando troppo in fretta. Attendi un momento e riprova.", "error": "Qualcosa è andato storto. Riprova." } }, "events": { "title": "Eventi", "subtitle": "Eventi dell'hotel in arrivo e recenti a cui puoi partecipare", "empty": "Ancora nessun evento.", "back": "← Eventi", "when": "Quando", "status": "Stato", "statusPublished": "Aperto", "statusCompleted": "Completato", "registrations": "Iscrizioni", "registered": "{count} iscritti", "spots": "{count} / {max} posti", "registerTitle": "Iscriviti", "registerSubtitle": "Prenota il tuo posto per questo evento", "register": "Iscriviti all'evento", "registering": "Iscrizione in corso…", "registerSuccess": "Sei iscritto!", "registerError": "Impossibile iscriversi a questo evento.", "loginToRegister": "Accedi per iscriverti a questo evento.", "alreadyRegistered": "Sei già iscritto.", "eventEnded": "Questo evento è terminato.", "eventFull": "Questo evento è al completo.", "cannotRegister": "Le iscrizioni non sono disponibili.", "prizesTitle": "Premi", "winnersTitle": "Vincitori", "unknownUser": "Utente #{id}", "filterStatus": "Stato", "allEvents": "Tutti gli eventi", "statusOngoing": "In corso", "statusUpcoming": "In programma", "weekStarting": "Settimana dal (UTC)", "myRegistrations": "Le mie iscrizioni", "apply": "Applica", "reset": "Reimposta", "timeZoneHint": "Gli orari sono nel tuo fuso locale. Il filtro di sette giorni usa date UTC.", "loginForRegistrations": "Accedi per vedere le tue iscrizioni.", "loadError": "Non è stato possibile caricare gli eventi. Riprova.", "youRegistered": "Sei iscritto", "pagination": "Pagine eventi", "previous": "Precedente", "next": "Successiva", "pageSummary": "Pagina {page} di {pages} · {total} eventi", "weeklyView": "Vista settimanale", "previousWeek": "Settimana precedente", "nextWeek": "Settimana successiva" }, "polls": { "title": "Sondaggi", "subtitle": "Condividi la tua opinione nei sondaggi della community", "empty": "Ancora nessun sondaggio.", "back": "← Sondaggi", "statusActive": "Aperto", "statusClosed": "Chiuso", "questionsCount": "{count} domande", "ends": "Termina {date}", "voteTitle": "Esprimi il voto", "voteSubtitle": "Rispondi a ogni domanda qui sotto", "submitVote": "Invia voto", "voting": "Invio in corso…", "voteSuccess": "Grazie per aver votato!", "voteError": "Impossibile inviare il voto.", "loginToVote": "Accedi per votare in questo sondaggio.", "alreadyVoted": "Hai già votato.", "pollClosed": "Questo sondaggio è chiuso.", "cannotVote": "Il voto non è disponibile.", "textPlaceholder": "La tua risposta…", "resultsTitle": "Risultati", "voteCount": "{count} ({pct}%)", "totalVotes": "{count} voti totali", "textResponses": "{count} risposte libere" }, "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", "success": { "submitted": "Candidatura inviata — ti ricontatteremo presto." }, "errors": { "invalid": "Compila tutti i campi obbligatori.", "ratelimit": "Stai inviando troppo in fretta. Attendi un momento e riprova.", "error": "Qualcosa è andato storto. Riprova." } }, "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" }, "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", "rateLimit": "Troppi tentativi. Attendi prima di riprovare." }, "title": "Account collegati", "subtitle": "Collega un account sociale per accedere con un clic", "connected": "Collegato", "unavailable": "Non disponibile", "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", "noAccount": "Non hai un account?", "createOne": "Creane uno", "forgotPassword": "Password dimenticata?", "errorInvalidCredentials": "Nome utente o password non validi", "errorInvalid2fa": "Codice 2FA non valido", "errorUnverified": "Verifica il tuo indirizzo email prima di accedere.", "errorCaptcha": "Verifica captcha non riuscita. Riprova.", "welcomeBack": "Bentornato", "welcomeBackSub": "Accedi per continuare su {hotelName}", "whoIsOnline": "Chi è online", "newestCitizens": "Cittadini più recenti", "usersOnline": "{count} online", "username": "Nome utente", "password": "Password", "showPassword": "Mostra", "hidePassword": "Nascondi" }, "register": { "title": "Crea un account", "subtitle": "Entra nell'hotel — bastano pochi istanti.", "username": "Nome utente", "email": "Email", "password": "Password", "confirmPassword": "Ripeti la password", "usernamePlaceholder": "Nome utente", "emailPlaceholder": "Email", "passwordPlaceholder": "Password (min 12 caratteri)", "confirmPasswordPlaceholder": "Ripeti la password", "selectOutfit": "Scegli il tuo outfit", "termsAccept": "Ho 18+ anni e accetto i termini e regole di {hotel}.", "createAccount": "Crea account", "creatingAccount": "Creazione account...", "redirecting": "Reindirizzamento al tuo account...", "alreadyHaveAccount": "Hai già un account? Accedi!", "register": "Registrati", "termsError": "Devi accettare i termini e regole per registrarti.", "usernameError": "Il nome utente è obbligatorio.", "emailError": "Email valida obbligatoria.", "passwordError": "La password deve contenere almeno 12 caratteri", "confirmPasswordError": "Le password non coincidono.", "termsRequired": "Devi accettare i termini e le regole.", "usernameRequired": "Il nome utente è obbligatorio.", "emailRequired": "Email è obbligatoria.", "passwordRequired": "La password è obbligatoria.", "passwordsDontMatch": "Le password non coincidono.", "alreadyHaveAccountPre": "Hai già un account?", "alreadyHaveAccountLink": "Accedi", "whoIsOnline": "Chi è online", "newestCitizens": "Cittadini più recenti", "usersOnline": "{count} online", "accepted": "Accettato e d'accordo", "showPassword": "Mostra", "hidePassword": "Nascondi", "accountDetails": "Dati account", "credentials": "Credenziali e sicurezza", "ageVerified": "Ho 18+ e accetto il requisito di età.", "invitedBy": "Invitato da {username}", "strengthWeak": "Debole", "strengthFair": "Discreta", "strengthGood": "Buona", "strengthStrong": "Forte", "passwordMinLength": "La password deve contenere almeno 12 caratteri", "passwordUpper": "La password deve contenere almeno una lettera maiuscola", "passwordLower": "La password deve contenere almeno una lettera minuscola", "passwordDigit": "La password deve contenere almeno una cifra", "passwordSpecial": "La password deve contenere almeno un carattere speciale", "passwordMaxLength": "La password è troppo lunga", "usernameMinLength": "Il nome utente deve contenere almeno 3 caratteri", "usernameMaxLength": "Il nome utente può contenere al massimo 25 caratteri", "usernamePattern": "Il nome utente può contenere solo lettere, numeri, underscore e trattino", "usernameReserved": "Questo nome utente è riservato", "emailValid": "Inserisci un indirizzo email valido", "emailDisposable": "I domini email temporanei non sono consentiti", "passwordsMatch": "Le password non coincidono.", "captchaFailed": "Verifica captcha non riuscita. Riprova.", "usernameTaken": "Questo nome utente è già in uso", "rateLimited": "Troppi tentativi di registrazione. Attendi qualche minuto e riprova.", "vpnBlocked": "Le registrazioni tramite connessioni VPN/proxy non sono consentite.", "maxAccountsPerIp": "Hai raggiunto il numero massimo di account per la tua connessione.", "unavailable": "La registrazione è temporaneamente non disponibile.", "createFailed": "Impossibile creare l'account. Riprova o contatta lo staff.", "invalidInput": "Controlla i campi evidenziati e riprova." }, "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", "errorCaptcha": "Verifica captcha non riuscita. Riprova." }, "reset": { "title": "Imposta una nuova password", "subtitle": "Scegli una password robusta che non usi altrove.", "passwordPlaceholder": "Nuova password (min 12 caratteri)", "resetPassword": "Reimposta password", "backToLogin": "Torna all'accesso", "passwordMinLength": "La password deve contenere almeno 12 caratteri", "tooManyAttempts": "Troppi tentativi — riprova più tardi" }, "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." }, "admin": { "nav": { "overview": "Panoramica", "dashboard": "Dashboard", "content": "Contenuti", "articles": "Articoli", "tags": "Tag", "navigator": "Navigazione", "helpCenter": "Centro assistenza", "advertisements": "Pubblicità", "writeableBoxes": "Box modificabili", "photos": "Foto", "tickets": "Ticket", "helpTickets": "Ticket centro assistenza", "events": "Eventi", "polls": "Sondaggi", "banners": "Banner", "prefixes": "Prefissi", "usersAndAccess": "Utenti e accesso", "users": "Utenti", "bans": "Ban", "ipManagement": "Gestione IP", "vpn": "VPN", "applications": "Candidature", "teams": "Team", "permissions": "Permessi", "onlineUsers": "Utenti online", "moderation": "Moderazione", "economy": "Economia", "catalog": "Catalogo", "shop": "Negozio", "marketplace": "Mercatino", "transactions": "Transazioni", "vouchers": "Buoni", "subscriptions": "Abbonamenti", "referrals": "Referral", "dailyRewards": "Ricompense giornaliere", "rareValues": "Valori rari", "badges": "Distintivi", "achievements": "Trofei", "calendar": "Calendario", "radio": "Radio", "radioHistory": "Cronologia radio", "radioBanners": "Banner", "radioEmbed": "Incorpora", "radioApiKeys": "Chiavi API", "radioModeration": "Moderazione", "radioSettings": "Impostazioni", "radioMonitoring": "Monitoraggio", "radioPoints": "Punti", "radioRanks": "Gradi", "radioAutodj": "Auto DJ", "system": "Sistema", "commandocentrum": "Centro comandi", "emulator": "Emulatore", "alerts": "Avvisi", "logs": "Registri", "auditLog": "Log di audit", "analytics": "Analitiche", "devops": "DevOps", "wordFilter": "Filtro parole", "maintenance": "Manutenzione", "housekeeping": "Archivio permessi", "rooms": "Stanze", "emailTemplates": "Template email", "theme": "Tema", "media": "Media", "favicon": "Favicon", "sounds": "Suoni", "translations": "Traduzioni", "import": "Importa", "settings": "Impostazioni", "adminMenu": "Menu admin", "backToSite": "Torna al sito", "expandAll": "Apri tutte", "collapseAll": "Chiudi tutte", "searchMenu": "Cerca nel menu…", "clearMenuSearch": "Cancella ricerca menu", "noMenuResults": "Nessuna pagina trovata.", "hotelManagementPanel": "Pannello di gestione hotel", "rankLabel": "Grado {rank}", "hubNewsMedia": "Notizie e media", "hubSiteContent": "Contenuti sito", "hubEngagement": "Community", "hubUsers": "Utenti", "hubAccess": "Accesso e sicurezza", "hubCatalog": "Catalogo e rari", "hubShop": "Negozio e pagamenti", "hubTools": "Strumenti", "hubObservability": "Monitoraggio e diagnostica", "community": "Community", "monitoring": "Monitoraggio", "staffAccess": "Gradi e permessi", "multiAccounts": "Multi-account", "chatLog": "Log chat", "commandLog": "Log comandi", "tradeLog": "Log trade", "tools": "Strumenti", "guilds": "Gruppi", "itemsBase": "Definizioni furni", "studio": "Studio", "peopleSupport": "Utenti e assistenza", "catalogFurniture": "Catalogo e furni", "communityContent": "Community e contenuti", "staffPermissions": "Staff e accessi", "cmsErrors": "Errori CMS", "themeBuilder": "Editor del tema", "catalogMaintenance": "Manutenzione catalogo", "openSidebar": "Apri menu", "closeSidebar": "Chiudi menu", "search": { "placeholder": "Cerca…", "noResults": "Nessun risultato trovato", "users": "Utenti", "articles": "Articoli", "rooms": "Stanze", "guilds": "Gruppi", "shop": "Negozio", "hint": "Inizia a scrivere per cercare tra utenti, articoli, stanze, gruppi e articoli del negozio" }, "operationsCenter": "Centro operazioni" }, "dashboard": { "title": "Dashboard", "subtitle": "Panoramica hotel e stato in tempo reale", "playersOnline": "Giocatori online", "articles": "Articoli", "activeBans": "Ban attivi", "database": "Database", "databaseConnected": "Connesso", "databaseDown": "Giù", "usersByRank": "Utenti per grado", "noAccountsToBreakDown": "Ancora nessun account da analizzare", "rankLabel": "Grado {rank}", "rankWithCount": "Grado {rank}: {count} account", "recentStaffActivity": "Attività recente dello staff", "viewAll": "Vedi tutto", "noStaffActivityLogged": "Nessuna attività dello staff ancora registrata", "totalAccounts": "{count} account totali" }, "articles": { "title": "Articoli", "subtitle": "Articoli delle news — 50 più recenti", "newArticle": "+ Nuovo articolo", "edit": "Modifica", "delete": "Elimina", "noArticles": "Ancora nessun articolo", "confirmDelete": "Sei sicuro di voler eliminare \"{title}\"?", "colTitle": "Titolo", "colSlug": "Slug", "colAuthor": "Autore", "colCreated": "Creato", "colActions": "Azioni", "form": { "title": "Titolo", "titlePlaceholder": "Titolo dell'articolo", "slug": "Slug", "slugPlaceholder": "slug-url-articolo", "category": "Categoria", "categoryPlaceholder": "Seleziona una categoria", "body": "Corpo", "bodyPlaceholder": "Scrivi il contenuto dell'articolo…", "image": "Immagine", "imagePlaceholder": "https://example.com/immagine.png", "thumbnail": "Miniatura", "thumbnailPlaceholder": "https://example.com/miniatura.png", "published": "Pubblicato", "featured": "In evidenza", "save": "Salva articolo", "saving": "Salvataggio…", "deleteArticle": "Elimina articolo", "deleteConfirm": "Questa azione è irreversibile. L'articolo verrà rimosso permanentemente.", "cancel": "Annulla", "status": "Stato", "statusDraft": "Bozza", "statusScheduled": "Programmato", "statusPublished": "Pubblicato", "publishAt": "Data di pubblicazione", "publishedAt": "Pubblicato il", "titleRequired": "Inserisci un titolo.", "titleTooLong": "Il titolo può contenere al massimo 255 caratteri.", "summaryTooLong": "Il sommario può contenere al massimo 255 caratteri.", "imageTooLong": "L’URL dell’immagine può contenere al massimo 255 caratteri.", "invalidStatus": "Seleziona uno stato di pubblicazione valido.", "publishDateRequired": "Scegli una data di pubblicazione valida.", "saveFailedReference": "Impossibile salvare la news. Il contenuto è conservato. Riferimento errore: {reference}", "articleNotFound": "News non trovata.", "summary": "Sommario", "imageNotFound": "Immagine non trovata. Inserisci un URL valido o sfoglia i media.", "imagePreview": "Anteprima immagine della news", "previewTitle": "Anteprima news", "previewDescription": "Anteprima del contenuto. La pagina pubblicata usa il tema del sito.", "previewFrame": "Anteprima contenuto della news", "autosaveLoading": "Caricamento delle bozze salvate…", "autosaveReady": "Salvataggio automatico della bozza privata attivo.", "autosaveSaving": "Salvataggio della bozza privata…", "autosaveSaved": "Bozza privata salvata. Per applicare le modifiche alla pubblicazione premi Salva.", "autosaveFailed": "Recupero della bozza non disponibile. Mantieni aperta la pagina e usa Salva; ricarica per riprovare il recupero.", "autosaveConflict": "Un’altra scheda ha modificato questa bozza. Salvataggio automatico sospeso: ricarica per esaminare la versione più recente.", "recoveryFound": "È disponibile una bozza privata non completata. Recuperala o eliminala per attivare il salvataggio automatico.", "recoverDraft": "Recupera bozza", "discardDraft": "Elimina bozza salvata", "confirmRecovery": "Sostituire il contenuto nell’editor con la bozza recuperata? Le modifiche non saranno pubblicate finché non salvi.", "confirmDiscardDraft": "Eliminare definitivamente la bozza di recupero salvata? Il contenuto corrente dell’editor resterà disponibile.", "revisionHistory": "Versioni salvate precedenti (ultime 20)", "restoreRevision": "Ripristina nell’editor", "confirmRevision": "Sostituire il contenuto corrente con questa versione precedente come bozza? Controllala e scegli lo stato di pubblicazione prima di salvare.", "editConflict": "Questo articolo è stato modificato dopo la tua apertura. Le tue modifiche non sono state applicate. Copia il lavoro, ricarica l’articolo e integra le modifiche prima di salvare di nuovo.", "retryRecovery": "Ricarica il recupero senza modificare il modulo", "imageInvalid": "Usa un percorso locale o un URL immagine HTTP/HTTPS senza credenziali.", "linksInvalid": "Controlla i link del contenuto: sono ammessi link locali, HTTP/HTTPS ed email." }, "articlesShown": "Articoli mostrati", "latest": "Ultimo articolo", "mostRecentPost": "Pubblicazione più recente", "recentArticles": "Articoli recenti", "listActionError": "Non è stato possibile completare l’operazione sulla news.", "listStatus": "Stato di pubblicazione", "listStatus_all": "Tutte le news", "listStatus_draft": "Bozza", "listStatus_published": "Pubblicata", "listStatus_scheduled": "Programmata", "listSearch": "Cerca nel titolo o nel sommario", "listApply": "Applica", "listLoading": "Caricamento…", "listReset": "Reimposta filtri", "listUnavailable": "Le news non sono al momento disponibili. Riprova.", "listRetry": "Riprova", "listTotal": "{count, plural, one {# news trovata} other {# news trovate}}", "listNoMatches": "Nessuna news corrisponde ai filtri. Modifica la ricerca o reimposta i filtri.", "listPagination": "Pagine delle news", "listPrevious": "Precedente", "listNext": "Successiva", "listPage": "Pagina {page} di {total}" }, "events": { "newEvent": "+ Nuovo evento", "createTitle": "Crea evento", "createSubtitle": "Programma un nuovo evento dell'hotel", "searchPlaceholder": "Cerca eventi…", "colId": "ID", "colTitle": "Titolo", "colType": "Tipo", "colStarts": "Inizio", "colStatus": "Stato", "colActions": "Azioni", "statusPublished": "Pubblicato", "statusDraft": "Bozza", "statusCancelled": "Annullato", "statusCompleted": "Completato", "statRegistrations": "Iscrizioni", "statPrizes": "Premi", "statWinners": "Vincitori", "statTime": "Orario", "maxPlayers": "Max: {count}", "timeUpcoming": "In arrivo", "timePast": "Passato", "endsAt": "Fine: {date}", "userFallback": "Utente #{id}", "registrationsTitle": "Iscrizioni ({count})", "noRegistrations": "Nessuna iscrizione ancora.", "noPrizes": "Nessun premio configurato.", "noWinners": "Nessun vincitore ancora.", "addPrize": "Aggiungi premio", "addWinner": "Aggiungi vincitore", "formEditTitle": "Modifica evento", "formDetailsTitle": "Dettagli evento", "formTitle": "Titolo", "formEventType": "Tipo evento", "formSelectType": "Seleziona tipo", "formDescription": "Descrizione", "formStartsAt": "Inizio", "formEndsAt": "Fine", "formSelectStart": "Seleziona data di inizio", "formSelectEnd": "Seleziona data di fine", "formMaxPlayers": "Max giocatori", "formUnlimited": "Illimitato", "formRoomId": "ID stanza", "formOptional": "Opzionale", "formImageUrl": "URL immagine", "formSaving": "Salvataggio…", "formUpdate": "Aggiorna evento", "formCreate": "Crea evento", "toastUpdated": "Evento aggiornato!", "toastCreated": "Evento creato!" }, "polls": { "newPoll": "+ Nuovo sondaggio", "createTitle": "Crea sondaggio", "createSubtitle": "Crea un nuovo sondaggio o survey della community", "searchPlaceholder": "Cerca sondaggi…", "colId": "ID", "colTitle": "Titolo", "colStatus": "Stato", "colType": "Tipo", "colCreated": "Creato", "colActions": "Azioni", "statusActive": "Attivo", "statusDraft": "Bozza", "statusClosed": "Chiuso", "typeMultiple": "Scelta multipla", "typeSingle": "Scelta singola", "statVoters": "Votanti totali", "statQuestions": "Domande", "statVotes": "Voti totali", "questionsTitle": "Domande ({count})", "addQuestion": "Aggiungi domanda", "noQuestions": "Nessuna domanda ancora. Aggiungi la prima sopra.", "resultsTitle": "Risultati", "formEditTitle": "Modifica sondaggio", "formDetailsTitle": "Dettagli sondaggio", "formTitle": "Titolo", "formDescription": "Descrizione", "formStartsAt": "Inizio", "formEndsAt": "Fine", "formSelectStart": "Seleziona data di inizio", "formSelectEnd": "Seleziona data di fine", "formShowResults": "Mostra risultati ai votanti", "formAllowMultiple": "Consenti risposte multiple", "formSaving": "Salvataggio…", "formUpdate": "Aggiorna sondaggio", "formCreate": "Crea sondaggio", "toastUpdated": "Sondaggio aggiornato!", "toastCreated": "Sondaggio creato!", "id": { "pollQuestions": { "Question": "Question", "Type": "Type", "SingleChoice": "Single Choice", "MultipleChoice": "Multiple Choice", "FreeText": "Free Text", "SortOrder": "Sort Order", "Optionsoneperline": "Options (one per line)", "Cancel": "Cancel", "votes": "votes (", "freetextresponses": "free-text responses", "totalvote": "total vote", "CtrlEntertosendYourreplywillbemarkedasstaff": "Ctrl+Enter to send. Your reply will be marked as staff.", "Ticketclosed": "Ticket closed", "Actions": "Actions", "Status": "Status", "Priority": "Priority", "Assignto": "Assign to", "Unassigned": "Unassigned", "Assigntome": "Assign to me", "Requester": "Requester", "Rank": "Rank", "Registered": "Registered", "Details": "Details", "Created": "Created", "Closed": "Closed", "Messages": "Messages", "NewTemplate": "New Template", "Title": "Title", "Category": "Category", "Content": "Content", "Notemplatesyet": "No templates yet." } } }, "multiAccounts": { "minAccounts": "Min. account per cluster", "resultLimit": "Limite risultati", "refresh": "Aggiorna", "noClusters": "Nessun cluster trovato con le soglie attuali." }, "devops": { "noEmulatorErrors": "Nessun errore emulator trovato", "noRecentErrors": "Nessun errore recente", "cmsErrors": "Centro errori CMS", "page": { "Database": "Database", "Latency": "Latency:", "Redis": "Redis", "Cacheratelimitssessions": "Cache / rate limits / sessions", "Emulator": "Emulator", "Version": "Version:", "OnlineUsers": "Online Users", "LiverosterinCommandoCentrum": "Live roster in CommandoCentrum", "Errors24h": "Errors (24h)", "Emulatorerrorstoday": "Emulator errors today", "RecentEmulatorErrors": "Recent Emulator Errors", "CMSerrorcenter": "CMS error center", "totalerrorsshowingpage": "total errors — showing page", "Previous": "Previous", "Page": "Page", "Next": "Next", "DevOps": "DevOps", "Server": "Server", "Browser": "Browser", "bashcmsinstall": "bash cms install", "bashcmsupdate": "bash cms update", "ExportCSV": "Export CSV", "ExportJSON": "Export JSON", "Advancedkeyvalue": "Advanced key / value", "Rawwebsite_settingsrowsPreferthegroupedformaboveforcommonkeys": "Raw website_settings rows. Prefer the grouped form above for common keys.", "Showkeysalreadyintheform": "Show keys already in the form", "Addoverwrite": "Add / overwrite", "Nomatchingsettings": "No matching settings", "Save": "Save", "Export": "Export", "keys": "keys", "readonly": "read-only", "commentspreserved": "comments preserved", "Thisfileisreadonly": "This file is read-only.", "CommentsarepreservedsavingonlypatcheschangedvaluelinesIfakeyusesanonstandardformatandcannotbepatchedinplacethefileisreserializedcommentslostandyouwillbewarned": "Comments are preserved: saving only patches changed value lines. If a key uses a non-standard format and cannot be patched in-place, the file is reserialized (comments lost) and you will be warned.", "Parseerror": "Parse error:", "Noentries": "No entries.", "Prev": "Prev" } }, "tags": { "title": "Tag", "subtitle": "Tag / categorie degli articoli", "addTag": "Aggiungi tag", "name": "Nome", "namePlaceholder": "Nome del tag", "backgroundColour": "Colore di sfondo", "createTag": "Crea tag", "editTag": "Modifica tag", "updateTag": "Aggiorna tag", "deleteTag": "Elimina tag", "confirmDelete": "Eliminare \"{name}\"?", "noTags": "Ancora nessun tag", "colId": "ID", "colTag": "Tag", "colColour": "Colore", "colUsedBy": "Usato da", "colCreated": "Creato", "colActions": "Azioni", "databaseError": "Impossibile caricare i tag. Riprova.", "totalTags": "Tag totali", "inUse": "In uso", "attachedToContent": "Associati a contenuti", "unused": "Non utilizzati", "allTags": "Tutti i tag" }, "navigation": { "title": "Navigatore", "flatCategories": "Categorie piatte", "publicRooms": "Stanze pubbliche", "addCategory": "Aggiungi categoria", "editCategory": "Modifica categoria", "deleteCategory": "Elimina categoria", "categoryName": "Nome categoria", "categoryNamePlaceholder": "es. Relax e Chat", "categoryOrder": "Ordine", "roomName": "Nome stanza", "roomNamePlaceholder": "es. Sala Benvenuto", "roomId": "ID stanza", "roomIdPlaceholder": "ID numerico della stanza", "save": "Salva", "cancel": "Annulla", "noCategories": "Ancora nessuna categoria", "noPublicRooms": "Ancora nessuna stanza pubblica", "colId": "ID", "colName": "Nome", "colOrder": "Ordine", "colRooms": "Stanze", "colActions": "Azioni", "publicFlatcats": "Categorie delle stanze pubbliche", "markedPublic": "Categorie contrassegnate come pubbliche", "visibleRooms": "Stanze visibili", "rows": "righe", "unnamed": "Stanza senza nome" }, "helpCenter": { "title": "Centro assistenza", "subtitle": "Gestione voci di supporto e FAQ", "entries": "Voci", "newEntry": "+ Nuova voce", "edit": "Modifica", "delete": "Elimina", "noEntries": "Ancora nessuna voce", "confirmDelete": "Eliminare \"{title}\"?", "colId": "ID", "colTitle": "Titolo", "colCategory": "Categoria", "colCreated": "Creato", "colActions": "Azioni", "form": { "title": "Titolo", "titlePlaceholder": "Titolo della voce", "category": "Categoria", "categoryPlaceholder": "Seleziona categoria", "body": "Corpo", "bodyPlaceholder": "Scrivi la risposta…", "save": "Salva voce", "saving": "Salvataggio…", "deleteEntry": "Elimina voce", "cancel": "Annulla" }, "withButton": "Con pulsante", "smallBoxes": "Riquadri piccoli" }, "ads": { "title": "Pubblicità", "subtitle": "Gestisci annunci dell'hotel e banner promozionali", "newAd": "+ Nuovo annuncio", "edit": "Modifica", "delete": "Elimina", "noAds": "Ancora nessun annuncio", "confirmDelete": "Eliminare questo annuncio?", "deleteSuccess": "Annuncio eliminato!", "deleteError": "Eliminazione annuncio non riuscita.", "adsCount": "Annunci totali", "latest": "Ultimo", "mostRecentAd": "Annuncio più recente", "allAds": "Tutti gli annunci", "colPreview": "Anteprima", "colId": "ID", "colName": "Nome", "colImage": "Immagine", "colUrl": "URL", "colViews": "Visualizzazioni", "colStatus": "Stato", "colCreated": "Creato", "colActions": "Azioni", "form": { "name": "Nome", "namePlaceholder": "Nome annuncio", "image": "URL immagine", "imagePlaceholder": "https://example.com/banner.png", "url": "URL di destinazione", "urlPlaceholder": "https://example.com", "enabled": "Attivo", "save": "Salva annuncio", "saving": "Salvataggio…", "deleteAd": "Elimina annuncio", "cancel": "Annulla" } }, "writeableBoxes": { "title": "Box modificabili", "subtitle": "Pannelli di contenuto mostrati nell'hotel e nel CMS", "newBox": "Nuovo box", "edit": "Modifica", "delete": "Elimina", "noBoxes": "Ancora nessun box modificabile", "confirmDelete": "Eliminare questo box?", "colId": "ID", "colName": "Nome", "colLocation": "Posizione", "colUpdated": "Aggiornato", "colActions": "Azioni", "form": { "name": "Nome", "namePlaceholder": "Nome del box", "location": "Posizione", "locationPlaceholder": "es. homepage, sidebar", "content": "Contenuto", "contentPlaceholder": "Scrivi il contenuto del box…", "enabled": "Attivo", "save": "Salva box", "saving": "Salvataggio…", "deleteBox": "Elimina box", "cancel": "Annulla", "iconEmoji": "Icona o emoji" }, "totalBoxes": "Riquadri totali", "active": "Attivo", "shownOnHomePage": "Mostrato nella pagina iniziale", "position": "Posizione", "boxes": "Riquadri di contenuto", "hidden": "Nascosto", "hide": "Nascondi", "activate": "Attiva" }, "photos": { "title": "Moderazione foto", "subtitle": "Foto recenti dalla fotocamera di gioco", "purgeHint": "L'eliminazione rimuove la riga DB e, se possibile, il file locale sotto /public. Gli URL CDN esterni non vengono purgati.", "delete": "Elimina", "approve": "Approva", "noPhotos": "Nessuna foto da moderare", "confirmDelete": "Eliminare questa foto permanentemente?", "colId": "ID", "colPreview": "Anteprima", "colUser": "Utente", "colRoom": "Stanza", "colTimestamp": "Data", "colActions": "Azioni", "photoAlt": "Foto utente #{id}", "byUser": "di {username}", "photosShown": "Shown", "rooms": "Rooms", "users": "Users", "distinctRooms": "Distinct rooms on this page", "distinctPhotographers": "Distinct photographers on this page", "total": "Total photos", "recentPhotos": "Recent photos", "pageOf": "Page {page} of {last} · {total} total" }, "users": { "title": "Utenti", "subtitle": "Sfoglia, cerca e gestisci account dell'hotel", "search": "Cerca", "searchPlaceholder": "Cerca per nome utente, email o ID…", "searchResults": "{count, plural, one {# risultato} other {# risultati}} per \"{query}\"", "noResults": "Nessun utente trovato", "colId": "ID", "colUsername": "Nome utente", "colEmail": "Email", "colRank": "Grado", "colOnline": "Online", "colRegistered": "Registrato", "colLastOnline": "Ultimo accesso", "colActions": "Azioni", "yes": "Sì", "no": "No", "edit": "Modifica", "setRank": "Imposta grado", "disconnect": "Disconnetti", "alert": "Avviso", "ban": "Banna", "detail": { "title": "Utente: {username}", "subtitle": "Dettagli account e gestione", "overview": "Panoramica", "actions": "Azioni", "username": "Nome utente", "email": "Email", "motto": "Motto", "rank": "Grado", "credits": "Crediti", "duckets": "Duckets", "diamonds": "Diamanti", "online": "Online", "registered": "Registrato", "lastOnline": "Ultimo accesso", "ipAddress": "Indirizzo IP", "machineId": "ID macchina", "sendAlert": "Invia avviso", "sendMessage": "Invia messaggio", "disconnectUser": "Disconnetti utente", "banUser": "Banna utente", "resetPassword": "Reimposta password", "deleteUser": "Elimina utente", "confirmDelete": "Sei sicuro di voler eliminare {username}? Questa azione è irreversibile.", "tabInfo": "Informazioni account", "tabBadges": "Distintivi ({count})", "tabRooms": "Stanze ({count})", "tabSanctions": "Sanzioni ({count})", "tabActivity": "Attività" }, "editForm": { "title": "Modifica utente: {username}", "subtitle": "Modifica dettagli account", "username": "Nome utente", "usernamePlaceholder": "Nome utente", "email": "Email", "emailPlaceholder": "utente@example.com", "motto": "Motto", "mottoPlaceholder": "Motto utente", "rank": "Grado", "credits": "Crediti", "duckets": "Duckets", "diamonds": "Diamanti", "save": "Salva modifiche", "saving": "Salvataggio…", "cancel": "Annulla" }, "presentation": { "users": "Utenti", "edit": "Modifica", "view": "Visualizza", "rank": "Grado {rank}", "online": "Online", "offline": "Offline", "banned": "Bannato", "credits": "crediti", "diamonds": "diamanti", "duckets": "duckets", "pixels": "pixel", "rooms": "Stanze", "messages": "Messaggi", "trades": "Scambi", "accountDetails": "Dettagli account", "registered": "Registrazione", "lastLogin": "Ultimo accesso", "ipRegister": "IP di registrazione", "ipCurrent": "IP attuale", "machineId": "ID dispositivo", "email": "Email", "gender": "Genere", "never": "Mai", "findIp": "Cerca utenti con questo IP", "enabled": "Attiva", "disabled": "Disattiva", "unavailable": "Non disponibile", "noBadges": "Nessun distintivo assegnato" }, "create": { "newUser": "Nuovo utente", "title": "Crea utente", "description": "Crea subito l’account con un avatar predefinito e 5.000 crediti, pixel, duckets e diamanti.", "username": "Nome utente", "email": "Email", "password": "Password", "rank": "Grado", "rankOption": "Grado {rank}", "motto": "Motto (facoltativo)", "usernamePlaceholder": "NuovoHabbo", "passwordPlaceholder": "Almeno 6 caratteri", "mottoPlaceholder": "Sono nuovo qui!", "generate": "Genera", "passwordGenerated": "Password generata nel campo password.", "required": "Nome utente, email e password sono obbligatori.", "invalidUsername": "Usa da 3 a 20 caratteri: lettere, numeri, _ o -.", "passwordLength": "La password deve contenere almeno 6 caratteri.", "created": "Utente {username} creato." }, "overview": { "title": "Riepilogo", "hint": "Fino a 5 record recenti per fonte. Sono mostrate solo le sezioni a cui hai accesso.", "restricted": "Non hai i permessi per visualizzare i dati operativi.", "sanctions": "Ban recenti", "mute": "Mute attivo", "tickets": "Ticket di assistenza", "help": "Richieste al centro assistenza", "reports": "Segnalazioni in gioco", "transactions": "Pagamenti", "purchases": "Acquisti dal catalogo", "activity": "Azioni dello staff registrate", "openModule": "Apri gestione", "purchaseHint": "Quantità e costi nelle valute registrate.", "purchaseDetail": "Quantità: {amount} · Crediti: {credits} · Punti: {points} (tipo {type})", "activityHint": "Voci del registro staff relative a questo account. Non è la cronologia completa delle attività del giocatore.", "muteUntil": "Mute fino al {date}", "error": "Impossibile caricare questa fonte. Ricarica la pagina per riprovare.", "empty": "Nessun record trovato.", "status": { "active": "Attivo", "expired": "Scaduto", "open": "Aperto", "closed": "Chiuso", "reported": "Utente segnalato", "reporter": "Segnalante" } }, "usersTable": { "Online": "Online", "Offline": "Offline", "Ban": "Ban", "users": "users", "Permanentbanleavedurationat1": "Permanent ban: leave duration at -1.", "Reason": "Reason", "Durationseconds1permanent": "Duration (seconds, -1 = permanent)", "Cancel": "Cancel", "Adjustcurrencyfor": "Adjust currency for", "Type": "Type", "Credits": "Credits", "PixelsDuckets": "Pixels (Duckets)", "PointsDiamonds": "Points (Diamonds)", "Amountpositivegivenegativetake": "Amount (positive = give, negative = take)", "Apply": "Apply", "Givebadgeto": "Give badge to", "Badgecode": "Badge code", "Give": "Give", "userstotal": "users total", "accountssharethisidentifier": "accounts share this identifier", "staff": "staff", "and": "… and", "more": "more", "EditProfile": "Edit Profile", "Bans": "Bans", "Badges": "Badges (", "Rooms": "Rooms (", "Activity": "Activity", "AccountInfo": "Account Info", "EditUser": "Edit User", "Username": "Username", "Email": "Email", "Rank": "Rank", "Motto": "Motto", "Pixels": "Pixels", "Diamonds": "Diamonds", "Duckets": "Duckets", "RecentMessages": "Recent Messages (", "Norecentmessages": "No recent messages.", "Room": "Room #", "RecentCommands": "Recent Commands (", "Norecentcommands": "No recent commands.", "Nobadges": "No badges", "Thisuserdoesntownanyrooms": "This user doesn't own any rooms.", "Sanctionstimeline": "Sanctions timeline", "Muteduntil": "Muted until", "NobansmutesCFHorstaffactionsrecordedforthisuser": "No bans, mutes, CFH, or staff actions recorded for this user." } }, "bans": { "title": "Ban", "subtitle": "Gestisci ban di account, IP e macchina", "newBan": "Nuovo ban", "edit": "Modifica", "delete": "Elimina", "noBans": "Ancora nessun ban", "confirmDelete": "Rimuovere questo ban?", "colId": "ID", "colValue": "Valore", "colType": "Tipo", "colReason": "Motivo", "colBannedBy": "Bannato da", "colExpires": "Scade", "colCreated": "Creato", "colActions": "Azioni", "form": { "value": "Valore", "valuePlaceholder": "Nome utente, IP o ID macchina", "type": "Tipo", "typeUser": "Utente", "typeIp": "IP", "typeMachine": "Macchina", "reason": "Motivo", "reasonPlaceholder": "Motivo del ban", "expiresAt": "Scade il", "permanent": "Permanente", "save": "Salva ban", "saving": "Salvataggio…", "cancel": "Annulla" }, "activeBans": "Ban attivi", "permanent": "Ban permanenti", "accountBans": "Ban degli account", "userIdPlaceholder": "ID utente", "typeAccount": "Account", "typeIp": "Indirizzo IP", "typeMachine": "Dispositivo", "typeSuper": "Account, IP e dispositivo", "hoursPlaceholder": "Durata in ore", "reasonPlaceholder": "Motivo del ban", "ban": "Banna utente", "colUserId": "ID utente", "lift": "Revoca ban" }, "ip": { "title": "Gestione IP", "subtitle": "Gestisci whitelist e blacklist IP", "whitelist": "Whitelist", "blacklist": "Blacklist", "addIp": "Aggiungi IP", "ipAddress": "Indirizzo IP", "ipAddressPlaceholder": "es. 127.0.0.1", "reason": "Motivo", "reasonPlaceholder": "Motivo dell'inserimento", "add": "Aggiungi", "remove": "Rimuovi", "confirmRemove": "Rimuovere questo IP dalla {list}?", "noWhitelistedIps": "Nessun IP in whitelist", "noBlacklistedIps": "Nessun IP in blacklist", "colIp": "IP", "colReason": "Motivo", "colAdded": "Aggiunto", "colActions": "Azioni", "whitelisted": "Indirizzi IP consentiti", "blacklisted": "Indirizzi IP bloccati", "asnPlaceholder": "ASN (facoltativo)", "colAsn": "ASN" }, "vpn": { "title": "Rilevamento VPN / Proxy", "subtitle": "Configura le impostazioni di rilevamento VPN e proxy", "enabled": "Attivo", "apiKey": "Chiave API", "apiKeyPlaceholder": "La tua chiave API per il rilevamento VPN", "apiKeyHint": "Lascia vuoto per disattivare", "blockOnDetect": "Blocca al rilevamento", "blockOnDetectHint": "Blocca automaticamente gli utenti rilevati dietro VPN o proxy", "save": "Salva impostazioni", "saving": "Salvataggio…", "settingsSaved": "Impostazioni VPN salvate con successo", "protection": "Protezione VPN", "on": "Attiva", "off": "Disattivata", "providerLabel": "Provider: {provider}", "notScreened": "Le connessioni non vengono controllate per l’uso di VPN.", "settings": "Impostazioni VPN", "provider": "Provider", "providerHint": "Scegli il servizio per controllare le connessioni in entrata.", "blockMessage": "Messaggio per le connessioni bloccate", "blockMessagePlaceholder": "Disattiva la VPN e riprova.", "blockMessageHint": "Mostrato quando una connessione viene bloccata dalla protezione VPN.", "rawIpTitle": "Elenchi degli indirizzi IP", "rawIpDescription": "Gestisci i singoli indirizzi in Gestione IP.", "openIpManagement": "Apri gestione IP" }, "tickets": { "title": "Supporto CMS", "subtitle": "Ticket interni CMS (assegnatario, priorita, workflow staff). Non sono i ticket del help center /help.", "noTickets": "Nessun ticket attivo", "searchPlaceholder": "Cerca oggetto, utente, categoria o ID…", "presetActive": "Attivi", "statusOpen": "Aperti", "statusInProgress": "In corso", "statusWaiting": "In attesa", "statusClosed": "Chiusi", "colTicket": "Ticket", "colStatus": "Stato", "colPriority": "Priorità", "colAssigned": "Assegnato", "colDate": "Data", "meta": "di {user} · {count} msg · {category}", "queueHint": "Questa coda e il supporto CMS. I ticket del help center pubblici stanno nella tab Help center.", "queueOtherCta": "Apri help center", "queueCounts": "Aperti qui: {here} · Help center: {other}", "awaitingStaff": "In attesa dello staff", "assignedMine": "Assegnati a me", "unassigned": "Non assegnati", "assignedAny": "Assegnati", "lastReplyAge": "Dall’ultima risposta", "ageMinutes": "{count} min fa", "ageHours": "{count} ore fa", "ageDays": "{count} giorni fa" }, "helpTickets": { "title": "Ticket help center", "subtitle": "Ticket aperti dai player su /help/tickets. Separati dal supporto CMS.", "noTickets": "Nessun ticket aperto nel centro assistenza", "searchPlaceholder": "Cerca titolo, utente o ID…", "presetOpen": "Aperti", "presetAll": "Tutti", "statusOpen": "Aperti", "statusClosed": "Chiusi", "colTicket": "Ticket", "colStatus": "Stato", "colUser": "Utente", "colCreated": "Creato", "colUpdated": "Aggiornato", "meta": "di {user} · {count} risposte", "backToList": "Torna all'elenco", "threadTitle": "Conversazione", "staffBadge": "Staff", "replyPlaceholder": "Rispondi come staff…", "replySubmit": "Invia risposta", "replyHint": "Ctrl+Invio per inviare.", "closeSubmit": "Chiudi ticket", "reopenSubmit": "Riapri ticket", "closedHint": "Questo ticket è chiuso.", "actionsTitle": "Azioni", "requesterTitle": "Richiedente", "detailsTitle": "Dettagli", "rankLabel": "Grado {rank}", "messageCountLabel": "Messaggi", "success": { "replied": "Risposta inviata.", "closed": "Ticket chiuso.", "reopened": "Ticket riaperto.", "banLifted": "Ban revocato e ticket chiuso." }, "queueHint": "Questa coda e il help center pubblico. I ticket del supporto CMS stanno nella tab Supporto CMS.", "queueOtherCta": "Apri supporto CMS", "queueCounts": "Aperti qui: {here} · Supporto CMS: {other}", "liftBanSubmit": "Revoca il ban del richiedente e chiudi", "requesterBanned": "Richiedente bannato" }, "cfh": { "title": "Call for Help", "subtitle": "Ticket CFH in-game", "noTickets": "Nessun ticket CFH", "searchPlaceholder": "Cerca problema, utente o ID…", "noDescription": "Nessuna descrizione", "roomMeta": "Stanza #{room} · {when}", "stateOpen": "Aperti", "statePicked": "Presi in carico", "stateClosed": "Chiusi", "colId": "ID", "colIssue": "Problema", "colSender": "Mittente", "colReported": "Segnalato", "colMod": "Mod", "colStatus": "Stato" }, "applications": { "title": "Candidature staff", "subtitle": "Candidature allo staff in sospeso e revisionate", "pending": "In sospeso", "approved": "Approvate", "rejected": "Respinte", "noApplications": "Ancora nessuna candidatura", "colId": "ID", "colApplicant": "Candidato", "colPosition": "Posizione", "colStatus": "Stato", "colSubmitted": "Inviata", "colActions": "Azioni", "review": "Revisiona", "approve": "Approva", "reject": "Respindi", "confirmApprove": "Approvare {username} per {position}?", "confirmReject": "Respindere la candidatura di {username} per {position}?", "detail": { "title": "Candidatura di {username}", "subtitle": "Per {position}", "about": "Informazioni sul candidato", "message": "Messaggio di candidatura", "status": "Stato", "submitted": "Inviata", "noMessage": "Nessun messaggio fornito" }, "applicationsTitle": "Candidature ({count})", "userNumber": "Utente #{id}", "rankLabel": "Grado {rank}" }, "teams": { "title": "Team", "subtitle": "Definisci nomi e descrizioni dei gradi dello staff", "addRank": "Aggiungi grado", "editRank": "Modifica grado", "deleteRank": "Elimina grado", "noTeams": "Ancora nessuna definizione di grado", "confirmDelete": "Eliminare la definizione del grado {id}?", "colId": "ID", "colRank": "Grado", "colName": "Nome", "colBadge": "Distintivo", "colColour": "Colore", "colActions": "Azioni", "form": { "rankId": "ID grado", "rankIdPlaceholder": "ID numerico del grado", "name": "Nome", "namePlaceholder": "es. Amministratore", "badge": "Codice distintivo", "badgePlaceholder": "es. ADM001", "colour": "Colore", "colourPlaceholder": "es. #ff0000", "save": "Salva definizione team", "saving": "Salvataggio…", "cancel": "Annulla" }, "teamRanks": "Gradi dello staff", "visible": "Visibili", "hidden": "Nascosti", "newTeamRank": "Nuovo grado dello staff", "rankName": "Nome del grado", "rankNamePlaceholder": "Ad esempio: Moderatore", "badgeCode": "Codice del distintivo", "badgeCodePlaceholder": "Ad esempio: ADM", "jobDescription": "Descrizione dell’incarico", "jobDescriptionPlaceholder": "Descrivi questo incarico dello staff", "staffColor": "Colore dello staff", "staffColorPlaceholder": "Ad esempio: #3366cc", "hiddenRank": "Nascondi dalla pagina staff", "createTeam": "Crea grado dello staff", "ranksTitle": "Gradi dello staff ({count})", "badge": "Distintivo", "color": "Colore", "visibility": "Visibilità", "delete": "Elimina" }, "permissions": { "title": "Permessi", "subtitle": "Questo e il controllo accessi live per pannelli admin e mod", "addPermission": "Aggiungi permesso", "editPermission": "Modifica permesso", "deletePermission": "Elimina permesso", "noPermissions": "Ancora nessun permesso configurato", "confirmDelete": "Eliminare questo permesso?", "colId": "ID", "colRank": "Grado", "colPermission": "Permesso", "colCreated": "Creato", "colActions": "Azioni", "form": { "rankId": "ID grado", "rankIdPlaceholder": "Grado minimo richiesto", "permission": "Chiave permesso", "permissionPlaceholder": "es. admin.articles.manage", "save": "Salva permesso", "saving": "Salvataggio…", "cancel": "Annulla" }, "id": { "rankEditClient": { "AllOn": "All On", "AllOff": "All Off", "Rank": "Rank #", "Level": "· Level", "users": "users", "General": "General", "Emulator": "Emulator (", "CMS": "CMS (", "Users": "Users (", "RankSettings": "Rank Settings", "RankName": "Rank Name", "Badge": "Badge", "Prefix": "Prefix", "PrefixColor": "Prefix Color", "HiddenRank": "Hidden Rank", "Hidefrompublic": "Hide from public", "LogCommands": "Log Commands", "Recordtoauditlog": "Record to audit log", "RoomEffectID": "Room Effect ID", "AutoCredits": "Auto Credits", "AutoPixels": "Auto Pixels", "AutoGOTW": "Auto GOTW", "AutoPoints": "Auto Points", "Save": "Save", "Userswiththisrank": "Users with this rank", "showing": "(showing", "Nouserswiththisrank": "No users with this rank.", "permissionsenabled": "permissions enabled", "EnableAll": "Enable All", "DisableAll": "Disable All", "Off": "Off", "Owner": "Owner", "SaveRank": "Save Rank", "CMSpermissionsareavailablefromrank4andabove": "CMS permissions are available from rank 4 and above.", "assigned": "assigned", "SelectAll": "Select All", "DeselectAll": "Deselect All", "Active": "Active", "Nopermissionsmatchyoursearch": "No permissions match your search.", "YouweresentherefromthepermissionarchiveEditrankaccessbelowthisisthelivecontrolpanel": "You were sent here from the permission archive. Edit rank access below — this is the live control panel.", "Liveaccesscontrol": "Live access control", "ChangesheredecidewhocanopenadminandmodpagesThepermissionarchiveisonlyforcompareexport": "Changes here decide who can open admin and mod pages. The permission archive is only for compare/export.", "ranks": "ranks ·", "userstotal": "users total", "Repairnavgrants": "Repair nav grants", "NewRank": "New Rank", "Level`": "Level", "Configure": "Configure", "CreateNewRank": "Create New Rank", "AddanewpermissionrankYoucanconfigureitspermissionsaftercreation": "Add a new permission rank. You can configure its permissions after creation.", "Higherlevelmorebasepermissionsintheemulator": "Higher level = more base permissions in the emulator", "Cancel": "Cancel", "DeleteRank": "Delete Rank #", "Thiswillpermanentlydelete": "This will permanently delete \"", "anditsCMSroleThiscannotbeundone": "\" and its CMS role. This cannot be undone.", "Permissionpageerror": "Permission page error", "TherankeditorcouldnotberenderedThetechnicaldetailbelowisvisibleonlyinsidethisprotectedadminroute": "The rank editor could not be rendered. The technical detail below is visible only inside this protected admin route.", "Reference": "Reference:", "Tryagain": "Try again", "rankSaved": "Rank updated", "failed": "Failed to save rank", "allOn": "Enabled all permissions", "allOff": "Disabled all permissions", "rankFallback": "Rank {id}", "rankMeta": "ID {id} • {count} users", "tabGeneral": "General", "tabEmulator": "Emulator", "tabCms": "CMS Permissions", "tabUsers": "Users", "rankSettings": "Rank Settings", "rankName": "Rank Name", "badge": "Badge Code", "prefix": "Prefix", "prefixColor": "Prefix Color", "hiddenRank": "Hidden Rank", "hideFromPublic": "Hide rank from staff page and team lists", "logCommands": "Log Commands", "recordToAuditLog": "Record command usage to audit logs", "roomEffectId": "Room Effect ID", "autoCredits": "Auto Credits / cycle", "autoPixels": "Auto Duckets / cycle", "autoGotw": "Auto GOTW / cycle", "autoPoints": "Auto Diamonds / cycle", "save": "Save Settings", "usersWithThisRank": "Users with this rank", "showingUsers": "Showing {count} users", "noUsersWithThisRank": "No users assigned to this rank.", "permissionsEnabled": "{active} / {total} permissions enabled", "enableAll": "Enable All", "disableAll": "Disable All", "off": "OFF", "on": "ON", "owner": "OWNER", "searchPermissionsPlaceholder": "Search permissions...", "commands": "Commands", "account": "Account", "other": "Other", "saveRank": "Save Rank" } } }, "catalog": { "title": "Catalogo", "subtitle": "Sfoglia e gestisci pagine e articoli del catalogo", "pages": "Pagine", "items": "Articoli", "addPage": "Aggiungi pagina", "editPage": "Modifica pagina", "deletePage": "Elimina pagina", "addItem": "Aggiungi articolo", "editItem": "Modifica articolo", "deleteItem": "Elimina articolo", "noPages": "Ancora nessuna pagina catalogo", "noItems": "Nessun articolo in questa pagina", "confirmDeletePage": "Eliminare la pagina catalogo \"{name}\"?", "confirmDeleteItem": "Eliminare questo articolo?", "colId": "ID", "colName": "Nome", "colIcon": "Icona", "colOrder": "Ordine", "colItems": "Articoli", "colEnabled": "Attivo", "colActions": "Azioni", "colItemId": "ID articolo", "colItemName": "Nome articolo", "colCostCredits": "Costo (crediti)", "colCostPoints": "Costo (punti)", "colLimited": "Limitato", "pageForm": { "name": "Nome", "namePlaceholder": "Nome pagina", "icon": "ID icona", "iconPlaceholder": "ID numerico icona", "order": "Ordine", "enabled": "Attivo", "parent": "Pagina padre", "parentNone": "Nessuna (radice)", "save": "Salva pagina", "saving": "Salvataggio…", "cancel": "Annulla" }, "itemForm": { "itemId": "ID articolo", "itemName": "Nome articolo", "costCredits": "Costo in crediti", "costDuckets": "Costo in duckets", "costDiamonds": "Costo in diamanti", "limitedStack": "Dimensione lotto limitato", "limitedSold": "Limitati venduti", "save": "Salva articolo", "saving": "Salvataggio…", "cancel": "Annulla" }, "workspace": { "diagnostics": "Diagnostica", "editor": "Editor", "normal": "Catalogo", "tree": "Albero", "table": "Tabella", "manager": "Gestione catalogo", "backToCategories": "Torna alle categorie", "retryPage": "Riprova caricamento pagina", "retryItems": "Riprova caricamento offerte", "hotel": "Hotel", "sent": "Richiesta di aggiornamento inviata", "sendFailed": "Invio aggiornamento fallito", "unknown": "Stato non ancora disponibile", "disabled": "Non configurato", "exportFailed": "Esportazione fallita", "queued": "Esportazione in attesa", "exported": "Esportazione completata", "retryHotel": "Riprova aggiornamento hotel", "retryStatus": "Stato non disponibile — riprova", "saved": "Salvato", "globalSearch": "Cerca nel catalogo", "searchPlaceholder": "Categoria, offerta, classname o ID", "searchNoResults": "Nessun risultato", "searchFailed": "Ricerca non riuscita. Riprova.", "searching": "Ricerca in corso...", "category": "Categoria", "offer": "Offerta", "duplicate": { "title": "Duplica categoria", "description": "Copia questa categoria, tutte le sottocategorie e le relative offerte.", "name": "Nome della nuova categoria", "destination": "Categoria di destinazione", "disabled": "La radice copiata parte disabilitata e nascosta. Le sottocategorie mantengono le impostazioni; definizioni degli arredi e asset sono condivisi.", "counts": "{pages} categorie e {offers} offerte", "summary": "“{name}” sotto {destination}", "cancel": "Annulla", "working": "Operazione in corso…", "confirm": "Conferma duplicazione", "preview": "Anteprima copia", "saved": "Categoria e offerte duplicate", "savedPending": "Copia salvata; aggiornamento hotel in attesa", "failed": "Duplicazione non riuscita", "root": "Radice del catalogo", "search": "Cerca categorie…", "empty": "Nessuna categoria trovata", "suggested": "Suggerite", "all": "Tutte le categorie", "draftBlocked": "Salva o annulla le modifiche alla categoria prima di duplicarla." }, "unsaved": "Modifiche non salvate", "fullEditor": "Editor completo", "saveHint": "Le modifiche alla categoria non sono salvate. Usa Salva o Ctrl+S.", "access": { "enabled": "Categoria attiva", "enabledHint": "Rende questa categoria disponibile nel catalogo.", "visible": "Visibile nel menu", "visibleHint": "Mostra questa categoria nel menu del catalogo.", "club": "Solo utenti HC", "clubHint": "Limita l’accesso agli utenti con abbonamento HC.", "yes": "Sì", "no": "No" }, "preview": { "label": "Live catalog preview", "title": "Live preview", "on": "On", "off": "Off", "untitled": "Untitled page", "noItems": "No offers on this page yet", "items": "offer(s)", "disabledHint": "This page is disabled — players cannot see it.", "suggestedLayout": "Better layout suggested", "suggestedLayoutReason": "This page {reason}. Switch to “{layout}” to match players’ expectations.", "applyLayout": "Apply layout" }, "autoCategory": { "title": "Auto-Category", "itemsBadge": "{count} items", "fromFurni": "From furni", "emptyPage": "Empty page", "searchPlaceholder": "Search furni by name or classname…", "noResults": "No results", "added": "Added", "price": "Price", "free": "Free", "setPrice": "Set a price", "credits": "Credits", "points": "Points", "pointsType": "Type", "parent": "Parent", "root": "Catalog root", "caption": "Caption", "captionPlaceholder": "e.g. Chairs, Wallpapers…", "icon": "Icon", "pickIcon": "Pick icon", "layout": "Layout", "suggestedLayout": "Suggested: {layout}", "enabled": "Enabled", "visible": "Visible", "cancel": "Cancel", "create": "Create", "createWithItems": "Create ({count} items)" }, "organizeImports": { "title": "Organizza importazioni", "itemsBadge": "{count} articoli", "loading": "Caricamento mobili importati…", "empty": "Nessun mobile importato trovato. Importa prima i mobili.", "loadError": "Impossibile caricare le importazioni. Riprova.", "refresh": "Aggiorna", "desc": "I mobili importati vengono raggruppati in pagine suggerite. Controlla ogni gruppo e poi crea le pagine che approvi.", "selectAll": "Seleziona tutto", "deselectAll": "Deseleziona tutto", "mode": "Modalità", "modeCreate": "Crea nuove pagine", "modeMove": "Sposta in una pagina esistente", "destination": "Pagina di destinazione", "destinationChosen": "selezionata", "destinationSearchPlaceholder": "Cerca pagine per nome…", "noDestResults": "Nessuna pagina trovata", "destinationHint": "Tutti i gruppi approvati vengono spostati in questa pagina: non viene creata nessuna nuova pagina.", "chooseDestination": "Scegli prima una pagina di destinazione", "move": "{count, plural, one {Sposta 1 articolo} other {Sposta # articoli}}", "name": "Nome", "icon": "Icona", "layout": "Layout", "resetSuggestion": "Suggerito", "suggestedLayout": "Suggerito: {layout}", "movedLabel": "{count} spostati", "newLabel": "{count} nuovi", "isNew": "nuovo", "price": "Prezzo", "free": "Gratis", "setPrice": "Imposta un prezzo", "credits": "Crediti", "points": "Punti", "pointsType": "Tipo", "newPriceHint": "Si applica solo alle nuove offerte; le offerte spostate mantengono il prezzo attuale.", "parent": "Posiziona le pagine sotto", "root": "Radice del catalogo", "importedRoot": "Mobili importati", "cancel": "Annulla", "create": "{count, plural, one {Crea 1 pagina} other {Crea # pagine}}", "batchLayout": "Imposta layout per tutte", "batchPrefix": "Aggiungi prefisso a tutti i titoli", "applyBatch": "Applica a tutte", "searchGroups": "Filtra gruppi di import...", "visualPreview": "Anteprima", "resetAll": "Reimposta modifiche", "onlyUnplaced": "Mostra solo articoli non posizionati", "errorMaxItems": "Max 500 articoli per esecuzione. Riduci la selezione.", "errorMaxGroups": "Max {count} gruppi per esecuzione. Riduci la selezione.", "errorNoName": "Ogni pagina approvata deve avere un nome", "tipMove": "Suggerimento: scegli qui sotto una pagina di destinazione per spostare i mobili.", "tipCreate": "Suggerimento: scegli questa modalità per creare nuove pagine.", "limitHint": "Max 500 articoli e 50 gruppi per esecuzione.", "errorFailed": "Impossibile organizzare le importazioni", "successMove": "{moved} offerta{moved, plural, one {} other {e}} spostata{moved, plural, one {} other {e}} su \"{destination}\"{added, plural, =0 {} other {, {added} nuove}}", "successCreate": "Create {count, plural, one {1 pagina} other {# pagine}} con {moved} mobili spostati e {added} aggiunti", "batchLabel": "Lotto:", "layoutFallbackDefault3x3": "3x3", "itemsUnit": "articoli", "impPrefix": "Imp ", "isMoved": "spostato", "showAll": "Mostra tutto ({count})", "showLess": "Mostra meno", "moveItemTo": "Sposta in…", "batchMoveTo": "Sposta selezionati in…", "selectedCount": "{count} selezionati", "clearSelection": "Cancella selezione", "undo": "Annulla", "daysLabel": "Giorni", "daysValue": "{days} giorni", "dupeSummary": "Già nella pagina di destinazione: {count, plural, one {1 articolo} other {# articoli}}", "layoutPreview": "Anteprima layout", "emptyCategory": "Nessun articolo in questa categoria", "dupeOnDest": "Già presente nella pagina di destinazione", "dupeOnDestShort": "duplicato", "errorPartial": "{failed} di {total} esecuzioni non riuscite. Controlla e riprova.", "successCreateRuns": "Create {count, plural, one {1 pagina} other {# pagine}} in {runs, plural, one {1 esecuzione} other {# esecuzioni}} con {moved} mobili spostati e {added} aggiunti" } }, "bulk": { "previewCount": "Verranno modificate {count} offerte su {total}.", "success": "{count} offerte aggiornate.", "selectOffer": "Seleziona offerta {name} (#{id})", "pageEmpty": "Nessuna categoria trovata.", "clearSelection": "Svuota selezione", "disabledReason": "Salva o annulla le modifiche in sospeso e attendi la fine delle operazioni prima di modificare in blocco.", "operation": "Operazione", "loadingDestinations": "Caricamento categorie…", "cancel": "Annulla", "pagePlaceholder": "Seleziona la categoria di destinazione…", "noChanges": "I valori selezionati corrispondono già. Nessuna modifica da salvare.", "costPoints": "Prezzo in punti", "chooseFields": "Seleziona almeno un campo da modificare.", "pageAll": "Tutte le categorie", "offer": "Offerta", "costCredits": "Crediti", "invalidPrice": "Inserisci un numero valido. Le operazioni di impostazione e aggiunta richiedono numeri interi.", "modes": { "set": "Imposta valore", "add": "Aggiungi o sottrai", "percent": "Varia in percentuale" }, "fieldHint": "Verranno modificati solo i campi selezionati.", "currencies": { "0": "Duckets", "5": "Diamanti", "101": "Fiocchi di neve", "103": "Cuori", "104": "Stelle", "105": "Conchiglie" }, "currency": "Valuta dei punti", "button": "Modifica in blocco ({count})", "description": "{count} offerte selezionate. Controlla l'anteprima prima di salvare.", "confirm": "Conferma e salva {count} offerte", "beforeAfter": "Ogni cella mostra il valore attuale → il nuovo valore.", "requestFailed": "Richiesta non riuscita. Aggiorna l'anteprima prima di riprovare.", "priceHint": "Usa valori o percentuali negativi per ridurre i prezzi. Le percentuali vengono arrotondate all'intero più vicino; i prezzi finali non possono essere negativi.", "selectedCount": "{count} offerte selezionate tra le categorie", "value": "Valore", "unknownCurrency": "Tipo {type}", "becomes": "diventa", "title": "Modifica le offerte selezionate", "preview": "Anteprima modifiche", "retryDestinations": "Riprova a caricare le categorie", "chooseDestination": "Seleziona una categoria di destinazione.", "pageSuggested": "Suggerite", "previewTitle": "Controlla le modifiche in blocco", "visibilityHint": "La visibilità dipende dalla categoria. Le offerte spostate seguono la visibilità della categoria di destinazione.", "percentage": "Percentuale (%)", "destination": "Categoria di destinazione", "pageSearch": "Cerca categorie…", "back": "Rivedi le modifiche", "selectionLimit": "Seleziona al massimo 500 offerte per operazione.", "refreshing": "Aggiornamento delle offerte modificate…", "undo": "Annulla", "undoHint": "Puoi ripristinare le singole offerte anche dalla cronologia delle modifiche.", "undoSuccess": "Ripristinate {count} offerte." }, "discovery": { "searchPlaceholder": "Nome, classname, ID furni o #ID offerta…", "filterLabel": "Filtra offerte", "filters": { "all": "Tutte le offerte", "free": "Gratuite", "paid": "A pagamento", "bundles": "Pacchetti", "limited": "Edizioni limitate", "club_only_yes": "HC Only", "club_only_no": "Not HC Only", "have_offer_yes": "Has Offer", "have_offer_no": "No Offer" }, "shown": "({count} visibili)", "selected": "{count} selezionate", "reset": "Reimposta filtri", "results": "{count} offerte visibili su {total}.", "selectionHint": "Cambiare ricerca o filtro azzera la selezione.", "noResults": "Nessuna offerta corrisponde alla ricerca e al filtro attuali.", "selectVisible": "Seleziona tutte le offerte visibili", "clubOnlyFilterLabel": "HC Only Filter", "haveOfferFilterLabel": "Has Offer Filter" }, "packages": { "openPackages": "Pacchetti catalogo", "title": "Pacchetti catalogo", "description": "Prepara modifiche a categorie e prezzi in una bozza separata. Controlla il catalogo prima di pubblicare.", "createPackage": "Nuovo pacchetto", "createDraft": "Crea bozza", "draftCreated": "Bozza del pacchetto creata. Il catalogo live non è stato modificato.", "refresh": "Aggiorna elenco", "searchPackages": "Cerca pacchetti", "noPackages": "Nessun pacchetto corrisponde alla ricerca.", "choosePackage": "Apri un pacchetto o crea una bozza dalle categorie esistenti.", "name": "Nome pacchetto", "mode": "Modalità pubblicazione", "update": "Aggiorna categorie esistenti", "copy": "Crea copie", "updateHint": "La pubblicazione applica il pacchetto alle categorie e offerte esistenti.", "copyHint": "La pubblicazione crea nuove categorie e offerte sotto il genitore scelto. I riferimenti ai furni vengono mantenuti.", "sourceCategories": "Categorie di origine", "packageLimits": "Sono incluse le sottocategorie. Ogni pacchetto supporta fino a 200 categorie e 500 offerte.", "searchCategories": "Cerca categorie", "selectedCategories": "Selezionate: {count}", "targetParent": "Categoria genitore di destinazione", "rootCategory": "Radice del catalogo", "draft": "Bozza", "published": "Pubblicato", "editDraft": "Modifica bozza", "catalogPreview": "Anteprima catalogo", "showBaseline": "Mostra l’istantanea originale salvata", "changes": "Prima e dopo", "entry": "Voce", "field": "Campo", "before": "Prima", "after": "Dopo", "noChanges": "Nessun campo modificato rispetto all’istantanea originale.", "copyReview": "Alla pubblicazione sarà copiato l’intero pacchetto, anche senza campi modificati. La tabella elenca le modifiche all’istantanea originale.", "updateReview": "Queste modifiche della bozza aggiorneranno le voci esistenti dopo la pubblicazione.", "saveDraft": "Salva bozza", "saveHint": "Il salvataggio mantiene il pacchetto come bozza. Salva tutte le modifiche prima di richiedere la verifica di pubblicazione.", "draftSaved": "Bozza salvata. La pubblicazione è un passaggio separato.", "reviewPublication": "Verifica pubblicazione", "publicationImpact": "La pubblicazione interessa {pages} categorie e {offers} offerte.", "conflicts": "La pubblicazione è bloccata da conflitti. Risolvili prima di richiedere una nuova verifica.", "readyToPublish": "La versione salvata ha superato la verifica. La pubblicazione modifica il catalogo live.", "publish": "Pubblica pacchetto", "confirmPublish": "Pubblicare ora questo pacchetto verificato nel catalogo live?", "publishedSuccess": "Pacchetto pubblicato: {pages} categorie e {offers} offerte.", "staleReview": "Questo pacchetto è cambiato in un’altra sessione. Riaprilo per verificare l’ultima versione salvata.", "unsaved": "Modifiche non salvate", "discardChanges": "Scartare le modifiche non salvate al pacchetto e continuare?", "working": "Operazione in corso…", "requestFailed": "La richiesta non è riuscita. Riprova.", "invalidFields": "Controlla nomi obbligatori, layout e campi numerici interi prima di salvare.", "category": "Categoria", "caption": "Nome categoria", "iconImage": "ID icona categoria", "minRank": "Rango minimo", "orderNum": "Ordine di visualizzazione", "pageLayout": "Layout pagina", "enabled": "Abilitata", "visible": "Visibile", "clubOnly": "Solo membri Club", "vipOnly": "Solo membri VIP", "offers": "Offerte ({count})", "offer": "Offerta", "catalogName": "Nome offerta", "costCredits": "Crediti", "costPoints": "Punti", "pointsType": "ID valuta punti", "amount": "Quantità", "searchOffers": "Cerca offerte", "currentCategoryOffers": "Solo la categoria selezionata", "selectMatching": "Seleziona tutte le offerte filtrate ({count})", "clearSelection": "Svuota selezione", "selectedOffers": "Offerte selezionate: {count}", "select": "Seleziona", "selectOffer": "Seleziona offerta #{id}", "noOffers": "Nessuna offerta corrisponde ai filtri.", "bulkPrices": "Prezzi della bozza in blocco ({count} selezionate)", "bulkHint": "Controlla i prezzi selezionati, poi accettali nella bozza. Il catalogo live resta invariato fino alla pubblicazione.", "operation": "Operazione", "set": "Imposta valore", "add": "Aggiungi o sottrai", "percent": "Variazione percentuale", "value": "Valore", "reviewBulk": "Anteprima prezzi", "invalidBulk": "Scegli numeri validi e almeno un’offerta. I prezzi risultanti devono essere non negativi e nell’intervallo supportato.", "acceptBulk": "Accetta prezzi nella bozza", "previous": "Precedente", "next": "Successiva" }, "integrity": { "title": "Integrità del catalogo", "description": "Controlla riferimenti, percorsi delle categorie, identificativi e icone dei furni. Il controllo non modifica i record.", "catalog": "Catalogo", "normal": "Catalogo normale", "bc": "Builders Club", "refresh": "Ripeti controllo", "working": "Controllo in corso…", "failed": "Non è stato possibile completare l’operazione. Riprova.", "stalePreview": "Il catalogo è cambiato dopo l’anteprima. Genera una nuova anteprima prima di applicare le correzioni.", "applied": "{count} categorie ricollegate alla radice del catalogo.", "iconsUnavailable": "Impossibile leggere la cartella delle icone. La disponibilità delle icone non è stata verificata.", "healthy": "Nessun problema rilevato nei controlli completati.", "total": "Rilevati {count} problemi. Visualizzati {shown}.", "open": "Apri", "reference": "Riferimento: {value}", "repairHint": "Visualizza le categorie il cui genitore non esiste più. L’applicazione sposta solo queste categorie alla radice e conserva tutti i record. Cicli, furni mancanti, icone e conflitti di identificativi richiedono una verifica individuale.", "preview": "Anteprima correzioni sicure", "planned": "Verranno spostate {count} categorie:", "parentChange": "genitore #{from} → radice del catalogo", "apply": "Applica le correzioni mostrate", "legacyTitle": "Azioni di manutenzione avanzata", "legacyHint": "Questi strumenti di manutenzione esistenti possono riscrivere identificativi e unire o rimuovere record duplicati. Sono separati dal controllo di integrità non distruttivo e dalla correzione dei genitori mostrata in anteprima.", "issues": { "missing_furniture": "Offerta con furni mancanti", "invalid_item_ids": "Identificativi furni non validi", "missing_page": "Offerta con categoria mancante", "unreachable_page": "Categoria non raggiungibile", "category_cycle": "Percorso categoria con ciclo", "missing_icon": "Icona furni mancante", "invalid_offer_id": "Identificativo offerta non valido", "duplicate_offer_id": "Identificativo offerta ripetuto" } }, "catalogItemsTable": { "catalogItemsTable": { "Items": "Items (", "Table": "Table", "Preview": "Preview", "Move": "Move (", "Delete": "Delete (", "BulkPrice": "Bulk Price", "ResetOrder": "Reset Order", "SaveOrder": "Save Order", "Reset": "Reset", "SaveAll": "Save All (", "AddItem": "Add Item", "AddCatalogItem": "Add Catalog Item", "Youhaveunsavedchanges": "You have unsaved changes (", "Press": "). Press", "CtrlS": "Ctrl+S", "tosave": "to save.", "Noitemsinthispage": "No items in this page.", "AddFirstItem": "Add First Item", "Name": "Name", "ItemIDs": "Item IDs", "ItemName": "Item Name", "Price": "Price", "Amt": "Amt", "Status": "Status", "Actions": "Actions", "unnamed": "unnamed", "Free": "Free", "LTD": "LTD", "EditItem": "Edit Item #", "CatalogName": "Catalog Name", "CatalogSettings": "Catalog Settings", "FurnitureSettings": "Furniture Settings", "Credits": "Credits", "Points": "Points", "PointsType": "Points Type", "Amount": "Amount", "Order": "Order", "OfferID": "Offer ID", "LimitedSells": "Limited Sells", "LimitedStack": "Limited Stack", "HaveOffer": "Have Offer", "Yes": "Yes", "ClubOnly": "Club Only", "ExtraData": "Extra Data", "SongDisk": "Song Disk", "SelectasoundtracktoplaywhenthisitemisusedingameUploadedfrom": "Select a soundtrack to play when this item is used in-game. Uploaded from", "adminsounds": "/admin/sounds", "Identity": "Identity", "BaseID": "Base ID", "SpriteID": "Sprite ID", "Type": "Type", "sFloor": "s (Floor)", "iWall": "i (Wall)", "eEffect": "e (Effect)", "bBadge": "b (Badge)", "rRobot": "r (Robot)", "hHabboClub": "h (Habbo Club)", "pPet": "p (Pet)", "Dimensions": "Dimensions", "Width": "Width", "Length": "Length", "StackHeight": "Stack Height", "Interaction": "Interaction", "InteractionType": "Interaction Type", "InteractionModes": "Interaction Modes", "Permissions": "Permissions", "Extra": "Extra", "VendingIDs": "Vending IDs", "CustomParams": "Custom Params", "EffectIDMale": "Effect ID Male", "EffectIDFemale": "Effect ID Female", "ClothingOnWalk": "Clothing On Walk", "Save": "Save", "Cancel": "Cancel", "Move`": "Move", "itemstoanotherpage": "item(s) to another page", "TargetPage": "Target Page", "MoveItems": "Move Items", "MoveItemtoanotherpage": "Move Item to another page", "Suggestionsbasedonpreviousmovesforsimilaritems": "Suggestions based on previous moves for similar items.", "MoveItem": "Move Item", "BulkPriceUpdate": "Bulk Price Update", "Field": "Field", "Operation": "Operation", "Settovalue": "Set to value", "Addvalue": "Add value", "Changebypercentage": "Change by percentage", "Usenegativevaluestodecreaseeg20for20": "Use negative values to decrease (e.g. -20 for -20%)", "Usenegativevaluestosubtract": "Use negative values to subtract", "Apply": "Apply", "ItemIDssemicolonseparated": "Item IDs (semicolon-separated)", "itemsCount": "Items ({count})" } }, "catalogTranslateTab": { "TranslateItemNames": "Translate Item Names", "EditthepublicnameanddescriptionoffurnitureitemsSavingwillupdate": "Edit the public name and description of furniture items. Saving will update:", "items_basename": "items_base (name)", "catalogNameauto": "catalogName (auto)", "FurnitureDatajsonnamedesc": "FurnitureData.json (name + desc)", "itemsmissingfromFurnitureDatajsonwillbeautoinsertedonsave": "item(s) missing from FurnitureData.json — will be auto-inserted on save", "Suggest": "Suggest", "Reset": "Reset", "SaveAll": "Save All (", "All": "All (", "Missing": "Missing (", "Modified": "Modified (", "Noitemstotranslateinthispage": "No items to translate in this page.", "Noitemsmatchthecurrentfilter": "No items match the current filter.", "Type": "Type", "ItemName": "Item Name", "PublicName": "Public Name", "Description": "Description", "Status": "Status", "catalog": "catalog:", "Modified`": "Modified", "MissingfromFurnitureDatajson": "Missing from FurnitureData.json", "Willbeautoinsertedonsave": "Will be auto-inserted on save", "InFurnitureDatajson": "In FurnitureData.json", "Catalogmaintenance": "Catalog maintenance", "Forcethefurnituretablesto100consistencywithFurnitureDatajsonEveryactionrunsinsideadatabasetransactionandrollsbackonerror": "Force the furniture tables to 100% consistency with FurnitureData.json. Every action runs inside a database transaction and rolls back on error.", "Refresh": "Refresh", "Currenthealth": "Current health", "Fixsprite_id": "Fix sprite_id", "Fixcatalogoffer_id": "Fix catalog offer_id", "Removeduplicatesitemscatalog": "Remove duplicates (items + catalog)", "ReconcileFurnitureDataDB": "Reconcile FurnitureData ↔ DB", "Fixemulatorconstraints": "Fix emulator constraints", "Alignitems_baseIDstoFurnitureData": "Align items_base IDs to FurnitureData", "Moveseveryitems_baseidtotheFurnitureDataspriteidsourceoftruthRewritesallreferencingtablesPreviewfirst": "Moves every items_base.id to the FurnitureData sprite id (source of truth). Rewrites all referencing tables. Preview first.", "Previewchanges": "Preview changes", "PlannedIDmoves": "Planned ID moves:", "Newitemstoinsert": "New items to insert:", "Skippedidoccupied": "Skipped (id occupied):", "Applyalignment": "Apply alignment", "Fixeverything": "Fix everything", "RunsspritefixofferfixreconcilededupandIDalignmentinorderHeavyoperationmakeabackupfirst": "Runs sprite fix, offer fix, reconcile, dedup and ID alignment in order. Heavy operation — make a backup first.", "Alsomergeduplicatecatalogpagesdoublelinks": "Also merge duplicate catalog pages (double links)", "Fixeverythingnow": "Fix everything now", "BulkImport": "Bulk Import", "BulkImportItems": "Bulk Import Items", "Itemlist": "Item list", "Format": "Format:", "base_idcreditspointspoints_type": "base_id, credits, points, points_type", "Only": ". Only", "base_id": "base_id", "isrequiredotherfieldsdefaultto0Separatorscommaspaceorsemicolon": "is required; other fields default to 0. Separators: comma, space, or semicolon.", "valid": "valid", "invalid": "invalid", "Line": "Line", "BaseID": "Base ID", "Credits": "Credits", "Points": "Points", "Cancel": "Cancel", "Import": "Import", "item": "item" } }, "shop": { "title": "Negozio", "subtitle": "Gestisci pacchetti e ordini", "packages": "Pacchetti", "orders": "Ordini", "recentOrders": "Ordini recenti", "paidOrders": "Ordini pagati", "ordersHint": "Ultime transazioni PayPal (ultime 25)", "pageOf": "Pagina {page} di {lastPage}", "packagesTotal": "{count} pacchetti", "newPackage": "+ Nuovo pacchetto", "edit": "Modifica", "delete": "Elimina", "viewOrder": "Vedi", "noPackages": "Ancora nessun pacchetto nel negozio", "noOrders": "Ancora nessun ordine", "confirmDelete": "Eliminare questo pacchetto?", "colId": "ID", "colName": "Nome", "colPrice": "Prezzo", "colCredits": "Crediti", "colDuckets": "Duckets", "colDiamonds": "Diamanti", "colRank": "Grado", "colPosition": "Posizione", "colCurrency": "Valuta", "colType": "Tipo", "colSold": "Venduti", "colEnabled": "Attivo", "colActions": "Azioni", "colOrderId": "ID ordine", "colCustomer": "Cliente", "colPackage": "Pacchetto", "colTransaction": "Transazione", "colUser": "Utente", "colDescription": "Descrizione", "colAmount": "Importo", "colStatus": "Stato", "colDate": "Data", "statusPending": "In sospeso", "statusCompleted": "Completato", "statusRefunded": "Rimborsato", "form": { "name": "Nome", "namePlaceholder": "Nome pacchetto", "description": "Descrizione", "descriptionPlaceholder": "Descrizione pacchetto", "price": "Prezzo", "currency": "Valuta", "currencyPlaceholder": "EUR, USD, GBP…", "type": "Tipo", "typeCredits": "Crediti", "typeDuckets": "Duckets", "typeDiamonds": "Diamanti", "typeBadge": "Distintivo", "typeFurni": "Mobile", "typeRank": "Grado", "amount": "Importo", "badgeCode": "Codice distintivo", "badgeCodePlaceholder": "es. VIP001", "rankId": "ID grado", "furniItems": "Mobili", "enabled": "Attivo", "save": "Salva pacchetto", "saving": "Salvataggio…", "cancel": "Annulla", "infoPlaceholder": "Descrivi il contenuto del pacchetto", "iconPlaceholder": "URL dell’icona", "colorPlaceholder": "Ad esempio: #3366cc", "costsPlaceholder": "Prezzo", "creditsPlaceholder": "Numero di crediti", "ducketsPlaceholder": "Numero di duckets", "diamondsPlaceholder": "Numero di diamanti", "giveRankPlaceholder": "ID grado (0 per nessuno)", "badgesPlaceholder": "Codici dei distintivi separati da punto e virgola", "positionPlaceholder": "Ordine di visualizzazione", "create": "Crea pacchetto", "deletePackage": "Elimina pacchetto" }, "newPackageTitle": "Nuovo pacchetto del negozio", "backToShop": "Torna al negozio", "editPackageTitle": "Modifica pacchetto del negozio" }, "marketplace": { "title": "Marketplace", "subtitle": "Annunci marketplace hotel", "activeListings": "Annunci attivi", "soldListings": "Venduti", "filterActive": "Attivi", "filterSold": "Venduti", "empty": "Nessun annuncio marketplace da mostrare.", "loadError": "Impossibile caricare i dati marketplace (database non disponibile).", "cancel": "Annulla annuncio", "colId": "ID", "colItem": "Item ID", "colSeller": "Venditore", "colPrice": "Prezzo", "colListed": "Pubblicato", "colSold": "Venduto il", "colActions": "Azioni" }, "guilds": { "title": "Gruppi", "subtitle": "Gruppi hotel e membri", "totalGuilds": "Gruppi", "searchPlaceholder": "Cerca per nome, descrizione o ID…", "search": "Cerca", "empty": "Nessun gruppo trovato.", "loadError": "Impossibile caricare i gruppi (database non disponibile).", "colId": "ID", "colBadge": "Badge", "colName": "Nome", "colOwner": "Proprietario", "colMembers": "Membri", "colCreated": "Creato", "colThreads": "Thread forum", "colRoom": "Stanza", "colUser": "Utente", "colLevel": "Livello", "colJoined": "Iscritto", "members": "Membri", "noMembers": "Nessun membro.", "back": "Torna ai gruppi", "viewPublic": "Apri pagina pubblica", "disband": "Sciogli gruppo", "listHeading": "Guilds ({count})", "edit": "Modifica gruppo", "save": "Salva", "saving": "Salvataggio…", "updated": "Gruppo aggiornato", "updateError": "Impossibile aggiornare il gruppo", "formName": "Nome", "formDescription": "Descrizione", "formState": "Stato", "formForum": "Forum", "formReadForum": "Leggere il forum", "formPostMessages": "Pubblicare messaggi", "formPostThreads": "Creare discussioni", "formModForum": "Moderare il forum", "id": { "page": { "0Normal": "0 — Normal", "1Locked": "1 — Locked", "2Exclusive": "2 — Exclusive", "0Off": "0 — Off", "EVERYONE": "EVERYONE", "OWNER": "OWNER", "ADMIN": "ADMIN", "MEMBER": "MEMBER", "NONE": "NONE", "ADMINS": "ADMINS", "Position": "Position", "Type": "Type", "Badge": "Badge", "Credits": "Credits", "Pixels": "Pixels", "Points": "Points", "Item": "Item", "BadgeCode": "Badge Code", "Description": "Description", "Cancel": "Cancel", "Add": "Add", "credits": "credits", "pixels": "pixels", "points": "points", "NewType": "New Type", "Name": "Name", "Slug": "Slug", "Color": "Color", "Rankminimo0tutti": "Rank minimo (0 = tutti)", "0Tutti3Mod4Staff6Admin": "0=Tutti, 3=Mod+, 4=Staff+, 6=Admin+", "NoeventtypesyetCreateyourfirstoneabove": "No event types yet. Create your first one above.", "Rank": "Rank", "UserID": "User ID" } } }, "transactions": { "title": "Transazioni", "subtitle": "Registro pagamenti PayPal", "noTransactions": "Ancora nessuna transazione", "totalTransactions": "Transazioni totali", "pagePaid": "Pagate (questa pagina)", "pageFailed": "Fallite (questa pagina)", "searchPlaceholder": "Cerca per utente, ID transazione o pacchetto…", "presetPaid": "Pagate", "presetFailed": "Fallite", "colId": "ID", "colUser": "Utente", "colPayer": "Pagatore", "colAmount": "Importo", "colCurrency": "Valuta", "colPackage": "Pacchetto", "colStatus": "Stato", "colTransaction": "ID transazione", "colDate": "Data", "colActions": "Azioni", "statusCompleted": "Completato", "statusPending": "In sospeso", "statusFailed": "Fallito", "statusRefunded": "Rimborsato", "detail": { "title": "Transazione #{id}", "paypalId": "ID PayPal", "payerEmail": "Email pagatore", "grossAmount": "Importo lordo", "fee": "Commissione", "netAmount": "Importo netto" } }, "vouchers": { "title": "Buoni negozio", "subtitle": "Gestisci codici buono riscattabili", "vouchers": "Buoni", "active": "Attivi", "usedUp": "Esauriti", "expired": "Scaduti", "newVoucher": "+ Nuovo buono", "edit": "Modifica", "delete": "Elimina", "noVouchers": "Ancora nessun buono", "confirmDeleteTitle": "Elimina buono", "confirmDelete": "Eliminare il buono \"{code}\"?", "created": "Buono creato", "deleted": "Buono eliminato", "createError": "Impossibile creare il buono", "deleteError": "Impossibile eliminare il buono", "statusActive": "Attivo", "statusUsedUp": "Esaurito", "statusExpired": "Scaduto", "colId": "ID", "colCode": "Codice", "colValue": "Valore", "colAmount": "Importo", "colType": "Tipo", "colUses": "Usi / Max", "colStatus": "Stato", "colExpires": "Scade", "colCreated": "Creato", "colActions": "Azioni", "form": { "code": "Codice", "codePlaceholder": "es. ESTATE2025", "value": "Valore", "amount": "Crediti", "amountPlaceholder": "es. 100", "type": "Tipo", "typeCredits": "Crediti", "typeDuckets": "Duckets", "typeDiamonds": "Diamanti", "typeBadge": "Distintivo", "typeFurni": "Mobile", "typeRank": "Grado", "badgeCode": "Codice distintivo", "badgeCodePlaceholder": "es. VIP001", "rankId": "ID grado", "maxUses": "Usi massimi", "maxUsesPlaceholder": "0 = illimitato", "expiresAt": "Scade il", "enabled": "Attivo", "create": "Crea buono", "save": "Salva buono", "saving": "Salvataggio…", "cancel": "Annulla" }, "updated": "Voucher aggiornato", "updateError": "Impossibile aggiornare il voucher" }, "subscriptions": { "title": "Abbonamenti", "subtitle": "Abbonamenti ricorrenti attivi", "noSubscriptions": "Nessun abbonamento attivo", "cancel": "Annulla", "confirmCancel": "Annullare l'abbonamento di {username}?", "colId": "ID", "colUser": "Utente", "colPackage": "Pacchetto", "colAmount": "Importo", "colInterval": "Intervallo", "colStarted": "Iniziato", "colNextBilling": "Prossima fatturazione", "colStatus": "Stato", "colActions": "Azioni", "statusActive": "Attivo", "statusCancelled": "Annullato", "statusExpired": "Scaduto", "activeSubs": "Abbonamenti attivi", "types": "Tipi di abbonamento", "expiringSoon": "In scadenza", "activeSubscriptions": "Abbonamenti attivi", "colSubId": "ID abbonamento", "colUserId": "ID utente", "colType": "Tipo", "colExpires": "Scadenza" }, "rareValues": { "title": "Valori rari", "subtitle": "Gestisci categorie di valori rari e prezzi articoli", "categories": "Categorie", "items": "Articoli", "addCategory": "Aggiungi categoria", "editCategory": "Modifica categoria", "deleteCategory": "Elimina categoria", "noCategories": "Ancora nessuna categoria di valori rari", "confirmDeleteCategory": "Eliminare la categoria \"{name}\" e tutti i suoi articoli?", "colId": "ID", "colName": "Nome", "colItems": "Articoli", "colUpdated": "Aggiornato", "colActions": "Azioni", "colItemName": "Nome articolo", "colCredits": "Crediti", "colPoints": "Punti", "colPointType": "Tipo punti", "categoryForm": { "name": "Nome", "namePlaceholder": "Nome categoria", "save": "Salva categoria", "saving": "Salvataggio…", "cancel": "Annulla" }, "itemForm": { "itemName": "Nome articolo", "itemNamePlaceholder": "es. Trono", "credits": "Valore in crediti", "points": "Valore in punti", "pointType": "Tipo punti", "pointTypeDuckets": "Duckets", "pointTypeDiamonds": "Diamanti", "save": "Salva articolo", "saving": "Salvataggio…", "cancel": "Annulla", "itemIdPlaceholder": "ID furni", "iconPlaceholder": "URL dell’icona", "creditsPlaceholder": "Crediti", "currencyValuePlaceholder": "Valore in valuta", "addValue": "Aggiungi valore" }, "badgePlaceholder": "Codice del distintivo della categoria", "priorityPlaceholder": "Priorità", "addCategoryButton": "Aggiungi categoria", "badgeLabel": "Distintivo: {badge}", "priorityLabel": "Priorità: {priority}", "itemCount": "{count} furni", "colItemId": "ID furni", "colCurrencyValue": "Valore in valuta", "colCurrency": "Valuta", "colIcon": "Icona", "noValuesInCategory": "Nessun valore ancora presente in questa categoria.", "editValue": "Modifica valore" }, "badges": { "title": "Distintivi", "subtitle": "Carica, assegna e gestisci il catalogo distintivi", "upload": "Carica", "giveBadge": "Assegna distintivo", "catalogue": "Catalogo", "uploadTitle": "Carica un nuovo distintivo", "uploadSubtitle": "Carica un file immagine del distintivo", "badgeCode": "Codice distintivo", "badgeCodePlaceholder": "es. VIP001", "badgeFile": "File distintivo", "badgeFileHint": "PNG o GIF, consigliato 40x40", "uploadButton": "Carica", "uploading": "Caricamento…", "giveTitle": "Assegna distintivo a utente", "giveSubtitle": "Concedi un distintivo a un utente specifico", "username": "Nome utente", "usernamePlaceholder": "Nome utente destinatario", "giveButton": "Assegna distintivo", "giving": "Assegnazione…", "catalogueTitle": "Catalogo distintivi", "catalogueSubtitle": "Tutti i distintivi disponibili nell'hotel", "noBadges": "Nessun distintivo nel catalogo", "search": "Cerca distintivi", "searchPlaceholder": "Cerca per codice o nome…", "colCode": "Codice", "colImage": "Immagine", "colName": "Nome", "colDescription": "Descrizione", "colActions": "Azioni", "uploadedMessage": "Distintivo {code} caricato.", "errorMessage": "Caricamento non riuscito: {error}", "userIdPlaceholder": "ID utente" }, "achievements": { "title": "Trofei", "subtitle": "Elenco di sola lettura dei trofei di gioco", "noAchievements": "Nessun trofeo configurato", "colId": "ID", "colName": "Nome", "colCategory": "Categoria", "colLevels": "Livelli", "colReward": "Ricompensa", "colProgress": "Progresso", "levelLabel": "Livello {level}", "rewardCredits": "{count} crediti", "rewardPoints": "{count} {points}", "achievementRows": "Livelli dei traguardi", "distinctAchievements": "Traguardi distinti", "categories": "Categorie", "colLevel": "Livello", "colRewardType": "Tipo di ricompensa", "colRewardAmount": "Quantità della ricompensa", "colPoints": "Punti" }, "calendar": { "title": "Campagne calendario", "subtitle": "Elenco di sola lettura delle campagne ed eventi del calendario", "noCampaigns": "Ancora nessuna campagna calendario", "colId": "ID", "colName": "Nome", "colStart": "Inizio", "colEnd": "Fine", "colType": "Tipo", "colReward": "Ricompensa", "colActions": "Azioni", "detail": { "title": "Campagna: {name}", "subtitle": "Dettagli evento calendario", "days": "Giorni", "dayLabel": "Giorno {day}", "reward": "Ricompensa", "noDays": "Nessun giorno configurato per questa campagna", "campaignMeta": "#{id} · {days} giorni · inizio {date}", "disabled": "Disattivata", "enabled": "Attiva", "locksExpired": "Giorni scaduti bloccati", "rewards": "Ricompense", "noRewards": "Nessuna ricompensa configurata.", "colId": "ID", "colProduct": "Prodotto", "colItem": "Furni", "colCredits": "Crediti", "colPixels": "Duckets", "colPoints": "Punti", "colBadge": "Distintivo", "colSubscription": "Abbonamento", "typeLabel": "Tipo {type}", "rewardCount": "{count} ricompense" }, "campaigns": "Campagne", "enabled": "Campagne attive", "totalRewards": "Ricompense totali", "statusEnabled": "Attiva", "statusDisabled": "Disattivata", "campaignMeta": "#{id} · {days} giorni · {rewards} ricompense", "startsAt": "Inizio: {date}", "locksExpired": "Giorni scaduti bloccati", "page": { "Couldnotloadsomecalendardatadatabaseunavailable": "Could not load some calendar data (database unavailable).", "Rank": "Rank", "Discord": "Discord", "min": "/min", "Couldnotloadsomeshopdatadatabaseunavailable": "Could not load some shop data (database unavailable).", "Couldnotloadsubscriptionsdatabaseunavailable": "Could not load subscriptions (database unavailable).", "Normal": "Normal", "BuilderClub": "Builder Club", "Error": "Error", "Somethingwentwrong": "Something went wrong", "ThehotelranintoanunexpectederrorPleasetryagainifitkeepshappeningcontactstaff": "The hotel ran into an unexpected error. Please try again — if it keeps happening, contact staff.", "Tryagain": "Try again", "Reference": "Reference:", "Error`": "Error:" } }, "radio": { "title": "Moderazione radio", "subtitle": "Latest shouts, DJ applications and on-air schedules (25 most recent of each).", "moderation": "Moderation", "shouts": "Saluti", "applications": "Candidature", "schedules": "Programmazioni", "settings": "Impostazioni", "embed": "Incorpora", "ranks": "Gradi", "history": "Cronologia", "apiKeys": "Chiavi API", "points": "Punti", "autoDj": "AutoDJ", "monitoring": { "title": "Monitoraggio radio", "subtitle": "Read-only live probe of the configured radio endpoints (radio_now_playing_api_url, radio_listeners_api_url). Each request fails soft with a {timeout}s timeout — no data is written. Configure URLs under Settings.", "stream": "Stream", "online": "Online", "offline": "Offline", "notConfigured": "Not configured", "nowPlaying": "Now playing", "nowPlayingApi": "Now-playing API", "listenersApi": "Listeners API", "listeners": "Ascoltatori", "currentSong": "Brano in corso", "bitrate": "Bitrate", "status": "Stato", "noNowPlayingHint": "no now-playing API set", "noListenersHint": "no listeners API set", "endpointDiagnostics": "Endpoint diagnostics", "diagnosticsLegend": "OK: raggiungibile · WARN: non configurato · ERROR: richiesta non riuscita o scaduta.", "streamUrl": "Stream URL", "unreachable": "unreachable", "refresh": "Aggiorna" }, "user": "User", "message": "Message", "posted": "Posted", "realName": "Real Name", "age": "Age", "style": "Style", "applied": "Applied", "day": "Day", "start": "Start", "end": "End", "show": "Show", "status": "Stato", "active": "active", "inactive": "inactive", "hidden": "hidden", "activeSchedules": "Active schedules", "noShouts": "Nessun saluto da moderare", "noApplications": "No applications submitted.", "noSchedules": "No schedules configured.", "deleteShout": "Elimina", "confirmDeleteShout": "Eliminare questo saluto?", "pendingApplications": "Candidature in sospeso", "settingsForm": { "title": "Radio Settings", "subtitle": "Edits write to website_settings (radio_* keys) and bust the runtime settings cache. Booleans use 0 / 1.", "enabled": "Enabled", "disabled": "Disabled", "totalKeys": "Total keys", "configured": "Configured", "curatedHint": "curated keys with a value", "customKeys": "Custom keys", "saveAll": "Save all", "singleKey": "Add / overwrite a single key", "keyPlaceholder": "radio_custom_key", "valuePlaceholder": "value", "commentPlaceholder": "comment (optional)", "saveSingle": "Save", "otherSettings": "Other radio settings", "dbError": "Could not load settings (database unavailable). Defaults will be created on save." }, "embedPage": { "title": "Radio Embed", "subtitle": "Copy-ready embed code for the live stream. Read-only — nothing here writes to the database. Configure the stream URL in Radio Settings (radio_stream_url).", "streamUrl": "Stream URL", "configured": "Configured", "missing": "Missing", "radioName": "Radio name", "nowPlayingApi": "Now-playing API", "set": "Set", "notSet": "Not set", "noStreamUrl": "No stream URL configured", "noStreamUrlText": "There is no radio_stream_url set, so there is nothing to embed yet.", "goToSettings": "Go to Radio Settings", "livePreview": "Live preview", "livePreviewText": "Questo è il lettore audio mostrato ai visitatori. Avvia la riproduzione per verificare che lo streaming sia raggiungibile.", "source": "Source", "audioSnippet": "Audio player snippet", "audioSnippetDesc": "Drop-in HTML5 audio player pointed straight at the stream. Works anywhere plain HTML is allowed.", "iframeSnippet": "Iframe wrapper snippet", "iframeSnippetDesc": "Embeds the site’s own radio player page in an iframe — keeps your styling and now-playing info. Adjust width/height to taste.", "audioUnsupported": "Your browser does not support the audio element." }, "banners": { "title": "Banner", "heading": "Radio Banners", "description": "Promotional banners shown on the radio page, ordered by sort order.", "addBanner": "Aggiungi banner", "createBanner": "Create banner", "deleteBanner": "Elimina banner", "noBanners": "No banners yet — add one above.", "existing": "Existing banners ({count})", "save": "Save", "delete": "Delete", "byUser": "by user {id}", "active": "active", "hidden": "hidden", "bannerAlt": "Radio banner", "statusActive": "Active", "statusHidden": "Hidden", "dbError": "Could not load banners (database unavailable).", "form": { "imagePath": "Image path / URL", "imagePathPlaceholder": "/storage/radio/banner.png", "title": "Title", "description": "Description", "sortOrder": "Sort order", "active": "Active" } }, "ranksForm": { "title": "Gradi radio", "subtitle": "DJ / staff ranks assignable on radio applications.", "dbError": "Could not load ranks (database unavailable).", "active": "Active", "addRank": "Add rank", "name": "Name", "badgeCode": "Badge code", "description": "Description", "createRank": "Create rank", "existing": "Existing ranks ({count})", "noRanks": "No ranks yet — add one above.", "activeLabel": "active", "inactiveLabel": "inactive", "save": "Save", "deleteRank": "Delete rank #{id}" }, "historyPage": { "title": "Radio Play History", "subtitle": "Past DJ shows and airtime (radio_history), most recent first. Read-only log of who was on air, when, and how many listeners tuned in.", "dbError": "Could not load radio history (database unavailable).", "showsLogged": "Shows logged", "onAirNow": "On air now", "uniqueDjs": "Unique DJs", "peakListeners": "Peak listeners", "empty": "No radio history recorded yet.", "showLog": "Show log ({count})", "colDj": "DJ", "colShow": "Show", "colStarted": "Started", "colEnded": "Ended", "colAirtime": "Airtime", "colListeners": "Listeners", "colNotes": "Notes", "onAir": "on air" }, "apiKeysForm": { "title": "Chiavi API", "subtitle": "API keys for external radio integrations (radio_api_keys). Keys are generated server-side and shown masked — copy the full value from the database when first issued.", "dbError": "Could not load API keys (database unavailable).", "totalKeys": "Total keys", "active": "Active", "inactive": "Inactive", "generateKey": "Genera nuova chiave", "generateHint": "The secret key is generated automatically with cryptographic randomness — you do not enter it.", "name": "Name", "namePlaceholder": "AzureCast bridge", "rateLimit": "Rate limit (requests/min)", "allowedIps": "Allowed IPs (optional)", "allowedIpsPlaceholder": "comma-separated, blank = any", "generate": "Genera", "existingKeys": "Existing keys ({count})", "noKeys": "No API keys yet — generate one above.", "colName": "Name", "colKey": "Chiave", "colAllowedIps": "Allowed IPs", "colRateLimit": "Rate limit", "colLastUsed": "Last used", "colExpires": "Expires", "colStatus": "Status", "colActions": "Azioni", "maskedHint": "Only the first 8 characters are shown", "any": "any", "activeLabel": "active", "inactiveLabel": "inactive", "deactivate": "Deactivate", "activate": "Activate", "delete": "Delete" }, "pointsForm": { "title": "Configurazione punti ascoltatore", "subtitle": "Reward listeners with currency for time spent on the radio. Edits write to website_settings (radio_points_* keys) and bust the runtime settings cache. Booleans use 0 / 1.", "saved": "Impostazioni salvate.", "points": "Points", "enabled": "Enabled", "disabled": "Disabled", "perMinute": "Per minute", "paidIn": "paid in {currency}", "maxPerDay": "Max / day", "unlimited": "Unlimited", "minListeners": "Min listeners", "settings": "Settings", "pointsEnabled": "Points enabled", "pointsEnabledHint": "Master switch for awarding listener points.", "currency": "Currency", "currencyHint": "Which wallet the points are paid into.", "pointsPerMinute": "Points per minute", "pointsPerMinuteHint": "Amount awarded for each full minute of listening.", "maxPerDayHint": "Daily cap per user. Use 0 for unlimited.", "minListenersHint": "Points are only awarded when at least this many people are tuned in.", "save": "Salva impostazioni punti" }, "autoDjForm": { "title": "Radio AutoDJ", "subtitle": "Fallback playlist (radio_auto_dj_playlist) the radio rotates through when no live DJ is streaming. Ordered by sort order then title.", "dbError": "Could not load the AutoDJ playlist (database unavailable).", "tracks": "Tracks", "active": "Active", "inactive": "Inactive", "addTrack": "Add track", "titlePlaceholder": "Track title", "artist": "Artist", "album": "Album", "artworkUrl": "Artwork URL", "artworkUrlPlaceholder": "https://…/cover.png", "duration": "Duration (seconds)", "durationPlaceholder": "e.g. 215", "sortOrder": "Sort order", "playlist": "Playlist ({count})", "noTracks": "No AutoDJ tracks yet — add one above.", "colOrder": "Order", "colTitle": "Title", "colArtist": "Artist", "colAlbum": "Album", "colDuration": "Duration", "colPlays": "Plays", "colLastPlayed": "Last played", "colStatus": "Status", "colActions": "Actions", "activeLabel": "active", "inactiveLabel": "inactive", "deactivate": "Deactivate", "activate": "Activate", "delete": "Delete", "trackTitle": "Title" }, "moderationPage": { "title": "DJ Moderation", "subtitle": "Review and remove radio shouts (50 most recent).", "recentShouts": "Recent Shouts ({count})" } }, "commandocentrum": { "title": "Centro comandi", "subtitle": "Diagnostica, controlli RCON e gestione utenti", "diagnostics": "Diagnostica", "rcon": "RCON", "userActions": "Azioni utente", "diagnosticsTitle": "Diagnostica emulatore", "memoryUsage": "Utilizzo memoria", "uptime": "Uptime", "onlineUsers": "Utenti online", "roomsLoaded": "Stanze caricate", "refresh": "Aggiorna", "rconTitle": "Comandi RCON", "rconPlaceholder": "Inserisci comando RCON…", "rconSend": "Invia", "rconSending": "Invio…", "rconResponse": "Risposta", "userActionsTitle": "Azioni utente", "username": "Nome utente", "usernamePlaceholder": "Nome utente destinatario", "action": "Azione", "execute": "Esegui", "actions": { "disconnect": "Disconnetti", "alert": "Invia avviso", "giveCredits": "Dai crediti", "giveBadge": "Dai distintivo", "givePoints": "Dai punti", "ban": "Banna", "kick": "Espelli" }, "messagePlaceholder": "Messaggio (per avvisi)…", "amountPlaceholder": "Importo…", "badgePlaceholder": "Codice distintivo…", "commandCategories": "Categorie comandi", "groups": { "hotel": "Hotel", "players": "Giocatori", "rewards": "Valute e regali", "advanced": "Avanzati" }, "executing": "Esecuzione comando…", "chooseCommand": "Scegli un’operazione. I valori inseriti restano salvati cambiando categoria.", "refreshStatus": "Aggiorna stato", "checkedAt": "Verificato alle {time}", "serviceAttention": "Alcuni servizi richiedono attenzione", "servicesHealthy": "I servizi principali rispondono", "cmsErrors": "Centro errori CMS", "readFailed": "Impossibile caricare i dati", "emulatorConfig": "Connessione emulatore", "emailConfig": "Invio email", "configured": "Configurato", "playersOnline": "Giocatori online", "totalAccounts": "{count} account totali", "dbUnavailable": "Database non disponibile", "emulator": "Emulatore", "online": "Online", "offline": "Offline", "rconReachable": "Connessione all’emulatore disponibile", "rconNotResponding": "L’emulatore non risponde", "database": "Database", "connected": "Connesso", "down": "Non disponibile", "queriesResponding": "Il database risponde alle richieste", "cannotReachDb": "Impossibile connettersi al database", "emulatorErrors": "Errori emulatore", "last50Logged": "Fino agli ultimi 50 eventi registrati", "serverInfo": "Informazioni server", "node": "Node.js", "platform": "Piattaforma", "appUptime": "Tempo di attività applicazione", "heapUsed": "Memoria heap utilizzata", "rss": "Memoria processo (RSS)", "hostUptime": "Tempo di attività server", "load1m": "Carico medio (1 min)", "cpus": "CPU logiche", "systemDiagnostics": "Diagnostica sistema", "connectionHealthy": "Connessione funzionante", "unreachable": "Non raggiungibile", "emulatorRcon": "Connessione emulatore", "respondingToPing": "Risponde ai controlli di stato", "noResponse": "Nessuna risposta", "notConfigured": "Non configurato", "twoFaEncryptionKey": "Chiave di cifratura 2FA", "appKeyConfigured": "Chiave di cifratura configurata", "appKeyMissing": "Chiave di cifratura mancante", "maintenanceMode": "Modalità manutenzione", "siteIsInMaintenance": "Il sito è in manutenzione", "siteIsLive": "Il sito è aperto", "recentStaffActivity": "Attività recenti dello staff", "noStaffActivity": "Nessuna attività recente dello staff", "colWhen": "Data e ora", "colStaff": "Membro dello staff", "colAction": "Azione", "colDescription": "Descrizione", "recentEmulatorErrors": "Errori recenti dell’emulatore", "noEmulatorErrors": "Nessun errore dell’emulatore registrato", "colType": "Tipo", "colVersion": "Versione", "colStacktrace": "Dettagli errore", "truncated": "Ulteriori righe omesse", "empty": "Nessun dettaglio disponibile", "defaultGiftMessage": "Un regalo per te!", "emulatorControls": "Comandi emulatore", "updateCatalog": "Ricarica catalogo", "updateCatalogDesc": "Ricarica il catalogo dal database.", "updateWordFilter": "Ricarica filtro parole", "updateWordFilterDesc": "Applica le ultime impostazioni del filtro parole.", "updateNavigator": "Ricarica navigatore", "updateNavigatorDesc": "Ricarica i dati del navigatore stanze.", "hotelAlert": "Avviso hotel", "hotelAlertDesc": "Invia un messaggio a tutti i giocatori online.", "messageToBroadcast": "Messaggio per tutti i giocatori", "sendAlert": "Invia avviso", "disconnectDesc": "Disconnetti il giocatore selezionato dall’hotel.", "userId": "ID utente", "usernameRequired": "Nome utente (obbligatorio)", "alertDesc": "Invia un avviso privato a un giocatore.", "alertMessage": "Messaggio di avviso", "forwardToRoom": "Sposta giocatore in stanza", "forwardDesc": "Invia il giocatore selezionato in una stanza specifica.", "roomId": "ID stanza", "forwardUser": "Sposta giocatore", "giveCredits": "Assegna crediti", "giveCreditsDesc": "Aggiungi crediti al saldo del giocatore selezionato.", "amount": "Quantità", "giveDuckets": "Assegna duckets", "giveDucketsDesc": "Aggiungi duckets al saldo del giocatore selezionato.", "giveDiamonds": "Assegna diamanti", "giveDiamondsDesc": "Aggiungi diamanti al saldo del giocatore selezionato.", "giveBadge": "Assegna distintivo", "giveBadgeDesc": "Assegna un distintivo al giocatore selezionato.", "badgeCode": "Codice distintivo", "setMotto": "Modifica motto", "setMottoDesc": "Aggiorna il motto del giocatore selezionato.", "newMotto": "Nuovo motto", "setRank": "Modifica rank", "setRankDesc": "Aggiorna il rank del giocatore selezionato.", "rankPlaceholder": "Rank (1–10)", "executeCommand": "Esegui comando emulatore", "executeCommandDesc": "Esegui un comando per il giocatore selezionato.", "commandPlaceholder": "Comando", "sendGift": "Invia regalo", "sendGiftDesc": "Invia un furno in regalo al giocatore selezionato.", "furniId": "ID furno", "giftMessage": "Messaggio del regalo" }, "emulator": { "title": "Configurazione emulatore", "subtitle": "Visualizza e modifica impostazioni emulatore e testi di localizzazione", "settings": "Impostazioni", "texts": "Testi", "search": "Cerca", "searchPlaceholder": "Cerca chiavi…", "noSettings": "Nessuna impostazione trovata", "noTexts": "Nessun testo trovato", "edit": "Modifica", "save": "Salva", "saving": "Salvataggio…", "cancel": "Annulla", "colKey": "Chiave", "colValue": "Valore", "colType": "Tipo", "colActions": "Azioni", "editDialog": { "title": "Modifica: {key}", "value": "Valore", "valuePlaceholder": "Inserisci valore…", "save": "Salva modifiche", "cancel": "Annulla" }, "settingsKeys": "Impostazioni", "textKeys": "Voci di testo", "keysCount": "{count} chiavi", "addOverwriteSetting": "Aggiungi o aggiorna un’impostazione", "key": "Chiave", "value": "Valore", "showingFirst": "Prime {count} voci mostrate", "addOverwriteText": "Aggiungi o aggiorna un testo", "truncatedHint": "Mostrate {shown} voci su {total}." }, "alerts": { "title": "Avvisi", "subtitle": "Invia avvisi a tutto l'hotel e visualizza avvisi recenti", "sendAlert": "Invia avviso hotel", "recentAlerts": "Avvisi recenti ({count})", "noRecentAlerts": "Nessun avviso recente", "form": { "title": "Titolo avviso", "titlePlaceholder": "es. Manutenzione server tra 10 minuti", "message": "Messaggio avviso", "messagePlaceholder": "Scrivi il messaggio dell'avviso…", "type": "Tipo", "typeHotel": "Avviso a tutto l'hotel", "typeStaff": "Solo staff", "urgent": "Urgente", "send": "Invia avviso", "sending": "Invio…", "description": "Broadcasts via RCON hotelalert to online users." }, "colId": "ID", "colTitle": "Titolo", "colSentBy": "Inviato da", "colType": "Tipo", "colDate": "Data", "colActions": "Azioni", "noAlerts": "No recent alerts", "alertsShown": "Shown", "critical": "Critical", "warnings": "Warnings", "unread": "Unread", "markAllRead": "Mark all read", "colWhen": "When", "colSeverity": "Severity", "colMessage": "Message" }, "logs": { "title": "Attività dello staff", "subtitle": "Traccia di controllo delle azioni dello staff nel pannello admin", "noLogs": "Nessuna attività dello staff ancora registrata", "colId": "ID", "colUser": "Utente", "colAction": "Azione", "colTarget": "Destinatario", "colDescription": "Descrizione", "colIp": "IP", "colTimestamp": "Data", "filterByUser": "Filtra per utente…", "filterByAction": "Filtra per azione…", "clearFilters": "Pulisci filtri", "noResults": "No matching activities", "colStaff": "Staff", "colWhen": "When", "searchPlaceholder": "Search action, description or IP…", "totalActivities": "Total activities", "onThisPage": "On this page", "recent": "Last minute", "authorizationErrors": "Authorization errors", "authorizationOnly": "Auth errors only", "allActivities": "All activities", "staffId": "Staff ID", "actionType": "Action type", "filter": "Filter", "activities": "{count} activities", "staffWithId": "#{id} {name}", "userPrefix": "user", "pagination": "Page {page} of {pages} · {total} total", "next": "Next", "prev": "Previous", "unknownUser": "sconosciuto", "emptyValue": "-", "colTime": "Ora", "audit": { "colTargetId": "ID destinazione", "colDetails": "Dettagli", "colDate": "Data", "searchPlaceholder": "Cerca per azione o destinazione…", "changesCount": "{count} modifiche", "notAvailable": "N/D", "filtersTitle": "Filtra il registro attività", "filterActor": "Autore (nome esatto o ID)", "filterAction": "Azione esatta", "filterFrom": "Dal giorno (UTC)", "filterTo": "Fino al giorno (UTC)", "filtersHint": "Le date includono l’intera giornata in UTC. Azioni e nomi utente devono corrispondere esattamente. Le attività più recenti compaiono per prime.", "applyFilters": "Applica filtri", "resetFilters": "Reimposta filtri", "invalidDetails": "I dettagli di questa vecchia registrazione non sono visualizzabili.", "beforeValue": "Prima", "afterValue": "Dopo", "exportHint": "Il CSV esporta la pagina filtrata corrente, fino a 100 registrazioni.", "operation": "Operazione" }, "chat": { "colMessage": "Messaggio", "colRoomId": "ID stanza", "searchPlaceholder": "Cerca per username o messaggio…" }, "commands": { "colCommand": "Comando", "colParams": "Parametri", "searchPlaceholder": "Cerca per username, comando o parametri…" }, "trades": { "colUserOne": "Utente uno", "colUserTwo": "Utente due", "colStatus": "Stato", "statusUnknown": "sconosciuto", "searchPlaceholder": "Cerca per username…" }, "history": { "preview": "Anteprima ripristino", "title": "Ripristina una modifica registrata", "description": "Confronta i valori attuali con quelli precedenti prima di confermare. Vengono ripristinati solo impostazioni della categoria, prezzi dell’offerta o contenuto della notizia. Record eliminati e gerarchia delle categorie sono esclusi.", "loading": "Caricamento…", "unavailable": "La revisione non è disponibile oppure non hai il permesso di ripristinarla.", "conflict": "Questo record è cambiato dopo la modifica selezionata. Aggiorna e controlla lo storico più recente prima di ripristinare.", "failed": "Ripristino non completato. Ricarica la pagina e riprova.", "field": "Campo", "current": "Valore attuale", "restore": "Valore da ripristinare", "confirm": "Conferma ripristino", "restoring": "Ripristino in corso…", "fields": { "caption": "Nome categoria", "captionSave": "Nome interno categoria", "pageLayout": "Layout categoria", "enabled": "Abilitata", "visible": "Visibile", "clubOnly": "Solo membri Club", "vipOnly": "Solo membri VIP", "minRank": "Grado minimo", "iconImage": "Icona categoria", "iconColor": "Colore icona", "pageHeadline": "Immagine intestazione", "pageTeaser": "Immagine anteprima", "pageSpecial": "Immagine speciale", "pageText1": "Testo principale", "pageText2": "Testo secondario", "pageTextDetails": "Testo dettagli", "pageTextTeaser": "Testo anteprima", "includes": "Categorie incluse", "costCredits": "Prezzo in crediti", "costPoints": "Prezzo in punti", "pointsType": "Valuta dei punti", "title": "Titolo notizia", "slug": "Indirizzo notizia", "image": "Immagine notizia", "shortStory": "Sommario", "fullStory": "Contenuto articolo", "status": "Stato pubblicazione", "publishAt": "Pubblicazione programmata", "publishedAt": "Data pubblicazione", "pageId": "Categoria" } } }, "wordfilter": { "title": "Filtro parole", "subtitle": "Gestisci parole e frasi filtrate nell'hotel", "filteredWords": "Parole filtrate", "addWord": "Aggiungi parola", "addWords": "Aggiungi parole", "words": "Parole", "noWords": "Ancora nessuna parola filtrata", "delete": "Elimina", "confirmDeleteTitle": "Rimuovi parola", "confirmDelete": "Rimuovere \"{word}\" dal filtro?", "added": "Parola aggiunta al filtro", "deleted": "Parola rimossa dal filtro", "addError": "Impossibile aggiungere la parola (potrebbe già esistere)", "deleteError": "Impossibile rimuovere la parola", "colId": "ID", "colWord": "Parola", "colAddedBy": "Aggiunto da", "colCreated": "Creato", "colActions": "Azioni", "form": { "word": "Parola", "wordPlaceholder": "es. parolaccia", "addMore": "Aggiungi più parole (una per riga)", "save": "Aggiungi al filtro", "saving": "Salvataggio…", "cancel": "Annulla" } }, "maintenance": { "title": "Modalità manutenzione", "subtitle": "Attiva o disattiva la manutenzione dell'hotel", "enabled": "La modalità manutenzione è attiva", "disabled": "La modalità manutenzione è disattiva", "enable": "Attiva manutenzione", "disable": "Disattiva manutenzione", "message": "Messaggio di manutenzione", "messagePlaceholder": "Torneremo a breve!", "staffAccess": "Consenti accesso allo staff durante la manutenzione", "save": "Salva impostazioni", "saving": "Salvataggio…", "confirmEnable": "Attivare la manutenzione impedirà a tutti gli utenti non dello staff di accedere all'hotel. Continuare?", "confirmDisable": "Disattivare la modalità manutenzione e ripristinare l'accesso per tutti gli utenti?", "maintenance": "Manutenzione", "hotelLockedDown": "Accesso all’hotel limitato.", "hotelOpen": "L’hotel è aperto.", "minLoginRank": "Grado minimo per accedere", "duringMaintenance": "Durante la manutenzione", "splashMessage": "Messaggio di manutenzione", "set": "Configurato", "empty": "Vuoto", "currentState": "Stato attuale", "maintenanceCurrently": "Manutenzione: {status}", "onlyRankCanLogin": "Possono accedere solo gli utenti con grado {rank} o superiore.", "hotelOpenToEveryone": "Tutti gli utenti abilitati possono accedere.", "settings": "Impostazioni", "enableMaintenance": "Attiva la modalità manutenzione", "minLoginRankLabel": "Grado minimo consentito durante la manutenzione", "maintenanceMessageLabel": "Messaggio mostrato ai visitatori", "maintenanceMessagePlaceholder": "Spiega perché l’hotel non è disponibile.", "saveChanges": "Salva modifiche" }, "housekeeping": { "title": "Archivio permessi", "subtitle": "Vecchia tabella di backup. L'accesso reale si gestisce in Permessi — qui solo confronto ed export.", "addPermission": "Aggiungi permesso", "editPermission": "Modifica permesso", "deletePermission": "Elimina permesso", "noPermissions": "Nessun permesso housekeeping configurato", "confirmDelete": "Eliminare questo permesso?", "colId": "ID", "colRank": "Grado", "colSection": "Sezione", "colActions": "Azioni", "form": { "rankId": "ID grado", "rankIdPlaceholder": "Grado minimo", "section": "Chiave sezione", "sectionPlaceholder": "es. admin.dashboard", "save": "Salva permesso", "saving": "Salvataggio…", "cancel": "Annulla" }, "saved": "Saved!", "deleted": "Deleted!", "errorOccurred": "An error occurred", "emptyInput": "Empty input", "invalidJson": "Invalid JSON", "imported": "Imported!", "presetApplied": "Preset applied!", "cleared": "All Permessi cleared!", "invalidRank": "Invalid Grado", "testDone": "Test done: {count} Permessi found", "testing": "Testing...", "loading": "Loading...", "prev": "Previous", "next": "Next", "confirmClearAll": "Elimina ALL Permessi? This Azione cannot be undone!", "colGroup": "Group", "colDepends": "Depends on", "colPermission": "Permesso", "colDescription": "Descrizione", "colMinRank": "Min. Grado", "permissionKey": "Chiave permesso", "minRank": "Min. Grado", "description": "Descrizione", "permissions": "Permessi", "permissionsCount": "{count} Permessi", "permission": "Permesso", "highestMinRank": "Highest min. Grado: {rank}", "totalMinRank": "Total min. Grado sum: {total}", "groupCount": "{count} groups", "rankCount": "{count} Gradi", "missingDeps": "{count} missing dependencies", "dependsOn": "depends on", "notFound": "not found", "missing": "(missing)", "rank": "Grado", "count": "Count", "searchPermission": "Cerca Permessi…", "search": "Cerca", "manage": "Manage", "importSelection": "Importa selection", "noGroup": "No group", "allGroups": "All groups", "perGroup": "Permessi per group", "perRank": "Permessi per Grado", "rankOverviewHint": "All Permessi grouped by the Grado they are assigned to.", "tabOverview": "Panoramica", "tabManage": "Manage", "tabImport": "Importa / Export", "tabRanks": "Grado Panoramica", "tabPresets": "Preimpostazioni", "tabTest": "Test", "tabAudit": "Log di audit", "importPermissions": "Importa Permessi", "importHint": "Incolla un array JSON di permessi con i campi permission, minRank, description, groupName e dependsOn.", "importPlaceholder": "Paste JSON here…", "import": "Importa", "exportTitle": "Export Permessi", "exportHint": "Export all Permessi as JSON for backup or batch editing.", "export": "Export JSON", "copy": "Copy", "copied": "Copied!", "presets": "Permesso Preimpostazioni", "presetsHint": "Applica a predefined set of Permessi for common staff roles.", "presetModerator": "Moderator", "presetModeratorDesc": "Basic Moderazione tools: Utente lookup, Ban, CFH handling, chat Registri.", "presetAdmin": "Administrator", "presetAdminDesc": "Full admin access: Utenti, Stanze, news, Impostazioni, Negozio, Eventi, radio & more.", "presetSuperAdmin": "Super Admin", "presetSuperAdminDesc": "Complete access to every feature including Permesso management and asset Importa.", "applyPreset": "Applica preset", "clearAll": "Clear all Permessi", "testTitle": "Test Grado access", "testHint": "Enter a Grado number to see which Permessi would be granted.", "test": "Test", "auditTitle": "Permesso audit log", "auditHint": "All changes to housekeeping Permessi are logged.", "auditLogsAt": "Audit Registri are available on the Audit log page.", "viewAuditLogs": "Vedi audit Registri", "importedWithErrors": "Imported {count} Permessi with {errors} errors", "confirmClearAllDesc": "This will Rimuovi every Permesso entry from the database. Are you sure?", "confirmDeletePermission": "Elimina this Permesso permanently?", "confirmBulkDelete": "Elimina {count} selected Permessi?", "deleteSelected": "Elimina {count} selected", "cancel": "Annulla", "confirm": "Confirm", "auditTime": "Time", "auditUser": "Utente", "auditAction": "Azione", "auditTarget": "Destinatario", "selectAllMatching": "Select all {count} matching", "save": "Save", "importTitle": "Import permissions", "legacyBannerTitle": "Per cambiare chi puo fare cosa usa Permessi", "legacyBannerBody": "Questo archivio non controlla il sito. Apri Permessi per dare o togliere accesso ai gradi.", "legacyBannerCta": "Apri Permessi", "writesRetired": "Qui non si modifica piu nulla di proposito. Cambia l'accesso solo in Permessi.", "tabCompare": "Confronto ACL", "tabExportOnly": "Esporta archivio", "compareHint": "Confronta le righe legacy housekeeping con i grant ACL live rank_* (grado minimo con lo slug).", "compareAligned": "{count} allineati", "compareMissingAcl": "{count} mancanti in ACL", "compareMismatch": "{count} mismatch grado", "colAclPresent": "In ACL", "colAclMinRank": "Min grado ACL", "colStatus": "Stato", "statusAligned": "Allineato", "statusMissingAcl": "Manca in ACL", "statusMismatch": "Grado diverso", "exportOnlyHint": "Le scritture sono disabilitate. Puoi ancora esportare la tabella legacy per archivio." }, "rooms": { "title": "Stanze", "subtitle": "Cerca e gestisci stanze dell'hotel", "search": "Cerca", "searchPlaceholder": "Cerca per nome, proprietario o ID…", "searchResults": "{count, plural, one {# stanza} other {# stanze}} trovate per \"{query}\"", "noResults": "Nessuna stanza trovata", "colId": "ID", "colName": "Nome", "colOwner": "Proprietario", "colUsers": "Utenti", "colState": "Stato", "colCategory": "Categoria", "colCreated": "Creata", "colActions": "Azioni", "stateOpen": "Aperta", "stateClosed": "Chiusa", "stateLocked": "Bloccata", "stateInvisible": "Invisibile", "detail": { "title": "Stanza: {name}", "subtitle": "Di proprietà di {owner}", "overview": "Panoramica", "actions": "Azioni", "description": "Descrizione", "noDescription": "Nessuna descrizione", "owner": "Proprietario", "users": "Utenti online", "maxUsers": "Utenti massimi", "category": "Categoria", "state": "Stato", "tags": "Tag", "noTags": "Nessun tag", "created": "Creata", "deleteRoom": "Elimina stanza", "confirmDelete": "Eliminare la stanza \"{name}\"? Questa azione è irreversibile.", "enterRoom": "Entra nella stanza", "changeOwner": "Cambia proprietario", "changeOwnerPlaceholder": "Nome utente nuovo proprietario" }, "id": { "roomEditForm": { "RoomDetails": "Room Details", "Name": "Name", "Description": "Description", "State": "State", "Open": "Open", "Locked": "Locked", "Password": "Password", "Invisible": "Invisible", "MaxUsers": "Max Users", "SaveChanges": "Save Changes", "DeleteRoom": "Delete Room", "QuickActions": "Quick Actions", "Owner": "Owner", "CurrentUsers": "Current Users", "RCONCommands": "RCON Commands", "KickAll": "Kick All", "Lock": "Lock", "Unlock": "Unlock", "Reload": "Reload", "users": "users", "Owner`": "Owner:", "Furniture": "Furniture", "Edit": "Edit", "AccessState": "Access State", "Score": "Score", "Category": "Category", "roomstotal": "rooms total", "Edit`": "Edit:", "View": "View", "Refresh": "Refresh", "AutorefreshON": "Auto-refresh ON", "AutorefreshOFF": "Auto-refresh OFF", "Every": "Every", "Lastupdated": "Last updated:", "Search": "Search", "settings": "settings", "changed": "changed", "SaveSync": "Save & Sync", "clear": "clear", "Nosettingsfound": "No settings found.", "Perpage": "Per page" } } }, "emailTemplates": { "title": "Template email", "subtitle": "Gestisci template email transazionali", "newTemplate": "+ Nuovo template", "edit": "Modifica", "delete": "Elimina", "noTemplates": "Ancora nessun template email", "confirmDelete": "Eliminare il template \"{name}\"?", "colId": "ID", "colName": "Nome", "colSubject": "Oggetto", "colKey": "Chiave", "colUpdated": "Aggiornato", "colActions": "Azioni", "form": { "name": "Nome", "namePlaceholder": "es. Email di benvenuto", "key": "Chiave", "keyPlaceholder": "es. welcome_email", "subject": "Oggetto", "subjectPlaceholder": "Riga oggetto email", "body": "Corpo (HTML)", "bodyPlaceholder": "

Gentile {username},

", "variables": "Variabili disponibili", "variablesHint": "{username}, {email}, {hotel_name}", "save": "Salva template", "saving": "Salvataggio…", "cancel": "Annulla", "variablesPlaceholder": "Variabili separate da virgole", "active": "Attivo" }, "create": "Crea modello", "save": "Salva modello", "updated": "Aggiornato: {date}" }, "theme": { "title": "Tema", "subtitle": "Personalizza l'aspetto del CMS", "presets": "Preimpostazioni", "colours": "Colori", "css": "CSS", "presetsTitle": "Preimpostazioni tema", "presetsSubtitle": "Scegli una combinazione di colori predefinita", "applyPreset": "Applica", "presetApplied": "Preset applicato: {preset}", "customiseTitle": "Colori personalizzati", "primary": "Primario", "secondary": "Secondario", "accent": "Accento", "background": "Sfondo", "surface": "Superficie", "text": "Testo", "saveColours": "Salva colori", "savingColours": "Salvataggio…", "cssTitle": "CSS personalizzato", "cssSubtitle": "Aggiungi CSS personalizzato per sovrascrivere gli stili del tema", "cssPlaceholder": "/* Il tuo CSS personalizzato qui */", "saveCss": "Salva CSS", "savingCss": "Salvataggio…", "reset": "Ripristina valori predefiniti", "confirmReset": "Ripristinare il tema ai valori predefiniti?", "saved": "Impostazioni del tema salvate.", "typographyLayout": "Tipografia e impaginazione", "font": "Carattere", "borderRadius": "Raggio degli angoli", "page": { "Themesavedaspreset": "Theme saved as preset.", "Appliedtheme": "Applied theme “", "Themerenamed": "Theme renamed.", "Themedeleted": "Theme deleted.", "Yoursavedthemes": "Your saved themes", "SavethecurrentconfigurationasanamedpresetthenloaditanytimePerfectforkeepingmultiplebrandthemesreadytoswitch": "Save the current configuration as a named preset, then load it anytime. Perfect for keeping multiple brand themes ready to switch.", "Savecurrenttheme": "Save current theme", "Nosavedthemesyetsaveoneabove": "No saved themes yet — save one above.", "Load": "Load", "Delete": "Delete", "Lightmode": "☀ Light mode", "ThesecolorsareusedwhenvisitorsviewyoursiteinlightmodedefaultMakesurebodytextcontrastswellwithboththepagebackgroundandcardsurface": "These colors are used when visitors view your site in light mode (default). Make sure body text contrasts well with both the page background and card surface.", "Pagetextcolors": "Page & text colors", "BackgroundssurfacesandtextcolorsTextcolorsmustcontrastwiththeirbackgroundsforreadability": "Backgrounds, surfaces, and text colors. Text colors must contrast with their backgrounds for readability.", "Buttonslinks": "Buttons & links", "ButtonbackgroundstextonbuttonsandlinkcolorsButtontextmustcontrastwithitsbuttonbackground": "Button backgrounds, text on buttons, and link colors. Button text must contrast with its button background.", "Gradients": "Gradients", "CardheaderandherosectiongradientTheseblendfromstartendacrossheadingsandbanners": "Card header and hero section gradient. These blend from start → end across headings and banners.", "AdminpanelHK": "🛠 Admin panel (HK)", "OverridecolorsfortheHousekeepingadminpanelTheseapplyacrossbothlightanddarkmodesLeaveemptytouseautoderiveddefaults": "Override colors for the Housekeeping admin panel. These apply across both light and dark modes. Leave empty to use auto-derived defaults.", "Darkmode": "🌙 Dark mode", "ThesecolorsareusedwhenvisitorsswitchtodarkmodeDarkbackgroundsneedlightertextforgoodcontrast": "These colors are used when visitors switch to dark mode. Dark backgrounds need lighter text for good contrast.", "Duplicate": "Duplicate", "Editing": "Editing:", "Light": "☀ Light", "Dark": "☾ Dark", "SaveThemeValues": "Save Theme Values", "Colors": "Colors (", "mode": "mode)", "OnlyvaluesyousethereoverridetheparentscopeLeaveemptytoinherit": "Only values you set here override the parent scope. Leave empty to inherit.", "TogglevisibilityofblocksinthisscopeHiddenblocksuse": "Toggle visibility of blocks in this scope. Hidden blocks use", "displaynone": "display: none", "LayoutSettings": "Layout Settings", "ControlspacingwidthandgridsettingsforthisscopeValuesareappliedasCSScustomproperties": "Control spacing, width, and grid settings for this scope. Values are applied as CSS custom properties.", "EffectsTransitions": "Effects & Transitions", "Controlshadowsbordersandanimationtimingforthisscope": "Control shadows, borders, and animation timing for this scope.", "MediaBackgrounds": "Media & Backgrounds", "Setcustomlogosbackgroundimagesandbackgroundpropertiesforthisscope": "Set custom logos, background images, and background properties for this scope.", "CustomCSS": "Custom CSS", "AddcustomCSSthatapplieswithinthisscopeUse": "Add custom CSS that applies within this scope. Use", "asaplaceholderforthescopeselectoreg": "as a placeholder for the scope selector (e.g.", "contentcard": "& .content-card", "border2pxsolidred": "border: 2px solid red;", "CustomHTML": "Custom HTML", "AddcustomHTMLthatinjectsintothepageforthisscopeUseforcustombannersscriptsorcontentblocks": "Add custom HTML that injects into the page for this scope. Use for custom banners, scripts, or content blocks." } }, "media": { "title": "Libreria media", "subtitle": "Carica e gestisci file media", "upload": "Carica", "uploadTitle": "Carica un file", "uploadSubtitle": "Trascina e rilascia o clicca per caricare", "uploadButton": "Scegli file", "uploading": "Caricamento…", "noFiles": "Ancora nessun file media", "delete": "Elimina", "confirmDelete": "Eliminare questo file permanentemente?", "search": "Cerca", "searchPlaceholder": "Cerca per nome file…", "colPreview": "Anteprima", "colName": "Nome", "colSize": "Dimensione", "colType": "Tipo", "colUploaded": "Caricato", "colActions": "Azioni", "copyUrl": "Copia URL", "urlCopied": "URL copiato negli appunti" }, "hubs": { "newsMedia": "Notizie e contenuti multimediali", "newsMediaSubtitle": "Articoli, foto, banner, ads e media library", "siteContent": "Contenuti sito", "siteContentSubtitle": "Navigazione, help, box, tag e prefissi", "engagement": "Attività della community", "engagementSubtitle": "Eventi, sondaggi e ticket di supporto", "users": "Utenti", "usersSubtitle": "Directory, online, candidature e team", "access": "Accesso e sicurezza", "accessSubtitle": "Ban, IP, VPN, permessi e word filter", "moderation": "Moderazione", "moderationSubtitle": "Report, azioni e team moderazione", "catalog": "Catalogo e rare", "catalogSubtitle": "Catalogo, rare, badge, achievement e suoni", "shop": "Shop e pagamenti", "shopSubtitle": "Shop, transazioni, voucher, abbonamenti e calendario", "radio": "Radio", "radioSubtitle": "Stream, tool DJ, embed e monitoring", "settings": "Impostazioni", "settingsSubtitle": "CMS, tema, manutenzione e strumenti correlati", "tools": "Strumenti", "toolsSubtitle": "RCON, stanze, import e traduzioni", "observability": "Osservabilità", "observabilitySubtitle": "Log, analytics, DevOps e alert hotel", "tabs": { "articles": "Articoli", "photos": "Foto", "banners": "Banner", "ads": "Pubblicità", "media": "Media", "navigator": "Navigatore", "help": "Assistenza", "boxes": "Box", "tags": "Tag", "prefixes": "Prefissi", "events": "Eventi", "eventTypes": "Tipi evento", "polls": "Sondaggi", "tickets": "Supporto CMS", "helpTickets": "Centro assistenza", "templates": "Template", "directory": "Elenco utenti", "multiAccounts": "Multi-account", "online": "Online", "applications": "Candidature", "teams": "Team", "bans": "Ban", "ip": "IP", "vpn": "VPN", "permissions": "Permessi", "wordFilter": "Filtro parole", "overview": "Panoramica", "actions": "Azioni", "cfh": "Richieste di moderazione", "team": "Team", "catalogTab": "Catalogo", "rares": "Rare", "badges": "Badge", "achievements": "Achievement", "sounds": "Suoni", "shopTab": "Negozio", "transactions": "Transazioni", "vouchers": "Voucher", "subscriptions": "Abbonamenti", "calendar": "Calendario", "referrals": "Referral", "dailyRewards": "Ricompense giornaliere", "history": "Cronologia", "moderationTab": "Moderazione", "monitoring": "Monitoraggio", "settingsTab": "Impostazioni", "embed": "Incorporamento", "apiKeys": "API key", "points": "Punti", "ranks": "Rank", "autoDj": "Auto DJ", "cms": "CMS", "theme": "Tema", "maintenance": "Manutenzione", "favicon": "Favicon", "emulator": "Emulatore", "email": "Email", "housekeeping": "Archivio permessi", "commando": "Centro operativo", "rooms": "Stanze", "import": "Importazione", "importOverview": "Panoramica", "importBadges": "Badge", "importFurni": "Furni", "importUpload": "Caricamento", "importClothing": "Abbigliamento", "importEffects": "Effetti", "importPets": "Pet", "importClone": "Clonazione", "importSync": "Sincronizzazione", "importRepairIcons": "Ripara icone", "importAudit": "Verifica dati", "translations": "Traduzioni", "logs": "Log", "audit": "Registro modifiche", "chat": "Chat", "commands": "Comandi", "trades": "Trade", "analytics": "Statistiche", "activity": "Attività", "economy": "Economia", "devops": "DevOps", "errors": "Errori", "alerts": "Alert", "toolsGroup": "Strumenti", "ticketInbox": "Ticket ricevuti", "cmsErrors": "Errori CMS", "themeBuilder": "Editor del tema", "studio": "Studio" }, "events": "Eventi", "eventsSubtitle": "Eventi hotel e tipi evento", "tickets": "Ticket", "ticketsSubtitle": "Inbox unificata su supporto CMS e help center", "staffAccess": "Gradi e permessi", "staffAccessSubtitle": "Gradi staff e accesso live. L'archivio e solo confronto/export.", "analytics": "Analitiche", "analyticsSubtitle": "Attività hotel, retention ed economia", "devops": "DevOps", "devopsSubtitle": "Salute servizi ed errori emulator", "import": "Importazione", "importSubtitle": "Furni, badge, abbigliamento e strumenti asset" }, "settings": { "title": "Impostazioni CMS", "subtitle": "Gestisci configurazione chiave/valore del CMS", "addSetting": "Aggiungi impostazione", "edit": "Modifica", "delete": "Elimina", "noSettings": "Nessuna impostazione trovata", "confirmDelete": "Eliminare l'impostazione \"{key}\"?", "keysInDatabase": "{count} chiavi nel database", "managedInForm": "{count} gestite nel form", "documented": "{count} documentate", "saved": "Impostazioni salvate.", "saveFailed": "Impossibile salvare le impostazioni.", "saveSettings": "Salva impostazioni", "viewOnly": "Puoi visualizzare le impostazioni ma serve il permesso di modifica.", "colKey": "Chiave", "colValue": "Valore", "colUpdated": "Aggiornato", "colActions": "Azioni", "form": { "key": "Chiave", "keyPlaceholder": "es. hotel_name", "value": "Valore", "valuePlaceholder": "Valore impostazione", "save": "Salva impostazione", "saving": "Salvataggio…", "cancel": "Annulla" } }, "menu": { "title": "Menu admin", "subtitle": "Riordina e nascondi gruppi e voci della sidebar. Route e permessi restano nel codice.", "save": "Salva menu", "saving": "Salvataggio…", "saved": "Menu admin salvato.", "saveFailed": "Impossibile salvare il menu admin.", "reset": "Ripristina default", "viewOnly": "Puoi vedere il layout del menu ma serve il permesso di modifica impostazioni.", "hint": "Dashboard e questa pagina restano visibili. L'ACL continua a filtrare per grado.", "moveUp": "Sposta su", "moveDown": "Sposta giù", "hideGroup": "Nascondi gruppo", "showGroup": "Mostra gruppo", "hideItem": "Nascondi voce", "showItem": "Mostra voce", "pinned": "Fisso" }, "favicon": { "title": "Favicon", "subtitle": "Upload and manage the site favicon", "current": "Current favicon", "uploadLabel": "Upload favicon", "uploadHint": "PNG, JPEG, GIF, WebP o ICO. Massimo 2 MB.", "upload": "Upload", "uploading": "Uploading…", "delete": "Remove", "deleting": "Removing…", "cancel": "Annulla", "saved": "Favicon saved successfully!", "deleted": "Favicon removed successfully!", "error": "Something went wrong", "confirmDelete": "Remove the favicon? The site will no longer show a custom favicon.", "generator": { "title": "Generate favicon", "text": "Text", "bgColor": "Background color", "textColor": "Text color", "rounded": "Rounded corners", "save": "Save as favicon" } }, "import": { "title": "Import", "subtitle": "Importa asset da fonti esterne nel tuo hotel.", "badges": "Distintivi", "badgesDescription": "Importa e gestisci asset dei distintivi da fonti esterne.", "furni": { "nitroEditorDialog": { "EditNitro": "Edit Nitro", "dir": "dir", "layers": "layers", "colors": "colors", "anim": "anim", "Visual": "Visual", "JSON": "JSON", "Dimensions": "Dimensions", "Xwidth": "X (width)", "Ydepth": "Y (depth)", "Zheight": "Z (height)", "Directions": "Directions", "8active": "/ 8 active", "ChoosetheavailablerotationsKeepatleastonedirectionactive": "Choose the available rotations. Keep at least one direction active.", "Interaction": "Interaction", "CanStandOn": "Can Stand On", "CanSitOn": "Can Sit On", "CanLayOn": "Can Lay On", "Autodetectfromname": "Auto-detect from name", "Clicklimit": "Click limit:", "Modes": "Modes:", "Types": "Types", "VisualizationType": "Visualization Type", "LogicType": "Logic Type", "Layer": "Layer", "ZIndex": "Z-Index", "Alpha": "Alpha", "Ink": "Ink", "Colori": "Colori", "ColorVariant": "Color Variant #", "Unsavedchanges": "Unsaved changes", "Reset": "Reset", "Cancel": "Cancel", "Save": "Save", "Editfurniture": "Edit furniture", "Wallposition": "Wall position", "Format": "Format:", "Rotation07": "Rotation (0-7)", "Extradata": "Extra data", "Itemstatedataegdicevaluestickynotetextcolor": "Item state/data (e.g. dice value, sticky note text, color)", "autoDetected": "Auto-detected", "loadFailed": "Failed to load furniture data", "networkErrorLoad": "Network error loading furniture data", "invalidJsonSwitchTabs": "Invalid JSON; please fix errors before switching tabs.", "resetToOriginal": "Reset to original", "invalidJson": "Invalid JSON format", "saveFailed": "Failed to save furniture data" }, "upload": { "uploadFurniClient": { "FurnitureDetails": "Furniture Details", "Classname": "Classname *", "Name": "Name *", "Description": "Description", "Type": "Type *", "Floors": "Floor (s)", "Walli": "Wall (i)", "Widthx": "Width (x)", "Lengthy": "Length (y)", "Interaction": "Interaction", "Canstandon": "Can stand on", "Cansiton": "Can sit on", "Canlayon": "Can lay on", "GenerateSQL": "Generate SQL", "Customparams": "Custom params", "Files": "Files", "nitrofile": ".nitro file *", "Thenitrobundlefilemax50MB": "The .nitro bundle file (max 50MB)", "IconPNG": "Icon (PNG)", "Optional64x64PNGiconmax2MBLeaveemptytoskip": "Optional 64x64 PNG icon (max 2MB). Leave empty to skip.", "ImportSuccessful": "Import Successful", "Classname`": "Classname:", "ItemID": "Item ID:", "CatalogID": "Catalog ID:", "SQLfile": "SQL file:", "Warnings": "Warnings:", "ImportAnother": "Import Another", "Back": "Back", "Room": "Room #", "Owner": "· Owner:", "Reload": "Reload", "KickAll": "Kick All", "Alltypes": "All types", "Flooronly": "Floor only", "Wallonly": "Wall only", "Allowners": "All owners", "Flat": "Flat", "Grouped": "Grouped", "selected": "selected", "Clear": "Clear", "Deleteselected": "Delete selected", "Name`": "Name", "Type`": "Type", "Position": "Position", "Rot": "Rot", "Owner`": "Owner", "Actions": "Actions", "Thisroomhasnofurniture": "This room has no furniture.", "Noitemsmatchyourfilters": "No items match your filters.", "Showing": "Showing", "Furniture": "Furniture", "Count": "Count", "Action": "Action", "Noitems": "No items.", "Deleteall": "Delete all", "errorClassname": "Classname required", "errorNitroRequired": ".nitro file required", "errorNitroSize": ".nitro file must be under 50MB" } } }, "furniDescription": "Importa definizioni mobili, file SWF e icone.", "clothing": { "importClothingClient": { "libraries": "libraries", "onthispage": "on this page", "missinghere": "missing here", "Import": "Import", "selected": "selected", "Nolibrariesfound": "No libraries found", "Imported": "Imported", "Page": "Page", "Prev": "← Prev", "Next": "Next →", "sets": "sets", "Nosetsfound": "No sets found", "Libraries": "Libraries", "Sets": "Sets", "None": "None", "Enabledretiredsourcesareexcludedfromcountsandimports": "Enabled (retired sources are excluded from counts and imports)", "Save": "Save", "Cancel": "Cancel", "CloneSources": "Clone Sources", "AddSource": "Add Source", "NosourcesyetAddonetostartcloningfurnifromanotherhotel": "No sources yet. Add one to start cloning furni from another hotel.", "total": "total", "present": "present", "clonable": "clonable", "Clone": "Clone", "Cloneallclonable": "Clone all clonable (", "Nofurnifound": "No furni found", "Rev": "Rev:", "Present": "Present", "Loadingsources": "Loading sources…", "Selectasourceabovetobrowseandclonefurni": "Select a source above to browse and clone furni.", "effects": "effects", "imported": "imported", "available": "available", "Noeffectsfound": "No effects found", "pets": "pets", "missing": "missing", "Nopetsfound": "No pets found" } }, "clothingDescription": "Importa abiti e indossabili per gli avatar.", "effects": "Effetti", "effectsDescription": "Importa effetti e animazioni avatar.", "pets": "Animali", "petsDescription": "Importa dati e icone degli animali.", "clone": "Clona", "cloneDescription": "Clona elementi esistenti da una fonte all'altra.", "upload": "Carica .nitro", "uploadDescription": "Carica bundle .nitro e icone direttamente, senza conversione SWF.", "sync": "Sincronizzazione automatica", "syncDescription": "Importa automaticamente i mobili mancanti da tutte le fonti configurate.", "repairIcons": "Ripara icone", "repairIconsDescription": "Scarica le icone mancanti per i mobili già presenti nel database.", "audit": { "auditClient": { "Repairmissingicons": "Repair missing icons", "Repairmissingnitro": "Repair missing .nitro", "GeneratecatalogSQL": "Generate catalog SQL", "ApplySQLtodatabase": "Apply SQL to database", "RepairFurnitureDatajsonaddmissingdedupe": "Repair FurnitureData.json (add missing + dedupe)", "CheckFurnitureDatajsonforspriteIdconflicts": "Check FurnitureData.json for spriteId conflicts", "Repairstructuralissuesorphanedrefsduplicates": "Repair structural issues (orphaned refs + duplicates)", "Cancel": "Cancel", "items_baseentries": "items_base entries", "catalog_itemsentries": "catalog_items entries", "Errors": "Errors", "Warnings": "Warnings", "itemswithoutcatalogentry": "items without catalog entry", "orphanedcatalogreferences": "orphaned catalog references", "itemswithoutnitro": "items without .nitro", "itemswithouticon": "items without icon", "duplicateclassnames": "duplicate classnames", "itemsmissingfromclonesources": "items missing from clone sources", "itemscantberepairedlegacybroken": "item(s) can't be repaired (legacy/broken)", "Iconrepair": "Icon repair:", "fixed": "fixed", "failed": "failed", "skipped": "skipped", "stillmissing": "still missing", "Nitrorepair": "Nitro repair:", "CatalogSQL": "Catalog SQL:", "statementsgenerated": "statement(s) generated", "applied": "applied", "Downloadsql": "Download .sql", "FurnitureDatarepair": "FurnitureData repair:", "added": "added", "duplicatesremoved": "duplicates removed", "spriteIdconflictsfixed": "spriteId conflicts fixed", "Structuralrepair": "Structural repair:", "orphanedrowsremoved": "orphaned rows removed", "cleaned": "cleaned", "classnamesmerged": "classname(s) merged", "duplicaterowsremoved": "duplicate rows removed", "referencesremapped": "reference(s) remapped", "Issues": "Issues (", "Missingfromsources": "Missing from sources (", "Unrepairablelegacy": "Unrepairable (legacy) (", "source": "source:", "missing": "missing", "Noissuesfound": "No issues found", "Yourcatalogisclean": "Your catalog is clean!", "RunAgain": "Run Again", "Runafullaudittocheckformissingcatalogentriesbrokenreferencesmissingfilesanditemsavailablefromclonesources": "Run a full audit to check for missing catalog entries, broken references, missing files, and items available from clone sources.", "results": "results", "imported": "imported", "available": "available", "Import": "Import", "selected": "selected", "Nobadgesfound": "No badges found", "Trysearchingbybadgenameorcode": "Try searching by badge name or code", "Imported": "Imported", "Page": "Page", "Prev": "← Prev", "Next": "Next →", "EditBadge": "Edit Badge —", "Name": "Name", "Description": "Description", "Save": "Save", "Processed": "Processed", "items": "items", "RepairComplete": "Repair Complete", "Downloads": "Downloads:", "Skippedalreadyhadicon": "Skipped (already had icon):", "Failed": "Failed:", "ScansallfurnitureinthedatabaseanddownloadsanymissingiconfilesIconsareextractedfromlocalnitrobundlesordownloadedfromconfiguredclonesources": "Scans all furniture in the database and downloads any missing icon files. Icons are extracted from local .nitro bundles or downloaded from configured clone sources." } }, "auditDescription": "Scansiona il catalogo per voci mancanti, riferimenti rotti ed elementi assenti dalle fonti clone." }, "translations": { "title": "Translations", "subtitle": "Translate your hotel into multiple languages.", "tabs": { "cms": "CMS", "client": "Client (Nitro)", "emulator": "Emulator" }, "emulator": { "title": "Emulator", "subtitle": "User-facing strings from emulator_settings (commands, wordfilter, pet/matchmaking messages).", "infoBox": "Configuration settings (ports, timeouts, IDs) do not appear here — use the full settings link. Saved changes are synced to the emulator via RCON.", "fullSettings": "Full settings" }, "cms": { "title": "Traduzioni del CMS", "description": "Modifica i testi del sito e dell’housekeeping. Le modifiche salvate vengono applicate al caricamento successivo della pagina e restano dopo i deploy.", "export": "Esporta JSON", "saving": "Salvataggio…", "saveLocale": "Salva {locale}", "saved": "Traduzioni salvate e applicate.", "readOnly": "Puoi consultare ed esportare le traduzioni. Per modificarle serve il permesso di modifica delle impostazioni.", "language": "Lingua", "coverage": "{total} chiavi · {missing} mancanti · {identical} identiche all’inglese", "search": "Cerca", "searchPlaceholder": "Chiave, traduzione o testo inglese…", "group": "Gruppo", "allGroups": "Tutti i gruppi", "status": "Mostra", "all": "Tutti i testi", "missing": "Traduzioni mancanti", "identical": "Identiche all’inglese", "modified": "Modifiche non salvate", "fallbackHint": "Le traduzioni mancanti usano l’inglese. Un testo identico può essere intenzionale. Mantieni invariati i nomi delle variabili tra parentesi graffe.", "unsaved": "{count} modifiche non salvate in questa lingua", "discard": "Annulla modifiche", "discardConfirm": "Annullare le modifiche non salvate in questa lingua?", "fixErrors": "Correggi {count} messaggi non validi prima di salvare.", "noResults": "Nessun testo corrisponde ai filtri.", "source": "Riferimento inglese", "missingPlaceholder": "Traduzione mancante: viene usato l’inglese.", "page": "Pagina {page} di {total} · {count} chiavi", "previous": "Precedente", "next": "Successiva", "leaveWarning": "Ci sono traduzioni non salvate. Vuoi uscire dalla pagina?", "conflict": "Queste traduzioni sono cambiate dopo l’apertura dell’editor. Esporta le modifiche e ricarica la pagina prima di salvare.", "unknownKey": "Chiave di traduzione sconosciuta: {key}", "empty": "Inserisci una traduzione per {key} oppure annulla questa modifica.", "invalid": "Sintassi del messaggio non valida in {key}. Controlla le parentesi graffe e i tag del testo.", "variables": "Mantieni gli stessi nomi delle variabili e tag del testo inglese in {key}." } }, "analytics": { "loadError": "Alcune query analytics sono fallite. I numeri sotto possono essere incompleti — controlla DB e tabelle emulator.", "totalUsers": "Utenti totali", "onlineNow": "{count} online ora", "weekRegistrations": "Registrazioni della settimana", "thisMonth": "{count} questo mese", "activeRooms": "Stanze attive", "totalRooms": "{count} stanze totali", "weeklyActivity": "Attività settimanale", "tradesAndBans": "{trades} trade, {bans} ban", "registrationsChartTitle": "Registrazioni (30 giorni)", "registrationsChartDescription": "Nuove registrazioni utenti negli ultimi 30 giorni", "chatActivity": "Attività chat", "messagesLast7Days": "Messaggi negli ultimi 7 giorni", "trades": "Trade", "tradesLast7Days": "Trade negli ultimi 7 giorni", "retention": "Retention", "usersOnlineOverTotal": "Utenti online / totale", "activity": { "chatMessages": "Messaggi chat", "commands": "Comandi", "bans": "Ban", "registrations": "Registrazioni", "last7Days": "Ultimi 7 giorni", "dailyBreakdownTitle": "Ripartizione giornaliera (7 giorni)", "colDay": "Giorno", "colChats": "Chat", "colCmds": "Cmd", "colBans": "Ban", "colRegs": "Reg", "mostActiveUsersTitle": "Utenti più attivi (7 giorni)", "noChatActivity": "Nessuna attività chat", "msgCount": "{count} msg", "userFallback": "Utente #{id}" }, "economy": { "creditsInCirculation": "Crediti in circolazione", "creditsDescription": "Crediti totali di tutti gli utenti", "pixelsInCirculation": "Pixel in circolazione", "pixelsDescription": "Pixel totali di tutti gli utenti", "pointsInCirculation": "Punti in circolazione", "pointsDescription": "Punti totali di tutti gli utenti", "weeklyTrades": "Trade settimanali", "marketplaceListings": "{count} annunci marketplace", "shopRevenueTitle": "Ricavi shop (7g)", "purchases": "Acquisti", "creditsSpent": "Crediti spesi", "pointsSpent": "Punti spesi", "marketplaceTitle": "Marketplace", "activeListings": "Annunci attivi", "sold7d": "Venduti (7g)", "currencyDistributionTitle": "Distribuzione valute", "credits": "Crediti", "pixels": "Pixel", "points": "Punti", "catalogSpendingTitle": "Spesa catalogo", "creditsTooltip": "{count} crediti", "pointsTooltip": "{count} punti" }, "peakHours": { "title": "Ore di punta", "description": "Attività utenti per giorno e ora (ultimi 7 giorni)", "days": { "mon": "lun", "tue": "mar", "wed": "mer", "thu": "gio", "fri": "ven", "sat": "sab", "sun": "dom" }, "tooltip": "{day} {hour}:00 — {count} utenti", "less": "Meno", "more": "Più" } }, "items": { "title": "Items base", "subtitle": "Browse and edit furni definitions in items_base (standalone from catalog pages)", "total": "{count, plural, one {# item} other {# items}}", "editTitle": "Edit {name}", "editSubtitle": "items_base #{id}", "back": "Back to list", "save": "Save", "saved": "Item saved", "untitled": "Untitled item", "sectionIdentity": "Identity", "sectionDims": "Dimensions & interaction", "sectionFlags": "Allow flags", "sectionExtra": "Extra", "publicName": "Public name", "itemName": "Classname", "type": "Type", "spriteId": "Sprite ID", "width": "Width", "length": "Length", "stackHeight": "Stack height", "interactionType": "Interaction", "interactionModes": "Modes", "vendingIds": "Vending IDs", "multiheight": "Multiheight", "customparams": "Custom params" }, "online": { "title": "Online users", "subtitle": "Players currently connected", "connected": "{count, plural, one {# player connected} other {# players connected}}" }, "ticketInbox": { "hint": "Vista unificata dei ticket aperti CMS e help center. I dettagli restano sulle route di ciascun prodotto.", "noTickets": "Nessun ticket aperto in nessuna coda", "searchPlaceholder": "Cerca oggetto, titolo, utente o ID…", "statCmsOpen": "CMS aperti", "statHelpOpen": "Help aperti", "statTotal": "Totale aperti", "colTicket": "Ticket", "colStatus": "Stato", "colType": "Coda", "colUpdated": "Aggiornato", "meta": "di {user}", "typeAll": "Tutte le code", "typeCms": "Supporto CMS", "typeHelp": "Help center", "statusOpen": "Aperti", "statusClosed": "Chiusi", "statusAll": "Tutti gli stati", "presetOpen": "Solo aperti", "modNavLabel": "Code:", "modNavInbox": "Inbox", "modNavDesk": "Supporto CMS", "modNavHelp": "Help center" }, "search": { "pages": "Pagine e strumenti", "description": "Cerca pagine, utenti, furni, categorie del catalogo, articoli e ticket di assistenza.", "loadError": "Impossibile caricare i risultati. Puoi comunque aprire le pagine elencate.", "placeholder": "Cerca pagine, utenti, stanze…", "users": "Utenti", "articles": "Articoli", "rooms": "Stanze", "guilds": "Gruppi", "shop": "Negozio", "rareValues": "Valori dei rari", "noResults": "Nessun risultato trovato.", "furniture": "Furni", "catalog": "Categorie del catalogo", "tickets": "Ticket di assistenza", "loading": "Ricerca in corso…", "hint": "Inserisci un ID numerico o almeno 2 caratteri oppure scegli una pagina.", "retry": "Riprova", "partialError": "Alcuni risultati non sono disponibili. Riprova." }, "table": { "search": "Cerca…", "clearSearch": "Cancella ricerca", "filters": "Filtri", "clearAll": "Rimuovi tutti", "all": "Tutti", "columns": "Colonne", "perPage": "{count} / pagina", "selected": "{count} selezionati", "results": "{count} risultati", "empty": "Nessun risultato corrisponde alla ricerca o ai filtri.", "selectAll": "Seleziona tutte le righe di questa pagina", "selectRow": "Seleziona riga {id}", "removeFilter": "Rimuovi filtro: {name}", "previous": "Pagina precedente", "next": "Pagina successiva", "page": "Pagina {page}", "pageOf": "Pagina {page} di {last}", "bulkError": "Operazione non riuscita. La selezione è stata mantenuta: verifica il risultato prima di riprovare.", "confirmBulk": "Eseguire {action} su {count} righe selezionate?", "views": { "title": "Viste salvate", "hint": "Salva filtri, ordinamento e colonne sul tuo account. Fino a 20 viste per tabella.", "saved": "Vista salvata", "error": "Le viste salvate non sono disponibili. Riprova.", "retry": "Riprova", "loading": "Caricamento viste...", "empty": "Nessuna vista salvata.", "deleteNamed": "Elimina {name}", "delete": "Elimina", "name": "Nome della vista", "replace": "Sostituisci questa vista", "save": "Salva vista attuale" } }, "actions": { "saved": "Salvato correttamente.", "error": "Impossibile completare l’operazione.", "saving": "Salvataggio…", "saveError": "Salvataggio non riuscito. Le modifiche sono ancora qui: riprova.", "unsaved": "Modifiche non salvate", "leaveUnsaved": "Hai modifiche non salvate. Vuoi lasciare la pagina?", "preview": "Anteprima" }, "workQueue": { "title": "Da controllare", "tickets": "Ticket aperti", "ticketsHint": "Code del CMS e del centro assistenza", "imports": "Import da verificare", "importsHint": "I tuoi processi interrotti o con furni non importati", "errors": "Gruppi di errori CMS aperti", "errorsHint": "Nello storico diagnostico conservato", "unavailable": "Stato non disponibile — apri per verificare" }, "cmsErrors": { "title": "Centro errori CMS", "storageError": "Impossibile leggere gli errori. Verifica volume di archiviazione e permessi.", "subtitle": "Errori server e browser degli ultimi 7 giorni. Le segnalazioni browser sono osservazioni del client non verificate.", "emulator": "Errori emulatore", "refresh": "Aggiorna / azzera filtri", "search": "Cerca errori", "allSources": "Tutte le origini", "empty": "Nessun errore registrato corrisponde ai filtri. I vecchi log della console non vengono importati.", "resolve": "Segna come risolto", "reopenHint": "Una nuova occorrenza riapre automaticamente il gruppo.", "references": "Riferimenti delle occorrenze", "stackHint": "Gli stack del browser possono riferirsi a file compilati. Usa il riferimento per indagare; i contenuti delle richieste non vengono salvati.", "previous": "Precedente", "next": "Successiva", "searchHint": "Riferimento, digest, messaggio, percorso o versione", "source": "Origine errore", "pages": "Pagine errori", "resolved": "Risolto", "open": "Aperto", "occurrences": "{count} occorrenze", "reference": "Riferimento", "release": "Versione", "noStack": "Stack non disponibile. Usa riferimento o digest per cercare nei log del server.", "truncated": "Sono mostrati gli ultimi 1.000 eventi: i filtri cercano in questa finestra.", "counts": "{count} occorrenze · {groups} gruppi.", "retention": "Limite di archiviazione: 10 MB al giorno. Gli eventi eccedenti restano nei log server, dove disponibili.", "status": "Stato", "allStatuses": "Tutti gli stati", "firstSeen": "Prima occorrenza nei dati conservati", "lastSeen": "Ultima occorrenza", "affectedUsers": "Utenti identificati distinti", "unidentifiedEvents": "Eventi senza ID utente verificato", "metricsScope": "I conteggi riguardano solo i dati conservati caricati qui. Gli utenti sono conteggiati solo tramite ID numerici del server; le segnalazioni anonime e del browser non vengono attribuite.", "assignedStaff": "Assegnato allo staff #{id}", "unassigned": "Non assegnato", "assignSelf": "Assegna a me", "clearAssignment": "Rimuovi assegnazione", "openOperation": "Apri area collegata", "releaseOccurrences": "Occorrenze per release", "releaseScope": "Queste release compaiono nei dati conservati. La prima occorrenza disponibile non dimostra quale release abbia introdotto l’errore.", "releaseFilter": "Versione", "allReleases": "Tutte le versioni", "period": "Periodo", "allRetained": "Tutti gli eventi conservati", "last24h": "Ultime 24 ore", "last7d": "Ultimi 7 giorni", "sort": "Ordine", "recentFirst": "Prima i più recenti", "frequentFirst": "Prima i più frequenti", "filterScope": "I conteggi riguardano gli eventi conservati che corrispondono ai filtri. Stato e dettagli più recenti del gruppo restano aggiornati tra le versioni.", "auditTrail": "Cronologia collegata" }, "importHistory": { "summary": "Storico importazioni · {count} attive", "empty": "Nessuna importazione in background.", "result": "{done}/{total} importati · {failed} falliti", "progress": "Avanzamento importazione", "queued": "In coda", "running": "In corso", "completed": "Completato", "interrupted": "Interrotto", "done": "Importato", "failed": "Non riuscito", "pending": "In attesa", "retryFailed": "Riprova solo i furni falliti", "retryUnfinished": "Riprendi i furni non completati", "cancelled": "Annullato", "cancelFailed": "Impossibile richiedere l’annullamento. Riprova o aggiorna la cronologia.", "cancelRequested": "Annullamento richiesto. L’elemento corrente verrà completato; quelli rimanenti non verranno avviati.", "cancelHint": "L’annullamento conserva gli elementi completati e lascia terminare quello corrente.", "cancelRemaining": "Annulla elementi rimanenti", "historyLimit": "Sono mostrati fino a 30 processi aggiornati più di recente.", "refreshHistory": "Aggiorna cronologia", "showMoreItems": "Mostra altri 50 elementi", "uncertainOutcome": "Un elemento interrotto potrebbe avere già modificato i dati locali. È escluso dai tentativi successivi.", "reviewLocalData": "Controlla i dati locali", "ownerHistory": "Le tue importazioni e riparazioni, dalla più recente. Il retry non ripete elementi completati o dall’esito incerto.", "previousPage": "Precedente", "nextPage": "Successiva", "page": "Pagina {page}" }, "installation": { "title": "Diagnostica installazione", "hint": "Controlli in sola lettura di questa installazione. Non verificato indica evidenza insufficiente; una configurazione presente non prova la raggiungibilità esterna.", "checked": "Controllato alle {time} · verifiche completate in {ms} ms", "recheck": "Ricontrolla", "ok": "Controllo superato", "failed": "Da verificare", "unknown": "Non verificato", "missing": "Non configurato", "release": "Versione in esecuzione", "database": "Database", "redis": "Redis", "emulator": "Emulatore", "storage": "Archiviazione scrivibile", "migrations": "Migrazioni database", "worker": "Worker in background", "renderer": "Configurazione renderer", "registry": "Registro delle immagini", "releaseHint": "Identificativo completo della build in esecuzione. Permette di confrontare installazioni e scegliere una versione precedente per il ripristino.", "databaseHint": "Connessione e tempo misurato della query SELECT 1.", "redisHint": "Opzionale per alcune pagine; necessario per le importazioni in coda.", "emulatorHint": "Risposta al ping dell’emulatore configurato.", "storageHint": "Permessi di lettura e scrittura nelle cartelle storage, risorse Nitro e SWF.", "migrationsHint": "Numero di migrazioni incluse nella versione e assenti dalla cronologia del database. Applicale attraverso il processo di rilascio.", "workerHint": "Ultimo segnale del worker in Redis. Oltre due minuti richiede verifica; nessun segnale non permette di stabilire se il worker sia attivo.", "rendererHint": "Il client usa l’indirizzo configurato oppure /nitro-client/ come percorso predefinito. Apri separatamente il gioco per controllare rendering e risorse.", "registryHint": "Le credenziali del registro sono nella CI, non nel CMS. Controlla il lavoro di pubblicazione e il tag immutabile della versione in Gitea.", "guideTitle": "Installazione e aggiornamenti", "guideHost": "Esegui questi comandi nel clone del repository sul server Linux con Docker. Questa pagina verifica lo stato e non controlla Docker.", "guideAccess": "La compilazione dai sorgenti richiede accesso al repository. Le immagini private richiedono anche accesso ai pacchetti del registro. La procedura conserva le impostazioni esistenti.", "guidePinned": "Per una versione verificata, seleziona il relativo commit sul server ed esegui bash cms update --skip-pull. In modalità immagini precompilate puoi specificare entrambi i digest; consulta docs/operations/docker-installation.md.", "guideWorker": "Dopo l’avvio verifica spazio persistente, migrazioni e segnale del worker. Lo stato HTTP da solo non conferma l’esecuzione dei processi in background.", "guideRecovery": "Prima di aggiornare salva il database e verifica come ripristinarlo. Ripristinare l’immagine non annulla le migrazioni. La compatibilità con versioni precedenti del database non è garantita." }, "operations": { "title": "Da controllare", "hint": "Attività accessibili: importazioni negli ultimi 30 lavori personali; errori in un massimo di 1.000 eventi conservati. Attività precedenti possono restare fuori da questi conteggi.", "empty": "Nessuna attività in sospeso trovata nei dati controllati.", "errors": "Gruppi di errori CMS aperti", "imports": "Le tue importazioni da verificare", "tickets": "Ticket di assistenza aperti", "publications": "Bozze delle news", "unavailable": "{source}: dati temporaneamente non disponibili.", "installation": "Diagnostica installazione" }, "catalogPackages": { "backend": { "sourceChanged": "Le categorie o le offerte sorgenti sono cambiate. Crea un nuovo pacchetto per includere i dati aggiornati.", "saveConflict": "Il pacchetto è cambiato. Ricaricalo prima di salvare.", "publishConflict": "Il pacchetto è cambiato. Aggiorna l’anteprima di pubblicazione.", "catalogChanged": "Il catalogo è cambiato. Aggiorna l’anteprima di pubblicazione.", "missing": "Pacchetto catalogo non trovato.", "pageLimit": "Un pacchetto supporta al massimo 200 categorie, incluse le sottocategorie.", "offerLimit": "Un pacchetto supporta al massimo 500 offerte.", "payloadLimit": "I dati del pacchetto superano il limite di 8 MB.", "membership": "Non puoi aggiungere o rimuovere elementi dal pacchetto.", "hierarchy": "Non puoi modificare la gerarchia del pacchetto.", "references": "Non puoi modificare i riferimenti ai furni del pacchetto.", "furnitureMissing": "Un furni referenziato dal pacchetto non esiste più.", "auditWarning": "Pacchetto pubblicato, ma la registrazione nell’audit non è riuscita.", "hotelWarning": "Pacchetto pubblicato, ma l’aggiornamento non è stato inviato all’hotel.", "exportWarning": "Pacchetto pubblicato, ma la pianificazione dell’esportazione non è riuscita.", "refreshWarning": "Pacchetto pubblicato. Aggiorna la pagina per vedere il catalogo aggiornato." } }, "catalogPackagePreview": { "title": "Anteprima catalogo", "hint": "Sfoglia le pagine e le offerte reali del pacchetto. Questa è un’anteprima del catalogo, non la riproduzione completa del client di gioco. Non vengono effettuati acquisti.", "search": "Cerca categorie o offerte", "playerMode": "Accesso giocatore", "rank": "Rango", "club": "Club", "vip": "VIP", "externalParents": "La selezione appartiene a un catalogo più ampio. Non è possibile valutare le restrizioni delle categorie superiori esterne a questa istantanea.", "invalidHierarchy": "{count} pagine hanno una gerarchia ciclica e non sono navigabili.", "snapshotLimit": "Anteprima limitata a 200 pagine e 500 offerte.", "restricted": "{count} pagine sono nascoste dalle impostazioni di accesso selezionate.", "categories": "Categorie del catalogo", "noPages": "Questa istantanea non contiene categorie.", "inaccessible": "Nessuna categoria è accessibile con queste impostazioni. Modifica l’accesso giocatore o disattivalo per esaminare la bozza.", "noMatches": "Nessun risultato per questa ricerca.", "offerCount": "{count} offerte", "layout": "Layout: {layout}", "missingLayout": "Non specificato", "unsupportedLayout": "Questo layout non ha un’anteprima dedicata. La griglia mostra le offerte reali; componenti e immagini del layout personalizzato non vengono riprodotti.", "loadingIcons": "Caricamento delle icone dei furni…", "assetsUnavailable": "I dettagli dei furni non sono al momento disponibili. I dati delle offerte restano visibili.", "assetLimit": "Icone e nomi dei furni sono limitati ai primi 200 ID di questa vista.", "emptyPage": "Questa categoria non contiene offerte dirette. Sfoglia le sottocategorie.", "missingIcon": "Icona non disponibile", "amount": "Quantità: {count}", "bundle": "{count} tipi di furni", "changed": "Modificato rispetto alla versione iniziale salvata", "previous": "Precedente", "next": "Successiva", "page": "Pagina {page} di {total}", "offerId": "Offerta #{id}", "unknownFurniture": "Nome del furni non disponibile", "selectOffer": "Seleziona un’offerta per esaminare il prezzo e i furni inclusi.", "credits": "Crediti", "duckets": "Duckets", "diamonds": "Diamanti", "pointsType": "Punti (tipo {type}):", "free": "Gratis", "specialPricing": "Prezzo speciale: {credits} crediti, {points} punti (tipo {type})", "restrictedOffers": "{count} offerte in questa categoria richiedono l’iscrizione al Club.", "clubOffer": "Offerta Club" }, "permissionPreview": { "title": "Anteprima accessi del ruolo", "description": "Verifica gli accessi CMS senza modificare sessioni o impersonare utenti.", "back": "Torna ai permessi", "role": "Ruolo", "show": "Mostra accessi", "missing": "Seleziona un ruolo esistente.", "entryAllowed": "Accesso HK consentito", "entryDenied": "Accesso HK negato: manca il permesso dashboard", "superAdmin": "Questo grado riceve attualmente i privilegi del grado più alto.", "scope": "Questa anteprima considera un solo ruolo. Un utente può avere altri ruoli. La navigazione personalizzata può nascondere sezioni consentite; singoli dati e azioni possono richiedere ulteriori controlli.", "sections": "Sezioni", "allowed": "Consentito", "denied": "Negato", "actions": "Permessi CMS", "actionScope": "Un permesso concesso non supera i controlli di accesso HK, gerarchia dei gradi, proprietà dei dati o validazione della singola azione.", "granted": "Concesso", "notGranted": "Non concesso" }, "operationsCenter": { "title": "Centro operazioni", "hint": "Segui le tue importazioni e riparazioni persistenti e la coda condivisa di esportazione catalogo.", "syncTitle": "Sincronizzazione sorgenti", "syncHint": "La sincronizzazione delle sorgenti avviene nella sua pagina. Qui non dispone di cronologia persistente o ripetizione automatica degli elementi falliti. L’esportazione catalogo mostra coda condivisa e ultimo esito; non supporta retry dei singoli elementi.", "openSync": "Apri sincronizzazione ed esportazione", "openImports": "Apri importazioni furni" }, "operationsExport": { "title": "Esportazione repository catalogo", "hint": "Esportazione automatica di bundle, icone, gamedata, traduzioni e SQL catalogo. Coda e ultimo esito sono condivisi tra operatori.", "loadError": "Impossibile caricare lo stato esportazione", "queueError": "Impossibile accodare l’esportazione", "loading": "Caricamento…", "disabled": "Esportazione disabilitata. Apri sincronizzazione per verificarne la configurazione.", "active": "In attesa del completamento di {count} operazioni.", "running": "Esportazione in corso…", "pending": "{count} aggiornamenti in coda per esportazione.", "idle": "Nessun aggiornamento in attesa.", "lastCommit": "Ultimo commit pubblicato:", "lastAttempt": "Ultimo tentativo: {date}", "queuing": "Accodamento…", "queue": "Esporta ora / riprova" }, "syncQueue": { "preparing": "Preparazione sincronizzazione...", "queued": "Sincronizzazione salvata. Segui i progressi nello storico qui sotto.", "start": "Avvia sincronizzazione", "description": "La sincronizzazione prosegue in background. Avanzamento e tentativi sicuri restano nello storico anche dopo aver chiuso la pagina.", "failed": "Impossibile accodare la sincronizzazione" }, "publicationPreflight": { "affectedPages": "Pagine pubbliche interessate", "scheduleInvalid": "Scegli una data valida. La fine di un evento deve seguire il suo inizio.", "description": "I controlli usano i valori del modulo. La disponibilita remota di immagini e link non viene verificata.", "slugNormalized": "Il percorso pubblico usera lo slug normalizzato indicato sotto.", "imageInvalid": "Usa un percorso locale o un URL immagine HTTP/HTTPS senza credenziali.", "imageMissing": "Nessuna copertina selezionata. La pagina usera la propria immagine alternativa.", "title": "Controlli pubblicazione", "ready": "Immagine, link e date hanno superato i controlli locali.", "linksInvalid": "Controlla i link del contenuto: sono ammessi link locali, HTTP/HTTPS ed email.", "schedulePast": "La data selezionata e nel passato. Controllala prima di pubblicare.", "previewHint": "I link mostrano le pagine pubbliche attuali. Usa Anteprima per vedere il contenuto non salvato. Lo slug finale potrebbe ricevere un suffisso se gia utilizzato." }, "performance": { "title": "Prestazioni delle richieste", "scope": "Misure server delle API HK autenticate e di alcune pagine pubbliche. Scegli un gruppo qui sotto.", "refresh": "Aggiorna", "shared": "Diagnostica condivisa tramite Redis.", "local": "Diagnostica locale di questa istanza; si azzera al riavvio.", "retention": "Fino a 200 campioni per gruppo, conservati per un’ora. La raccolta non è garantita per ogni richiesta.", "search": "Percorso o ID operazione", "sort": "Ordine", "slowest": "Prima le più lente", "recent": "Prima le più recenti", "threshold": "Filtro durata", "all": "Tutte le durate", "slow": "Almeno 1 secondo", "explanation": "Il tempo database include le query completate e le attese del pool. Il tempo esterno copre solo i download curl monitorati. Le chiamate simultanee possono sommare più della durata totale: questi valori non sono parti esclusive del totale.", "empty": "Nessuna richiesta corrispondente. Usa l’HK, poi aggiorna questa pagina.", "database": "Database", "external": "Download monitorati", "calls": "{count} chiamate", "failures": "{count} errori", "streaming": "Risposta in streaming: la misura termina alla creazione della risposta, non alla fine dell’operazione.", "operation": "ID operazione", "kind": "Gruppo di misurazione", "adminApi": "API HK", "publicPage": "Pagine pubbliche", "applyFilters": "Applica filtri", "publicBoundary": "Le misure pubbliche coprono il componente server principale di /me, news, profili, eventi e ricerca. Escludono metadati, componenti figli renderizzati separatamente, rete e rendering nel browser. Gli esiti non sono codici HTTP. Le esecuzioni durante la build statica sono escluse.", "outcomes": { "completed": "Componente completato", "failed": "Componente fallito", "redirect": "Reindirizzamento", "not-found": "Pagina non trovata" } }, "importProgress": { "validating": "Verifica dati locali", "downloading": "Download dei file", "converting": "Conversione in Nitro", "checking_sources": "Ricerca nelle sorgenti configurate", "writing_db": "Salvataggio SQL e catalogo", "writing_furnidata": "Aggiornamento furnidata", "translating": "Aggiornamento traduzioni", "current": "Fase attuale: {phase}", "last": "Ultima fase: {phase}", "elapsed": "{seconds}s in questa fase", "recovered": "Bundle recuperato da {source} · revisione {revision}. Classname, tipo e revisione corrispondenti; identità del bundle verificata.", "recoveryHint": "Puoi continuare. Se i file originali non sono disponibili, l’importatore cercherà nelle sorgenti attive lo stesso classname, tipo e revisione, verificando poi il bundle Nitro. Puoi comunque allegare manualmente i file mancanti." }, "deliveries": { "title": "Aggiornamenti in background", "scope": "Ultimi 100 aggiornamenti per news e modifiche multiple al catalogo. Il salvataggio dei contenuti e gli aggiornamenti successivi sono mostrati separatamente. Gli import si trovano nella cronologia import.", "refresh": "Aggiorna", "empty": "Nessuna consegna registrata.", "retry": "Riprova consegna", "retried": "Consegna riaccodata.", "retryError": "Consegna fallita. Controlla la diagnostica dei servizi prima di riprovare.", "hotel": "Aggiornamento catalogo hotel", "export": "Richiesta export Git catalogo", "actor": "Staff #{id}", "attempts": "{count} tentativi", "states": { "pending": "In attesa", "running": "In consegna", "done": "Consegnata", "failed": "Da verificare", "unknown": "Stato sconosciuto" }, "news": "Aggiornamento news", "unknown": "Altro aggiornamento", "contextUnavailable": "Dettagli del contenuto non disponibili", "changedOffers": "{count} offerte del catalogo", "system": "Sistema", "unknownTime": "Orario non disponibile", "savedAlready": "Il contenuto è salvato. Questo aggiornamento viene eseguito in background.", "nextAttempt": "Prossimo tentativo automatico: {time}", "attemptsExhausted": "I tentativi automatici sono esauriti. Dopo aver controllato il servizio, puoi riprovare da qui.", "openContent": "Apri contenuto", "diagnostics": "Diagnostica servizi", "technicalDetails": "Riferimenti tecnici", "operationReference": "Operazione: {id}", "deliveryReference": "Aggiornamento: {id}", "openImports": "Cronologia import", "unavailable": "Impossibile caricare gli aggiornamenti. Prova ad aggiornare la pagina.", "completed": { "news": "Cache delle news aggiornata.", "hotel": "La richiesta di aggiornamento catalogo è stata inviata all’hotel. Non conferma che ogni client si sia aggiornato.", "export": "La richiesta di esportazione è stata elaborata. Controlla la cronologia Git per il risultato finale; se l’esportazione è disattivata, nessun file viene pubblicato.", "unknown": "Elaborazione in background completata." }, "issues": { "news": "Impossibile aggiornare la cache delle news. Controlla Redis e il worker.", "hotel": "Impossibile inviare l’aggiornamento catalogo all’hotel. Controlla la connessione con l’emulatore.", "export": "Impossibile accodare l’esportazione Git. Controlla la configurazione e il worker.", "unknown": "L’aggiornamento non è riuscito. Controlla la diagnostica servizi." } }, "studio": { "studioClient": { "Studio": "Studio", "furnidata": "furnidata", "results": "results", "incatalog": "in catalog", "missingnitro": "missing nitro", "total": "total", "present": "present", "teimporteren": "te importeren", "Catalog": "Catalog", "official": "(official)", "Alltypes": "All types", "Flooritems": "Floor items", "Wallitems": "Wall items", "Allstatuses": "All statuses", "Notimported": "Not imported", "Imported": "Imported", "Incatalog": "In catalog", "Missingnitro": "Missing nitro", "Missingfurnidata": "Missing furnidata", "Missingcatalogentry": "Missing catalog entry", "Defaultorder": "Default order", "NameAZ": "Name A–Z", "ClassnameAZ": "Classname A–Z", "Category": "Category", "Importedfirst": "Imported first", "Notimportedfirst": "Not imported first", "Resetfilters": "Reset filters", "nonitro": "no nitro", "Importoptions": "Import options", "Translation": "· Translation", "Speed": "Speed", "1gentle": "1 (gentle)", "4recommended": "4 (recommended)", "12turbo": "12 (turbo)", "Translate": "Translate", "Languages": "Languages", "All": "All", "None": "None", "Translateentirecatalog": "Translate entire catalog", "Defaultforfutureimports": "Default for future imports", "selectedinthisview": "selected in this view", "Clear": "Clear", "Importselected": "Import selected (", "RebuildNitro": "Rebuild Nitro (", "Delete": "Delete (", "SomeselectedfurnitureishiddenbyyourfiltersActionsapplytothevisibleselection": "Some selected furniture is hidden by your filters. Actions apply to the visible selection.", "Tryagain": "Try again", "Nonitro": "No nitro", "Nofurnidata": "No furnidata", "Nocatalog": "No catalog", "New": "New", "Name": "Name", "Classname": "Classname", "Type": "Type", "Status": "Status", "Actions": "Actions", "Loadingmore": "Loading more…", "Scrollformore": "Scroll for more", "Endofresults": "End of results", "Deleteimportedfurni": "Delete imported furni", "Thispermanentlyremoves": "This permanently removes", "fromitems_baseandthecatalogplusitsassetfiles": "from items_base and the catalog, plus its asset files.", "Cancel": "Cancel", "Delete`": "Delete", "imported": "imported", "failed": "failed", "Retryfailed": "Retry failed (", "Closesummary": "Close summary", "Stopimport": "Stop import", "Viewitemdetails": "View item details (", "Showing": "Showing", "items": "items", "Categories": "Categories", "Allcategories": "All categories", "Nomatchingcategories": "No matching categories.", "Duckets": "Duckets", "Diamonds": "Diamonds", "Organizeimports": "Organize imports", "1Select2Review3Import": "1. Select → 2. Review → 3. Import", "Source": "Source:", "Destination": "Destination:", "localcatalogfurnidatanitroandicons": "local catalog, furnidata, .nitro and icons", "Translation`": "Translation:", "Selection": "Selection:", "furnitureitems": "furniture items", "Checkingsourcefiles": "Checking source files…", "checked": "checked", "Retrysourcecheck": "Retry source check", "SomesourcescouldnotbeverifiedTheimportwillstilltrytodownloadtheirfiles": "Some sources could not be verified. The import will still try to download their files.", "Sourcefilesnotfoundbypreliminarycheck": "Source files not found by preliminary check:", "Checkinglocaldataandassets": "Checking local data and assets…", "Retryinspection": "Retry inspection", "InspectionisincompleteCloseandretrybeforeimporting": "Inspection is incomplete. Close and retry before importing.", "readytoimport": "ready to import ·", "alreadyinSQLcompletemissingdata": "already in SQL (complete missing data) ·", "conflicts": "conflicts ·", "sourcefilewarnings": "source file warnings", "SomelocalfilescouldnotbeverifiedReviewtheitemdetailsbeforecontinuing": "Some local files could not be verified. Review the item details before continuing.", "Validatingfile": "Validating file…", "Onlythe": "Only the", "eligibleitemsbelowwillbesubmittedExistingfurniturekeepsitslocalIDsSQLsettingsandcatalogoffersMissingassetsandcatalogentriesarecompletedfurnidataisrefreshedConflictsareexcluded": "eligible items below will be submitted. Existing furniture keeps its local IDs, SQL settings and catalog offers. Missing assets and catalog entries are completed; furnidata is refreshed. Conflicts are excluded.", "AutomaticcategoriesandpricesbelowareestimatesSourcerulesmayoverridethemfinalresultsappearintheimportsummary": "Automatic categories and prices below are estimates. Source rules may override them; final results appear in the import summary.", "credits": "credits +", "points": "points", "Previousitems": "Previous items", "Page": "Page", "Nextitems": "Next items" }, "sync": { "catalogGitConfiguration": { "Giteaconnectionsettings": "Gitea connection settings", "ConnectyourselfhostedGitearepositoryoverHTTPSTheCMSmanagesitsowncheckoutnoGitspecificenvsettingsareneeded": "Connect your self-hosted Gitea repository over HTTPS. The CMS manages its own checkout; no Git-specific .env settings are needed.", "Provider": "Provider:", "Giteaselfhosted": "Gitea self-hosted", "RepositoryURL": "Repository URL", "Branch": "Branch", "Giteausername": "Gitea username", "Giteaaccesstoken": "Gitea access token", "ThetokenisstoredencryptedandisneverreturnedtothebrowserChangingrepositoryorusernamerequiresenteringthetokenagain": "The token is stored encrypted and is never returned to the browser. Changing repository or username requires entering the token again.", "Automaticallyexportcatalogchanges": "Automatically export catalog changes", "Testconnection": "Test connection", "SyncAllSources": "Sync All Sources", "Scanconfiguredsourcesandautomaticallyimportanyfurniturethatisnotyetpresentinyourhotel": "Scan configured sources and automatically import any furniture that is not yet present in your hotel.", "CloneSources": "Clone Sources", "Scanallconfiguredclonesourcesandautomaticallyimportanyfurniturethatisnotyetpresentinyourhotel": "Scan all configured clone sources and automatically import any furniture that is not yet present in your hotel.", "OfficialFurnidata": "Official Furnidata", "ScantheofficialHabbofurnidataandautomaticallyimportanyfurniturethatyourhoteldoesnthaveyet": "Scan the official Habbo furnidata and automatically import any furniture that your hotel doesn't have yet.", "CatalogAudit": "Catalog Audit", "Scanyourentirefurniturecatalogformissingentriesbrokenreferencesmissingfilesanditemsavailablefromclonesources": "Scan your entire furniture catalog for missing entries, broken references, missing files, and items available from clone sources.", "Nitrocleanup": "Nitro cleanup", "Scanthenitrodirectoriesforfakebundlesnomatchingfurnitureandbrokenbundlesunparseableandremovethem": "Scan the nitro directories for fake bundles (no matching furniture) and broken bundles (unparseable) and remove them.", "RepairMissingIcons": "Repair Missing Icons", "ScanallexistingfurnitureanddownloadanymissingiconfilesIconsareextractedfromlocalnitrobundlesorfetchedfromconfiguredclonesources": "Scan all existing furniture and download any missing icon files. Icons are extracted from local .nitro bundles or fetched from configured clone sources.", "UploadnitroFurniture": "Upload .nitro Furniture", "UploadanitrobundleandoptionalicontoimportfurnitureintothehotelThedatabaseentrycatalogitemandFurnitureDatajsonwillbeupdatedautomatically": "Upload a .nitro bundle and optional icon to import furniture into the hotel. The database entry, catalog item, and FurnitureData.json will be updated automatically.", "NewBanner": "New Banner", "Title": "Title", "Subtitle": "Subtitle", "ImageURL": "Image URL", "LinkURL": "Link URL", "Color": "Color", "StartDate": "Start Date", "EndDate": "End Date", "Active": "Active", "Order": "Order", "Cancel": "Cancel", "Nobannersyet": "No banners yet.", "Scheduled": "Scheduled" } }, "nitroQualityPanel": { "Scale": "Scale", "sprites": "sprites ·", "animationdefinitionsdirections": "animation definitions · directions", "ThisbundlecontainsnospritesatthisscaleMissingscale32doesnotbyitselfmeanthefurnitureisunusable": "This bundle contains no sprites at this scale. Missing scale 32 does not by itself mean the furniture is unusable.", "Sprite": "Sprite", "Thisspritecouldnotberendered": "This sprite could not be rendered.", "InspectthesavedbundleatbothscalesPreviewsshowindividualspritesnottheassembledfurnitureoranimationplayback": "Inspect the saved bundle at both scales. Previews show individual sprites, not the assembled furniture or animation playback.", "Recheck": "Recheck", "Checkingscalesandtexturereferences": "Checking scales and texture references…", "Generatescale32from64": "Generate scale 32 from 64", "AddsderivedartworkusingnearestneighborreductionExistingscale32ispreservedPreviewusesthesavedbundleandshowsonespriteatitsoriginalpixelsize": "Adds derived artwork using nearest-neighbor reduction. Existing scale 32 is preserved. Preview uses the saved bundle and shows one sprite at its original pixel size.", "Saveorresetyourpendingeditsfirst": "Save or reset your pending edits first.", "spriteentrieswillbeaddedCheckpositioningandanimationsintheclientaftersaving": "sprite entries will be added. Check positioning and animations in the client after saving.", "spriteswereskippedbecausethesourcebundlehasnousableartworkforthem": "sprite(s) were skipped because the source bundle has no usable artwork for them.", "Savewithbackup": "Save with backup", "Discardpreview": "Discard preview", "SavedAcopyoftheoriginalbundleispreserved": "Saved. A copy of the original bundle is preserved.", "Restoreoriginalbundle": "Restore original bundle", "LocalfurnidatacouldnotbereadItsvaluesarenotverified": "Local furnidata could not be read. Its values are not verified.", "Field": "Field", "Localnow": "Local now", "Source": "Source", "SourcevaluesarecomparedwithlocaldataImportmayremapIDsandtranslatenamesExistingfurniturekeepsitslocalIDsandSQLsettingsnewfurniturereceivesafreelocalIDwhenthesourceIDisoccupied": "Source values are compared with local data. Import may remap IDs and translate names. Existing furniture keeps its local IDs and SQL settings; new furniture receives a free local ID when the source ID is occupied.", "SQLrecordsandcatalogoffers": "SQL records and catalog offers", "Item": "Item #", "Sprite`": "· Sprite #", "NolocalSQLitem": "No local SQL item.", "Offer": "Offer #", "Page": "· Page #", "credits": "credits +", "points": "points", "Checkinglocaldataandassets": "Checking local data and assets…", "Retryinspection": "Retry inspection", "Missing": "Missing:", "DuplicaterecordsormismatchedIDstypesrequirereviewbeforerepair": "Duplicate records or mismatched IDs/types require review before repair.", "SomelocaldatacouldnotbecheckedRetryverificationbeforerepair": "Some local data could not be checked. Retry verification before repair.", "RepairaddsmissingpartsandpreservesexistingIDssettingsfurnidataandcatalogoffersMissingoffersusetheautomaticcategoryandpriceshownbelow": "Repair adds missing parts and preserves existing IDs, settings, furnidata and catalog offers. Missing offers use the automatic category and price shown below.", "Rechecklocalstate": "Recheck local state", "Localinspectionunavailable": "Local inspection unavailable.", "Furnidetail": "Furni detail", "rev": "rev", "Autoimportready": "Auto-import ready", "Automaticplacement": "Automatic placement", "Category": "Category", "Price": "Price", "credits`": "credits", "Importaddtocatalog": "Import & add to catalog", "ThisfurniisintheDBbutthenitrofileismissing": "This furni is in the DB but the .nitro file is missing.", "Regeneratenitro": "Regenerate .nitro", "Editnitro": "Edit nitro", "Deleteimportedfurni": "Delete imported furni", "selected": "selected", "found": "found", "copies": "copies", "days": "days", "Exportmanifest": "Export manifest", "Onlyshowfilesolderthan": "Only show files older than", "Hiderecentfiles": "Hide recent files", "assetfilesscanned": "asset files scanned", "Fakenitrosnomatchingitem": "Fake nitros (no matching item)", "Brokennitrosunparseable": "Broken nitros (unparseable)", "DeletingabrokennitroleavesitsiteminthedatabasewithoutabundlepreferredownloadingitorletthecatalogauditreobtainitlaterDatabaserowsareneverremovedbythistool": "Deleting a broken .nitro leaves its item in the database without a bundle — prefer re-downloading it, or let the catalog audit re-obtain it later. Database rows are never removed by this tool.", "OnlyassetfilesaretouchedFurnitureDatajsonanddatabaserowsstayintact": "Only asset files are touched — FurnitureData.json and database rows stay intact.", "ScaneveryfurniassetdirectorytofindfakeandbrokennitrobundlesplusorphanedSWFsandiconsDeletethemredownloadthebrokenonesorautocleanoldleftovers": "Scan every furni asset directory to find fake and broken nitro bundles plus orphaned SWFs and icons. Delete them, re-download the broken ones, or auto-clean old leftovers." } }, "sounds": { "soundsClient": { "All": "All (", "SingleMP3s": "Single MP3s (", "Composition": "Composition (", "UploadMP3": "Upload MP3", "Type": "Type", "Code": "Code", "Name": "Name", "Author": "Author", "Length": "Length", "Used": "Used", "PreviewSamples": "Preview / Samples", "Actions": "Actions", "Nosongdisksuploadedyet": "No song disks uploaded yet.", "ClickUploadMP3togetstarted": "Click “Upload MP3” to get started.", "Noresultsfortheactivefilters": "No results for the active filters.", "Trax": "Trax", "sample": "sample:", "Play": "▶ Play", "Delete": "Delete “", "Thissongdiskiscurrentlyusedby": "This song disk is currently used by", "catalogitem": "catalog item", "Deletingitwillresetthosecatalogitemstonosongdisk": ". Deleting it will reset those catalog items to “no song disk”.", "TheMP3filewillberemovedfromdisk": "The MP3 file will be removed from disk.", "Thisactioncannotbeundone": "This action cannot be undone.", "Cancel": "Cancel", "Delete`": "Delete", "UploadSongDisk": "Upload Song Disk", "UploadanMP3fileMaxsize10MBThecodewillbegeneratedautomaticallyas": "Upload an MP3 file. Max size 10 MB. The code will be generated automatically as", "song_id": "song_{id}", "MP3file": "MP3 file", "Upload": "Upload", "Edit": "Edit", "compositionof": "— composition of", "samplesEditthe": "samples. Edit the", "track": "track", "fieldonlyifyouknowwhatyouaredoing": "field only if you know what you are doing.", "theMP3filecannotbereplaceddeleteandreuploadifyouneedtochangetheaudio": "— the MP3 file cannot be replaced: delete and re-upload if you need to change the audio.", "Lengthseconds": "Length (seconds)", "TrackTraxcomposition": "Track (Trax composition)", "Format": "Format:", "channelsample_idlengthsample_idlength": "channel:sample_id,length;sample_id,length;…", "silenceDetectedsampleIDs": "= silence. Detected sample IDs:", "Save": "Save", "Filesareservedfrom": "Files are served from", "configurablein": "(configurable in", "Settings": "Settings", "Stop": "Stop", "PlayTrax": "Play Trax", "deleteSuccess": "Song disk deleted", "deleteError": "Failed to delete song disk", "searchPlaceholder": "Search by title or code...", "filterAll": "All", "filterSingle": "Single MP3s", "filterComposition": "Compositions" } }, "moderation": { "cfh": { "id": { "cfhDetail": { "CFH": "CFH #", "Type": "Type", "Category": "· Category", "CallForHelpReport": "Call For Help Report", "Room": "· Room #", "ReportMessage": "Report Message", "Reporter": "Reporter", "Rank": "Rank", "Unknownuser": "Unknown user", "ReportedUser": "Reported User", "bans": "bans", "Kick": "Kick", "Mute": "Mute", "Alert": "Alert", "BanHistory": "Ban History (", "Actions": "Actions", "Status": "Status", "Open": "Open", "Picked": "Picked", "Closed": "Closed", "Assigntome": "Assign to me", "CloseTicket": "Close Ticket", "AssignedModerator": "Assigned Moderator", "Unassigned": "Unassigned", "Details": "Details", "Created": "Created", "Room`": "Room", "Category`": "Category", "Score": "Score", "QuickActions": "Quick Actions", "ResetPassword": "Reset Password", "Disconnect": "Disconnect", "Online": "Online", "SendInGameAlert": "Send In-Game Alert", "MuteUnmute": "Mute / Unmute", "Unmute": "Unmute", "SendCreditsRCON": "Send Credits (RCON)", "SendCredits": "Send Credits", "TradelockCMSDB": "Trade lock (CMS DB)", "Lock7d": "Lock 7d", "Clearlock": "Clear lock", "PasswordReset": "Password Reset", "Newpasswordgeneratedfor": "New password generated for", "Copyitnowitwontbeshownagain": ". Copy it now — it won't be shown again.", "Bans": "Bans", "Unban": "Unban", "Ban": "Ban", "ActiveBan": "Active Ban", "Reason": "Reason", "Durationhours": "Duration (hours)", "Account": "Account", "Machine": "Machine", "History": "History", "cfhId": "CFH #{id}", "typeCategory": "Category: {category}", "title": "Call for Help #{id}", "roomMeta": "Room #{id}", "reportMessage": "Report Message", "noDescription": "No description provided" } } }, "team": { "page": { "OnlineNow": "Online Now", "TotalStaff": "Total Staff", "Aboveminrank": "Above min rank", "Name": "Name", "Rank": "Rank", "CFH": "CFH", "Tickets": "Tickets", "Actions": "Actions", "LastSeen": "Last Seen", "Web": "Web", "Mod": "Mod", "UserActions": "User Actions", "UserID": "User ID", "KickDisconnect": "Kick / Disconnect", "Unmute": "Unmute", "Mute": "Mute", "RoomActions": "Room Actions", "RoomID": "Room ID", "KickAllFromRoom": "Kick All From Room", "BroadcastAlert": "Broadcast Alert", "HotelAlert": "Hotel Alert", "StaffAlert": "Staff Alert", "RecentCFHTickets": "Recent CFH Tickets", "Viewall": "View all", "NoCFHtickets": "No CFH tickets", "RecentModActions": "Recent Mod Actions", "Norecentactions": "No recent actions", "Online": "Online", "Offline": "Offline", "Modview": "Mod view", "Public": "Public", "Motto": "Motto", "ReadonlybanlistformoderatorsCreateliftbansrequiresthefulladminpanel": "Read-only ban list for moderators. Create/lift bans requires the full admin panel.", "rank": "· rank" } } }, "prefixes": { "prefixesClient": { "UserPrefixes": "User Prefixes", "Blacklist": "Blacklist", "Settings": "Settings", "Search": "Search", "Add": "Add", "User": "User", "Prefix": "Prefix", "Color": "Color", "Icon": "Icon", "Effect": "Effect", "Active": "Active", "Date": "Date", "Actions": "Actions", "Noprefixesfound": "No prefixes found", "Previous": "Previous", "Page": "Page", "Next": "Next", "ForbiddenWords": "Forbidden Words", "Noblacklistwords": "No blacklist words", "PrefixSettings": "Prefix Settings", "MaxLength": "Max Length", "MinimumRank": "Minimum Rank", "PriceCredits": "Price (Credits)", "PricePoints": "Price (Points)", "PointsType": "Points Type", "0Duckets5Diamondsetc": "0 = Duckets, 5 = Diamonds, etc.", "SaveSettings": "Save Settings", "Closeprefixeditor": "Close prefix editor", "Username": "Username", "Text": "Text", "ColorHEXormultiFF000000FF00": "Color (HEX or multi: #FF0000,#00FF00)", "Cancel": "Cancel", "confirmDeleteTitle": "Delete Prefix", "confirmDeleteDesc": "Are you sure you want to delete this user prefix?", "confirmDelete": "Delete", "cancel": "Cancel", "successPrefixDeleted": "Prefix deleted successfully", "successPrefixUpdated": "Prefix updated successfully", "successPrefixCreated": "Prefix created successfully", "successWordAdded": "Blacklist word added", "successWordRemoved": "Blacklist word removed", "successSettingsSaved": "Prefix settings saved", "tabUserPrefixes": "User Prefixes", "tabBlacklist": "Blacklist", "tabSettings": "Settings" } }, "catalogTree": { "CatalogStructure": "Catalog Structure", "pages": "pages", "All": "All", "Showallpages": "Show all pages", "Showenabledonly": "Show enabled only", "Off": "Off", "Showdisabledonly": "Show disabled only", "Expandall": "Expand all", "Collapseall": "Collapse all", "result": "result", "for": "for \"", "Createsubpage": "Create subpage", "OFF": "OFF", "Layout": "Layout", "Items": "Items", "Subpages": "Subpages", "Icon": "Icon", "Visible": "Visible", "Enabled": "Enabled", "RightclickforactionsDoubleclicktoopen": "Right-click for actions · Double-click to open", "EditPage": "Edit Page", "CopyID": "Copy ID", "CreateSubpage": "Create Subpage", "Delete": "Delete", "QuickAdd": "Quick Add", "CtrlK": "Ctrl+K", "QuickAddFurni": "Quick Add Furni", "Typeatleast2characterstosearch": "Type at least 2 characters to search", "Nofurnifoundfor": "No furni found for \"", "Add": "Add →", "SelectCatalogIcon": "Select Catalog Icon", "icons": "icons", "None": "None", "Noiconsfound": "No icons found", "images": "images", "Clear": "Clear", "Noimagesfound": "No images found", "Noitemsinthispageyet": "No items in this page yet", "Shoppreview": "Shop preview ·", "items": "items", "OFFER": "OFFER", "LTD": "LTD", "Free": "Free", "Loading": "Loading…", "Nosong": "— No song —", "Use": "Use \"" }, "catalogManager": { "inlineEditor": { "Selectapagefromthetreetoedit": "Select a page from the tree to edit", "Parent": "· Parent:", "Save": "Save", "Settings": "Settings", "Items": "Items", "Translate": "Translate", "Caption": "Caption", "Layout": "Layout", "Order": "Order", "MinRank": "Min Rank", "Icon": "Icon", "Headline": "Headline", "Teaser": "Teaser", "Textfields": "Text fields", "hascontent": "has content", "Text1": "Text 1", "Text2": "Text 2", "TextDetails": "Text Details", "TextTeaser": "Text Teaser", "Special": "Special", "Translatetoolsareavailablefortheshopcatalogonly": "Translate tools are available for the shop catalog only.", "BCItems": "BC Items (", "AddItem": "Add Item", "Retry": "Retry", "Noitemsinthispage": "No items in this page.", "Name": "Name", "ItemIDs": "Item IDs", "ExtraData": "Extra Data", "Actions": "Actions", "CatalogName": "Catalog Name", "ItemIDssemicolonseparated": "Item IDs (semicolon-separated)", "Cancel": "Cancel", "Expandall": "Expand all", "Collapseall": "Collapse all", "Newsubpage": "New subpage", "pages": "pages", "Sortmode": "Sort mode", "result": "result", "Nopagesinthiscategory": "No pages in this category", "Createapagewiththebuttonorswitchtosortmodetoreorderexistingones": "Create a page with the + button, or switch to sort mode to reorder existing ones.", "NosubpagesClicktocreateone": "No subpages. Click + to create one.", "selected": "selected", "Enable": "Enable", "Disable": "Disable", "Delete": "Delete", "Clear": "Clear", "root": "root", "enabled": "enabled", "items": "items", "CtrlS": "Ctrl+S", "save": "save", "search": "search", "CtrlK": "Ctrl+K", "quickadd": "quick add", "OFF": "OFF", "Edit": "Edit", "CopyID": "Copy ID", "Addsubpage": "Add subpage", "Duplicatepage": "Duplicate page", "Auto": "Auto", "Sort": "Sort", "Use": "Use", "layout": "layout", "Duckets": "Duckets", "Diamonds": "Diamonds", "Editpage": "Edit page", "CtrlShiftF": "Ctrl Shift F" } }, "helpQuestions": { "id": { "page": { "Edithelpcenterentry": "Edit help-center entry", "HelpCenter": "← Help Center", "Error": "Error:", "Buttoncolor": "Button color", "Buttonbordercolor": "Button border color", "Smallbox": "Small box", "Save": "Save", "Deleteentry": "Delete entry", "Newhelpcenterentry": "New help-center entry", "Create": "Create", "Pos": "Pos.", "Button": "Button", "Newadvertisement": "New advertisement", "Advertisements": "← Advertisements", "navigator_flatcats": "navigator_flatcats", "Caption": "Caption", "Captionsave": "Caption (save)", "Minrank": "Min rank", "Maxusers": "Max users", "Cantrade": "Can trade", "Public": "Public", "Listtype": "List type", "navigator_publics": "navigator_publics", "Publiccat": "Public cat", "Visible": "Visible" } } }, "themeBuilder": { "scopeForm": { "AddScope": "+ Add Scope", "NewScope": "New Scope", "Cancel": "Cancel", "Name": "Name", "Type": "Type", "Domain": "Domain", "Module": "Module", "Selectmodule": "Select module...", "RoutePath": "Route Path", "ParentScope": "Parent Scope", "Noneinheritsfromglobal": "None (inherits from global)", "CreateScope": "Create Scope", "ThemeBuilder": "Theme Builder", "CreateandmanagescopedthemesfordifferentpartsofyoursiteThemesinheritfromparentscopesonlyoverridewhatyouneed": "Create and manage scoped themes for different parts of your site. Themes inherit from parent scopes — only override what you need.", "Scopecreated": "Scope created.", "Scopeupdated": "Scope updated.", "Scopedeleted": "Scope deleted.", "Themevaluessaved": "Theme values saved.", "Scopeduplicated": "Scope duplicated.", "Selectorcreateascopetostartediting": "Select or create a scope to start editing.", "OFF": "OFF", "ThemeScopes": "Theme Scopes", "NoscopescreatedyetAddonebelow": "No scopes created yet. Add one below.", "Rename": "Rename" } }, "referrals": { "title": "Referral", "subtitle": "Sistema di invito", "referralsToday": "Referral oggi", "referralsTotal": "Referral totali", "invitedTotal": "Inviti conteggiati", "claims": "Ricompense riscattate", "settings": "Impostazioni ricompensa", "needed": "Referral necessari", "rewardAmount": "Importo ricompensa", "rewardCurrency": "Valuta ricompensa", "blockSameIp": "Rifiuta i referral che condividono l'IP attuale dell'invitante", "save": "Salva impostazioni", "saving": "Salvataggio…", "saved": "Impostazioni referral salvate.", "saveError": "Le impostazioni referral non sono state salvate.", "recent": "Referral recenti", "unavailable": "I dati dei referral sono temporaneamente non disponibili.", "empty": "Nessun referral ancora.", "inviter": "Invitante", "invitee": "Utente invitato", "ip": "IP", "date": "Data" }, "dailyRewards": { "title": "Ricompense di accesso giornaliere", "subtitle": "Programma ricompense di accesso giornaliere", "enabled": "Stato funzionalità", "yes": "Attivato", "no": "Disattivato", "scheduleDays": "Giorni del programma", "claimsToday": "Riscatti oggi", "claimsTotal": "Riscatti totali", "status": "Stato funzionalità", "statusHint": "Quando disattivato, la carta ricompense viene nascosta e i nuovi riscatti vengono rifiutati.", "disable": "Disattiva", "enable": "Attiva", "schedule": "Programma ricompense", "day": "Giorno {day}", "reward": "Ricompensa", "amount": "Importo", "actions": "Azioni", "addDay": "Giorno", "add": "Aggiungi giorno", "save": "Salva", "saving": "Salvataggio…", "saved": "Programma ricompense salvato.", "cancel": "Annulla", "edit": "Modifica", "delete": "Elimina", "created": "Giorno ricompensa aggiunto.", "updated": "Giorno ricompensa aggiornato.", "deleted": "Giorno ricompensa rimosso.", "saveError": "Il giorno ricompensa non è stato salvato.", "deleteError": "Il giorno ricompensa non è stato rimosso.", "confirmDeleteTitle": "Rimuovi giorno ricompensa", "confirmDeleteBody": "Questo giorno ricompensa non verrà più concesso. I riscatti passati restano registrati." } }, "radioRequests": { "formTitle": "Invia una richiesta", "formSubtitle": "Chiedi al DJ di passare la tua traccia preferita", "songLabel": "Brano", "songPlaceholder": "Titolo del brano", "artistLabel": "Artista", "artistPlaceholder": "Nome dell'artista (facoltativo)", "submitButton": "Invia richiesta", "loginToRequest": "Accedi per inviare una richiesta.", "latestTitle": "Richieste recenti", "latestSubtitle": "I brani richiesti più di recente", "empty": "Ancora nessuna richiesta.", "colSong": "Brano", "colArtist": "Artista", "colRequester": "Richiedente", "colDate": "Data", "colStatus": "Stato", "statusPending": "In attesa", "statusApproved": "Approvata", "statusPlayed": "Passata", "success": { "posted": "Richiesta inviata." }, "errors": { "empty": "Inserisci il titolo del brano o l'artista.", "invalid": "Richiesta non valida.", "ratelimit": "Stai inviando troppo in fretta. Attendi un momento e riprova.", "error": "Qualcosa è andato storto. Riprova." } }, "mod": { "title": "Pannello moderazione", "badge": "Mod", "overviewTitle": "Panoramica moderatore", "overviewSubtitle": "CFH, azioni rapide e ban senza accesso admin completo.", "shortcutsTitle": "Collegamenti", "nav": { "overview": "Panoramica", "cfh": "Call for Help", "actions": "Azioni rapide", "bans": "Ban", "fullAdmin": "Admin completo", "backToSite": "Torna al sito", "tickets": "Supporto CMS", "helpTickets": "Help center", "users": "Utenti", "team": "Team" }, "usersTitle": "Giocatori", "usersSubtitle": "Lookup senza email o IP — usa l’admin completo per i campi sensibili.", "usersEmpty": "Nessun giocatore trovato", "usersSearchPlaceholder": "Cerca username, motto o ID…", "usersRank": "rank", "usersPublicProfile": "Profilo pubblico", "usersPiiNote": "Email, IP e valuta sono nascosti nel pannello mod. Apri l’admin completo se hai accesso.", "usersJoined": "Iscrizione", "usersLastLogin": "Ultimo login", "usersLastOnline": "Ultima presenza", "stats": { "openCfh": "CFH aperti", "bansToday": "Ban oggi", "modsOnline": "Mod online", "quickActions": "Azioni rapide", "quickActionsHint": "Kick, mute, alert", "openTickets": "Ticket CMS aperti", "openHelpTickets": "Help ticket aperti", "team": "Team mod", "teamHint": "Staff online e carico" } }, "studio": { "title": "Studio", "sourceFurnidata": "{source} furnidata", "searchPlaceholder": "Search furni, classnames, keywords… (/)", "results": "{count} results", "inDb": "in DB", "inCatalog": "in catalog", "missingNitro": "missing nitro", "globalTranslation": "Translation (global)", "catalogTree": "Catalog", "source": "Furni source", "officialSource": "(official)", "type": "Type", "allTypes": "All types", "floorItems": "Floor items", "wallItems": "Wall items", "category": "Category", "allCategories": "All categories", "status": "Status", "allStatuses": "All statuses", "imported": "Imported", "inCatalogStatus": "In catalog", "missingNitroStatus": "Missing nitro", "sort": "Sort", "defaultOrder": "Default order", "nameAZ": "Name A–Z", "classnameAZ": "Classname A–Z", "categorySort": "Category", "importedFirst": "Imported first", "notImportedFirst": "Not imported first", "noNitro": "{count} no nitro", "gridView": "Grid view", "listView": "List view", "selectAll": "Select all", "selectedCount": "{count} selected", "clear": "Clear", "translate": "Translate", "noLanguages": "No languages", "allLanguages": "All languages", "languagesCount": "{count} languages", "languages": "Languages", "all": "All", "none": "None", "languageLabel": "Language {lang}", "translateAll": "Translate all", "translateAllTitle": "Translate the whole catalog into all languages (afterwards)", "importAuto": "Import {count} auto", "maintenance": { "title": "Catalog maintenance", "description": "Force the furniture tables to 100% consistency with FurnitureData.json. Every action runs inside a database transaction and rolls back on error.", "refresh": "Refresh", "currentHealth": "Current health", "itemsInBase": "{count} items in items_base", "loading": "Loading…", "statSpriteId": "sprite_id ≠ id", "hintSpriteId": "items_base sprite drift", "statOfferId": "offer_id ≠ id", "hintOfferId": "catalog offer drift", "statDuplicateClassnames": "Duplicate classnames", "hintDuplicateClassnames": "items_base item_name repeats", "statDuplicateCatalogRows": "Duplicate catalog rows", "hintDuplicateCatalogRows": "same product listed twice on a page", "statIdMismatch": "ID ≠ FurnitureData", "hintIdMismatch": "items_base id differs from furnidata", "statDuplicateBcCatalogRows": "Duplicate BC catalog rows", "hintDuplicateBcCatalogRows": "same product listed twice in builder club", "statDuplicateCatalogPages": "Duplicate catalog pages", "hintDuplicateCatalogPages": "same caption under the same parent (double links)", "optionSpriteId": "Fix sprite_id", "optionOfferId": "Fix catalog offer_id", "optionRemoveDuplicates": "Remove duplicates (items + catalog)", "optionReconcile": "Reconcile FurnitureData ↔ DB", "optionAlignIds": "Align items_base IDs to FurnitureData", "alignDescription": "Moves every items_base.id to the FurnitureData sprite id (source of truth). Rewrites all referencing tables.", "previewChanges": "Preview changes", "plannedIdMoves": "Planned ID moves: {moves}", "newItemsInsert": "New items to insert: {inserted}", "skipped": "Skipped (id occupied): {list}", "applyAlignment": "Apply alignment", "fixEverythingTitle": "Fix everything", "fixEverythingDescription": "Runs the selected repairs in order. Heavy operation — make a backup first.", "alsoMergeDuplicatePages": "Also merge duplicate catalog pages (double links)", "runSelected": "Run selected", "selectAtLeastOne": "Select at least one repair to run", "previewReady": "Preview ready", "previewFailed": "Preview failed", "toast": { "spriteFixed": "sprite_id fixed", "offerFixed": "catalog offer_id fixed", "duplicatesRemoved": "Duplicates removed (items + catalog)", "reconciled": "FurnitureData reconciled", "aligned": "items_base IDs aligned to FurnitureData", "allApplied": "All selected repairs applied", "failed": "Failed" } } }, "housekeeping": { "preview": { "badge": "Anteprima della struttura", "commandDisabled": "Ricerca e comandi saranno abilitati in un sottoprogetto successivo.", "backToSite": "Torna al sito" }, "navigation": { "skipToContent": "Vai al contenuto", "primary": "Aree housekeeping", "contextual": "Navigazione del dominio" }, "domains": { "operations": { "title": "Operazioni", "description": "Panoramica operativa e code giornaliere" }, "people": { "title": "Persone", "description": "Utenti, moderazione e supporto" }, "content": { "title": "Contenuti", "description": "Contenuti editoriali e coinvolgimento della community" }, "economy": { "title": "Economia", "description": "Operazioni di catalogo e shop" }, "hotel": { "title": "Hotel", "description": "Stanze, radio e strumenti per gli asset", "routes": { "themeManager": { "title": "Gestione temi", "description": "Salva, attiva, importa, esporta e pubblica temi personalizzati per l'hotel (sopravvivono agli aggiornamenti)", "currentThemeTitle": "Tema corrente", "currentThemeHint": "La palette e lo sfondo attualmente mostrati ai tuoi visitatori.", "saveLabel": "Salva tema", "savePlaceholder": "Nome del tema (es. Oro estivo)", "exportCurrent": "Esporta", "savedThemesTitle": "Temi salvati", "savedThemesHint": "Attiva un tema salvato in qualsiasi momento. I temi sono salvati nel database e restano attivi dopo gli aggiornamenti CMS.", "noThemes": "Nessun tema salvato — salvane uno qui sopra.", "active": "Attivo", "apply": "Applica", "export": "Esporta", "rename": "Rinomina", "renameSave": "OK", "delete": "Elimina", "deleteConfirm": "Eliminare il tema \"{name}\"?", "importTitle": "Importa un tema", "importHint": "Carica un file `.atom-theme.json` esportato qui, oppure un tema esportato dal Theme Builder.", "importNameLabel": "Nome", "importNamePlaceholder": "Sostituzione opzionale", "importFileLabel": "File del tema", "importApplyLabel": "Applica dopo l'importazione", "importButton": "Importa", "invalidFile": "Il file non è un tema JSON valido.", "presetsTitle": "Preset di partenza", "backgroundTitle": "Sfondo", "backgroundHint": "Imposta un'immagine di sfondo personalizzata per il sito pubblico usando un URL o caricando un file.", "backgroundPreviewLabel": "Anteprima", "backgroundUrlLabel": "URL immagine", "backgroundPositionLabel": "Posizione", "backgroundSizeLabel": "Dimensione", "backgroundRepeatLabel": "Ripetizione", "applyBackground": "Applica sfondo", "uploadButton": "Carica immagine…", "clearBackground": "Rimuovi sfondo", "backgroundEffectLabel": "Effetto", "backgroundEffectHint": "Anima lo sfondo pubblico con un livello delicato e abbinato al tema (l'aurora usa i colori primario/accento).", "backgroundEffect_none": "Nessuno (sfondo semplice)", "backgroundEffect_aurora": "Bagliore aurora", "backgroundEffect_particles": "Particelle fluttuanti", "backgroundEffect_aurora-particles": "Aurora + particelle", "backgroundEffectPreview": "Effetto: {effect} — mostrato dietro il sito pubblico.", "backgroundOverlayLabel": "Tinta di sovrapposizione", "backgroundOverlayOpacityLabel": "Intensità tinta", "notice": { "saved": "Tema salvato.", "applied": "Tema applicato.", "renamed": "Tema rinominato.", "deleted": "Tema eliminato.", "imported": "Tema importato.", "preset": "Preset applicato.", "background": "Sfondo aggiornato.", "importError": "Impossibile importare il file. Potrebbe essere troppo grande o non essere un'esportazione di un tema.", "backgroundError": "Immagine non caricata. Usa PNG, JPEG, GIF o WebP fino a 10MB." } }, "nitroCleanup": { "title": "Pulizia nitro", "description": "Scansiona e rimuovi i file asset furni falsi, danneggiati o orfani" } } }, "system": { "title": "Sistema", "description": "Configurazione, osservabilità e accesso" } }, "states": { "loading": { "title": "Caricamento in corso", "description": "Stiamo preparando gli strumenti di housekeeping disponibili." }, "empty": { "title": "Nessun contenuto disponibile", "description": "Non ci sono contenuti housekeeping disponibili per questo dominio." }, "partial": { "label": "Dati parziali", "title": "Alcune informazioni non sono disponibili", "description": "Controlla le informazioni disponibili e riprova più tardi." }, "error": { "title": "Impossibile caricare housekeeping", "description": "Riprova più tardi o contatta un amministratore." } } }, "myDashboard": { "title": "La mia pagina", "loadError": "Impossibile caricare la tua pagina. Riprova.", "retry": "Riprova", "login": "Accedi", "never": "Mai", "claimed": "Premio riscattato!", "dailyClaimed": "Ricompensa giornaliera riscattata — a domani!", "welcome": "Il tuo spazio su {hotel}", "noMotto": "Nessun motto", "registered": "Iscritto dal {date}", "lastOnline": "Ultima presenza: {date}", "enter": "Entra in {hotel}", "quickLinks": "Collegamenti rapidi", "messages": "Messaggi", "profile": "Il mio profilo", "settings": "Impostazioni", "shop": "Negozio", "unread": "{count} messaggi non letti", "wallet": "Il tuo portafoglio", "currencies": { "credits": "Crediti", "duckets": "Duckets", "diamonds": "Diamanti", "points": "Punti" }, "onlineFriends": "Amici online", "allFriends": "Tutti gli amici", "noOnlineFriends": "Nessuno dei tuoi amici è online al momento.", "recentRooms": "Nuove stanze", "community": "Community", "roomsHint": "Le ultime stanze create nell’hotel.", "noRooms": "Nessuna stanza disponibile.", "activity": "La tua attività", "achievements": "Punti traguardo", "respects": "Rispetti ricevuti", "friends": "Amici", "lastLogin": "Ultimo accesso", "referrals": "Invita i tuoi amici", "referralHint": "Condividi il tuo link e ricevi premi quando si registrano nuovi giocatori.", "referralProgress": "Progressi verso il premio", "reward": "{amount} {currency} ogni {count} nuovi giocatori.", "rewardHint": "Invita {count} giocatori per sbloccare il premio.", "referralLink": "Il tuo link di invito", "claim": "Riscatta premio", "remaining": "{count, plural, one {Invita ancora # giocatore per sbloccare il premio.} other {Invita ancora # giocatori per sbloccare il premio.}}", "rules": "Regole degli inviti", "rulesText": "Creare altri account per aumentare gli inviti può comportare la rimozione di progressi, valute e inventario e il ban.", "badges": "Distintivi indossati", "noBadges": "Non stai ancora indossando distintivi.", "copy": "Copia link", "copied": "Copiato!", "copyFailed": "Copia non riuscita. Seleziona il link e copialo manualmente.", "errors": { "not_enough": "Servono altri inviti per riscattare il premio.", "no_referrals": "Condividi il link per invitare il tuo primo amico.", "bad_config": "Il premio non è configurato correttamente. Contatta lo staff.", "ratelimit": "Troppi tentativi. Attendi un momento e riprova.", "error": "Non è stato possibile riscattare il premio. Riprova." }, "dailyErrors": { "already_claimed": "Hai già riscattato la ricompensa giornaliera di oggi.", "disabled": "Le ricompense giornaliere sono attualmente disattivate.", "bad_config": "Il programma ricompense giornaliere non è configurato correttamente. Contatta il personale.", "ratelimit": "Troppi tentativi. Aspetta un momento e riprova.", "error": "La ricompensa giornaliera non è stata riscattata. Riprova." }, "messagesCaughtUp": "Nessun messaggio da leggere", "messagesUnavailable": "Apri la posta per controllare", "eventTitle": "In programma", "allEvents": "Tutti gli eventi", "eventsUnavailable": "Il calendario non è al momento disponibile. Apri tutti gli eventi per riprovare.", "eventOngoing": "In corso", "eventUpcoming": "Prossimo evento", "eventDetails": "Scopri l’evento", "noUpcomingEvents": "Non sono ancora stati annunciati nuovi eventi.", "roomsUnavailable": "Le stanze non sono al momento disponibili. Apri la community per riprovare.", "dailyRewardTitle": "Ricompense giornaliere", "dailyRewardHint": "Accedi ogni giorno e riscatta la tua ricompensa — le serie crescono fino ai grandi giorni.", "dailyRewardDay": "Giorno {day}", "dailyRewardStreak": "{count, plural, one {Serie: # giorno} other {Serie: # giorni}}", "dailyRewardNextClaim": "Prossimo riscatto: {amount} {currency}", "dailyRewardTomorrow": "Domani: {amount} {currency}", "dailyRewardClaim": "Riscatta ricompensa giornaliera", "dailyRewardClaimedToday": "Riscattato oggi — torna domani per la prossima ricompensa.", "dailyRewardDisabled": "Le ricompense giornaliere sono attualmente disattivate. Puoi esplorare l'hotel.", "dailyRewardUnavailable": "Il programma ricompense giornaliere non è stato caricato. Riprova.", "tasks": { "title": "Da fare", "support": "{count, plural, one {# ticket con risposta del supporto} other {# ticket con risposte del supporto}}", "friends": "{count, plural, one {# richiesta di amicizia da controllare} other {# richieste di amicizia da controllare}}", "event": "Il prossimo evento a cui sei iscritto: {title} · {date}", "reward": "Il premio per gli inviti è pronto da ritirare", "dailyReward": "La tua ricompensa giornaliera è pronta per il riscatto", "empty": "Tutto a posto. Nessuna azione in attesa.", "unavailable": "Non è stato possibile verificare alcune azioni. Quelle disponibili sono mostrate sopra.", "retry": "Riprova", "rewardUnavailable": "Il progresso degli inviti non è al momento disponibile. Riprova." } }, "search": { "title": "Ricerca", "subtitle": "Trova utenti, stanze aperte, notizie ed eventi.", "queryLabel": "Termine di ricerca", "submit": "Cerca", "enterQuery": "Inserisci un termine per trovare utenti, stanze, notizie ed eventi.", "resultsFor": "Risultati per “{query}”", "users": "Utenti", "rooms": "Stanze aperte", "news": "Notizie", "events": "Eventi", "loadError": "Non è stato possibile caricare questi risultati. Riprova.", "empty": "Nessun risultato trovato.", "online": "Online", "offline": "Offline", "pagination": "Pagine: {category}", "previous": "Precedente", "next": "Successiva", "pageSummary": "Pagina {page} di {pages} · {total} risultati" }, "notifications": { "title": "Notifiche", "subtitle": "Le risposte dell’assistenza, le richieste di amicizia e gli eventi a cui sei iscritto.", "scope": "Qui trovi fino a 100 risposte recenti dell’assistenza, 100 richieste di amicizia in sospeso e 100 eventi futuri a cui sei iscritto.", "loading": "Caricamento notifiche…", "error": "Le notifiche sono temporaneamente non disponibili.", "retry": "Riprova", "preferences": "Preferenze delle notifiche", "preferencesHint": "Scegli le categorie da mostrare. Queste impostazioni non inviano email e non modificano le iscrizioni.", "support": "Risposte dell’assistenza", "friends": "Richieste di amicizia", "events": "Prossimi eventi", "unreadCount": "{count, plural, =0 {Nessuna notifica da leggere} one {# notifica da leggere} other {# notifiche da leggere}}", "saveError": "Impossibile salvare la modifica. Riprova.", "saved": "Modifica salvata.", "empty": "Non ci sono notifiche nelle categorie abilitate.", "read": "Letta", "unread": "Da leggere", "markRead": "Segna come letta", "pagination": "Pagine delle notifiche", "previous": "Precedente", "next": "Successiva", "page": "Pagina {page} di {pages}" }, "developers": { "page": { "Bearer": "🔒 Bearer", "Session": "🔒 Session", "Public": "Public", "Allendpointsliveunder": "All endpoints live under", "api": "/api", "andreturnJSONMostreadendpointsareopenahandfulthattouchyouraccountneedatokenBrowsethegroupsbeloweachrowshowsthemethodpathwhatitdoesandwhetheritneedsauthentication": "and return JSON. Most read endpoints are open; a handful that touch your account need a token. Browse the groups below — each row shows the method, path, what it does and whether it needs authentication.", "Mostreadsare": "Most reads are", "open": "open", "andneednocredentialsEndpointsmarked": "and need no credentials. Endpoints marked", "requireapersonalaccesstokensentintherequestheader": "require a personal access token sent in the request header:", "AuthorizationBeareryourtoken": "Authorization: Bearer ''", "Togetatokensignintothewebsiteand": "To get a token, sign in to the website and", "POST": "POST", "apitokens": "/api/tokens", "theplaintexttokenisreturned": "— the plaintext token is returned", "once": "once", "andnevershownagainsostoreitsafelyYoucanlistandrevokeyourtokensat": "and never shown again, so store it safely. You can list and revoke your tokens at", "apimetokens": "/api/me/tokens", "Thesetokenmanagementendpointsaremarked": ". These token-management endpoints are marked", "becausetheyuseyoursignedinwebsessionratherthanaBearertoken": "because they use your signed-in web session rather than a Bearer token.", "TokensaretiedtoyouraccountBearerendpointsonlyeverreturnormodifyyourowndatayourticketsyourshoutsyourDJpoints": "Tokens are tied to your account: Bearer endpoints only ever return or modify your own data (your tickets, your shouts, your DJ points).", "Enter": "Enter", "Staff": "Staff", "Modpanel": "Mod panel", "Adminpanel": "Admin panel", "Commandocentrum": "Commandocentrum", "Logs": "Logs", "Logogenerator": "Logo generator", "Mydashboard": "My dashboard", "Myprofile": "My profile", "Usersettings": "User settings", "Twofactor": "Two-factor", "Loginactivity": "Login activity", "Friendrequests": "Friend requests (", "more": "more", "Logout": "Logout", "EpicNextInfo": "EpicNext Info", "CMSinformation": "CMS information", "EpicNext": "EpicNext", "ModernNextjsCMS": "Modern Next.js CMS", "AmodernweblayerforthehotelcommunityfocusedonfastnavigationcleanadministrationandacoherentEpicNextexperience": "A modern web layer for the hotel community, focused on fast navigation, clean administration, and a coherent EpicNext experience." } }, "public": { "logoGenerator": { "Hotelname": "Hotel name", "Searchfont": "Search font", "Font": "Font —", "DownloadPNG": "⬇️ Download PNG", "Failedtoloadfontsprite": "Failed to load font sprite.", "Notethisfontdoesnothavecharacters": "Note: this font does not have characters:", "Loadingfont": "Loading font…", "Username": "Username", "Password": "Password", "2FACode": "2FA Code", "Pleasewait": "Please wait...", "Watching": "Watching", "Watch": "Watch", "AaTextpreview": "Aa Text preview", "Usereadablecolor": "Use readable color →", "Navbarkleur": "Navbar kleur", "Search": "Search", "Atom": "Atom", "Nolanguagesfound": "No languages found", "Hotel": "Hotel", "Browse": "Browse", "MediaLibrary": "Media Library", "Close": "Close", "Loading": "Loading…", "NoimagesyetUploadoneabove": "No images yet. Upload one above.", "totalpage": "total · page", "Previous": "Previous", "Next": "Next", "OnlineNow": "Online Now", "users": "users", "Nousersonline": "No users online", "CSV": "CSV", "CtrlK": "Ctrl/⌘ K", "Cancel": "Cancel", "sprite": "· sprite", "Git": "Git:" } } }, "toolbar": { "home": "Home", "reload": "Ricarica", "fullscreen": "Schermo intero", "logout": "Esci", "onlineUsers": "Utenti online", "emulatorOnline": "Emulatore online", "emulatorOffline": "Emulatore offline", "dragToMove": "Trascina per spostare", "hide": "Nascondi barra", "fullscreenExit": "Esci dalla schermo intero", "show": "Mostra barra", "emulatorUnknown": "Stato dell'emulatore sconosciuto" }, "admin": { "studio": { "nitroCleanup": { "alreadyRunning": "Una scansione è già in corso — connessa ad essa.", "ageUnknown": "età sconosciuta", "ageBelow": "< 1g", "scanButton": "Scansiona risorse arredamento", "scanningAssets": "Scansione delle risorse…", "cancelButton": "Annulla", "deleteSelected": "Elimina selezionati ({count})", "deleting": "Eliminazione…", "redownloadBroken": "Riscarica danneggiate", "redownloading": "Riscaricamento…", "autoClean": "Pulisci automaticamente i falsi vecchi", "cleaning": "Pulizia…", "exportManifest": "Esporta manifesto", "exporting": "Esportazione…", "phaseStems": "Caricamento steli di arredamento…", "phaseReaddir": "Lettura delle directory delle risorse…", "phaseValidate": "Convalida dei pacchetti .nitro…", "phaseScanning": "Scansione…", "scanProgressFiles": "{count} file", "repairProgress": "ok {ok}, falliti {failed}", "attachedNotice": "La scansione continua in background — i risultati appariranno al termine.", "sessionCancelled": "Scansione annullata.", "onlyOldLabel": "Mostra solo file più vecchi di", "onlyOldAgeLabel": "Età minima in giorni per la visualizzazione", "onlyOldToggle": "Nascondi file recenti", "daysLabel": "giorni", "autoAgeLabel": "Età minima in giorni per la pulizia automatica", "loadingResult": "Caricamento del risultato della scansione…", "scannedStat": "file di risorse scansionati", "cachedNotice": "(in cache — le directory sono invariate)", "fakeStat": "Nitro falsi (nessun elemento corrispondente)", "brokenStat": "Nitro danneggiati (illeggibili)", "groupEmpty": "Nessun risultato", "selectedCount": "{count} selezionati", "copiesBadge": "{count} copie", "groupFakeLabel": "Nitro falsi", "groupFakeDescription": "Questi file non corrispondono a nessun elemento in items_base — resti di arredamento eliminato o rinominato.", "groupBrokenLabel": "Nitro danneggiati", "groupBrokenDescription": "Questi file appartengono a un elemento ma non possono essere letti come un pacchetto Nitro valido.", "groupSwfLabel": "SWF orfani", "groupSwfDescription": "File .swf che non corrispondono a nessun elemento in items_base.", "groupIconLabel": "Icone orfane", "groupIconDescription": "File di icone che non corrispondono a nessun elemento in items_base.", "warningText": "Eliminare un .nitro danneggiato lascia il suo elemento nel database senza pacchetto — preferisci di riscaricarlo, o lascia che l'audit del cataloglo lo ottenga in seguito. Le righe del database non vengono mai rimosse da questo strumento.", "onlyAssetsTouched": "Solo i file delle risorse vengono toccati — FurnitureData.json e le righe del database restano intatte.", "emptyHint": "Scansiona ogni directory di risorse di arredamento per trovare pacchetti nitro falsi e danneggiati oltre a SWF e icone orfani. Eliminali, riscarica i danneggiati o pulisci automaticamente i resti vecchi.", "noResult": "Nessun risultato di scansione ancora — esegui prima una scansione delle risorse di arredamento.", "scanFailed": "La scansione è fallita.", "confirmDeleteTitle": "Eliminare {count} file di risorse?", "confirmDeleteDescription": "I file verranno rimossi da ogni directory (public + gamedata specchiata). Le righe del database non vengono mai toccate.", "confirmDeleteLabel": "Elimina", "confirmRepairTitle": "Riscaricare {count} pacchetto/i .nitro danneggiato/i?", "confirmRepairDescription": "I pacchetti verranno recuperati dalle sorgenti nitro configurate e sovrascritti su ogni directory (public + gamedata specchiata).", "confirmRepairLabel": "Riscarica", "confirmAutoCleanTitle": "Pulire automaticamente i nitro falsi più vecchi di {days} giorno/i?", "confirmAutoCleanDescription": "Vengono rimossi solo i file .nitro falsi (nessun elemento corrispondente) più vecchi della soglia. I pacchetti danneggiati e i file recenti non vengono mai toccati.", "confirmAutoCleanLabel": "Pulisci automaticamente", "toastDeletePartial": "Eliminate {copies} copie, ma alcuni file non hanno potuto essere rimossi", "toastDeleteDone": "Eliminate {copies} copie di file ({deleted} file)", "toastRepairDone": "Riparati {count} pacchetti .nitro", "toastRepairFailed": "Impossibile ottenere alcun pacchetto ({failed} falliti)", "toastRepairCancelled": "Riparazione annullata", "toastAutoCleanDone": "Puliti {deleted} vecchi file .nitro falsi ({copies} copie). Saltati {recent} recenti + {broken} danneggiati.", "toastAutoCleanNothing": "Niente di abbastanza vecchio da rimuovere (saltati {recent} recenti, {broken} danneggiati)", "toastManifestDownload": "Manifesto della scansione scaricato", "gamedataTitle": "Pulizia dei dati di gioco", "gamedataHint": "Anteprima prima: questo riscrive FurnitureData.json, FigureMap.json e FigureData.json. A differenza degli strumenti delle risorse sopra, rimuove le righe che non fanno riferimento a nulla — esamina i conteggi prima di eseguirlo.", "gamedataScan": "Anteprima dei dati di gioco", "gamedataScanning": "Scansione…", "gamedataRun": "Esegui selezionati", "gamedataRunning": "Pulizia…", "gamedataNoResult": "Nessuna anteprima ancora — scansiona prima i file JSON dei dati di gioco.", "gamedataCount_duplicates": "Duplicati di FurnitureData", "gamedataCount_orphans": "FurnitureData orfani", "gamedataCount_figureMap": "Problemi di FigureMap", "gamedataCount_figureData": "FigureData inutilizzato", "gamedataPass_dedupeFurnitureData": "Dedicuplica FurnitureData", "gamedataPassDesc_dedupeFurnitureData": "Rimuove i classnames ripetuti all'interno di una sezione, conservando la voce con la revisione più alta.", "gamedataPass_cleanFurnitureData": "Pulisci FurnitureData", "gamedataPassDesc_cleanFurnitureData": "Rimuove le voci il cui pacchetto .nitro è assente da ogni directory.", "gamedataPass_cleanFigureMap": "Pulisci FigureMap", "gamedataPassDesc_cleanFigureMap": "Rimuove le parti che puntano a un set mancante in FigureData, oltre ai duplicati esatti.", "gamedataPass_cleanFigureData": "Pulisci FigureData", "gamedataPassDesc_cleanFigureData": "Rimuove i set a cui nessuna parte di FigureMap fa riferimento, poi le palette che nessun tipo di set utilizza. Deve essere eseguito dopo Pulisci FigureMap.", "gamedataNothingSelected": "Seleziona almeno un passaggio di pulizia", "gamedataConfirmTitle": "Riscrivere i file JSON dei dati di gioco?", "gamedataConfirmDescription": "{passes} passaggio/i verranno eseguiti su {duplicates} gruppi duplicati, {orphans} righe orfane, {figureMap} problemi di FigureMap e {figureData} voci FigureData inutilizzate. Le righe vengono rimosse senza backup — questo non può essere annullato.", "gamedataConfirmLabel": "Riscrivi file", "gamedataDifferingWarning": "Almeno un duplicato non è una copia esatta della voce conservata, quindi la riga eliminata conteneva dati che il sopravvissuto non ha.", "gamedataCrossSectionNote": "{count} classname/i esistono sia in roomitemtypes che in wallitemtypes. Questi vengono solo segnalati — rimuoverne uno cambiherebbe il tipo di un elemento.", "gamedataToastDone": "La pulizia dei dati di gioco ha rimosso {removed} righe", "gamedataToastNothing": "I dati di gioco erano già puliti", "gamedataMaxRemovalsLabel": "Max righe per passaggio", "gamedataMaxRemovalsHint": "0 usa il valore predefinito 500. Un passaggio che ne rimuoverebbe più si ferma e chiede invece di scrivere.", "gamedataLimitTitle": "{pass} rimuoverebbe {wouldRemove} righe, oltre il limite di {maxRemovals}.", "gamedataLimitDescription": "Quel passaggio non ha scritto nulla, quindi i file sono invariati. Controlla prima i percorsi delle risorse — una directory sbagliata rende ogni riga orfana. Aumentare il limite è un'esecuzione separata e deliberata.", "gamedataLimitOverride": "Rimuovi comunque {wouldRemove} righe", "historyTitle": "Cronologia della pulizia automatica", "historyScheduled": "programmato", "historyManual": "manuale", "historyEntry": "Rimossi {deleted} ({copies} copie); saltati {recent} recenti e {broken} danneggiati", "historyErrors": "{count} errori" }, "importDiagnostics": { "attempts": "Diagnostica file sorgente", "preliminary": "Controllo preliminare: questi indirizzi sono stati verificati senza scaricare i file. L'importazione validerà i file originali.", "http": "HTTP {status}", "network": "Connessione alla sorgente non riuscita", "timeout": "La sorgente non ha risposto in tempo", "invalidResponse": "La sorgente ha restituito una pagina web invece di un file", "available": "File trovato; il contenuto sarà verificato durante l'importazione", "recover": "Carica il file originale e riprendi", "recoveryHint": "Scegli {file} per questo furni (massimo 50 MB). L'identità viene verificata prima dell'uso. La ripresa ritenta gli elementi falliti e preserva le importazioni completate.", "attach": "Scegli il file .nitro originale", "working": "Validazione del file o ripresa dell'importazione...", "attached": "File originale corrispondente allegato", "resume": "Riprendi gli import falliti con questo file", "invalidFile": "Impossibile allegare il file. Scegli un .nitro originale valido per questo furni, fino a 50 MB, e riprova.", "resumeError": "Impossibile riprendere. Aggiorna la cronologia e usa l'ultimo tentativo; controlla il file originale e riprova.", "mismatchedFile": "Questo file appartiene a un altro furni.", "alreadyStarted": "Ripresa già avviata. Aggiorna la cronologia e usa l’ultimo tentativo.", "notEligible": "Questo elemento non consente il recupero tramite allegato." }, "completeness": { "title": "Completezza e prossimi passi", "parts": { "sql": "Elemento SQL", "catalog": "Offerta catalogo", "furnidata": "Furnidata", "icon": "Icona locale", "nitro": "File Nitro" }, "statuses": { "present": "Presente", "missing": "Mancante", "unknown": "Non verificato", "conflict": "Da controllare" }, "actions": { "sql": "Importa o ripara questo furni per creare il record mancante.", "catalog": "Importa o ripara questo furni per aggiungere un’offerta con la categoria e il prezzo automatici.", "furnidata": "Importa o ripara questo furni per aggiungere i dati mancanti.", "icon": "Importa o ripara questo furni per recuperare l’icona locale mancante.", "nitro": "Importa o ripara questo furni per recuperare il file. Per un elemento esistente puoi anche usare Rigenera .nitro.", "recheck": "Ricontrolla lo stato locale prima della riparazione. Se il problema persiste, verifica l’accesso ai file locali.", "audit": "Controlla i duplicati e la corrispondenza degli ID sprite e dei tipi in Audit catalogo prima della riparazione." }, "openAudit": "Apri Audit catalogo per risolvere i conflitti", "excludedConflicts": "{count, plural, one {# elemento richiede un controllo ed è escluso da questa importazione.} other {# elementi richiedono un controllo e sono esclusi da questa importazione.}}" }, "preflight": { "filterLabel": "Filtra i controlli di importazione", "filters": { "all": "Tutti ({count})", "complete": "Da completare ({count})", "conflict": "Conflitti ({count})", "verify": "Da verificare ({count})" }, "empty": "Nessun furni in questo gruppo.", "actions": { "complete": "Suggerimento: completa il furni esistente", "import": "Suggerimento: importa il nuovo furni", "refresh": "Il furni esistente è completo; aggiorna i dati dalla fonte", "conflict": "Risolvi i conflitti nei dati locali prima di importare", "verify": "Controlla i componenti non verificati prima di proseguire" }, "missing": "Mancanti: {parts}", "unknown": "Non verificati: {parts}" } } }, "publicData": { "loadError": "Non è stato possibile caricare questa sezione. Riprova.", "retry": "Riprova", "unavailable": "Non disponibile" } }