Files
EpicNext-Cms/src/messages/it.json
T
openhands 6bffc53779
Gitea Actions Runner Test / test-job (push) Successful in 1s
CI / check (push) Successful in 1m8s
CI / tests-integration (push) Successful in 1m53s
CI / tests-unit (push) Successful in 1m59s
CI / tests-ui (push) Successful in 2m42s
CI / preflight (push) Skipped
CI / deploy (push) Successful in 4m33s
refactor(auth): merge the duplicate login form and localize the auth screens
`home-login-form.tsx` and `login-form.tsx` were two ~240-line near-identical
components. Delete the former and give `LoginForm` a `variant` prop:

- `variant="page"`   sr-only labels plus the register/forgot footer (/login)
- `variant="compact"` visible labels, no footer (homepage sidebar)

Field ids now come from `useId()`, so the two usages can never collide, and the
hardcoded "Show"/"Hide"/"Loading" strings are translated.

Localization of the login and register screens:

- `home-login-form.tsx` was entirely hardcoded English.
- `passwordStrength()` returned hardcoded "Weak"/"Fair"/"Good"/"Strong".
- `register.ts` returned only English strings. It now returns a
  locale-independent `code` next to the message, and the form renders
  `t(code)` with the English string as a fallback.
- Backfilled the new keys across all 25 locales, plus the login/register
  strings that were still English in most of them. `ar`, `fi` and `ja` had
  their entire login/register namespace in English and are now filled in.
  Locale parity stays at 0 missing keys, as `i18n:check` requires.

Copy that did not match the enforced rules: the UI advertised "min 8 chars"
(EN) / "min 6 tekens" (NL) while registration requires 12 characters plus an
uppercase, a lowercase, a digit and a special character. Corrected in every
locale. `password-reset.ts` enforced only 6 characters and is raised to 12 to
match registration.

Accessibility: `login-form.tsx` had no `<label>`, no `id` and no `required` on
any field. All three are now present, and error banners are announced with
`role="alert"`.

Adds `src/i18n/auth-messages.test.ts`, which asserts every `RegisterErrorCode`
resolves to a non-empty message in all 25 locales; verified it fails when a key
is removed. The existing register tests now also assert the error `code`.
2026-10-04 18:50:23 +02:00

6797 lines
285 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"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 <strong>{amount}</strong> crediti per 1,00 {currency}. I crediti compaiono nel gioco al tuo prossimo accesso."
},
"marketplace": {
"title": "Mercatino",
"subtitle": "Sfoglia mobili e rari messi in vendita dai giocatori. Le inserzioni vengono create nel gioco e si aggiornano in tempo reale — entra nell'hotel per fare un'offerta.",
"activeOffers": "Offerte attive",
"sellers": "Venditori",
"totalValue": "Valore totale",
"activeListings": "Inserzioni attive",
"mostRecentFirst": "Prima le più recenti",
"empty": "Al momento non ci sono offerte attive nel mercatino. Riprova più tardi.",
"colOffer": "Offerta",
"colItem": "Oggetto",
"colSeller": "Venditore",
"colPrice": "Prezzo",
"colListed": "Pubblicata",
"itemLabel": "Oggetto #{id}",
"userLabel": "Utente #{id}",
"justNow": "proprio ora",
"minutesAgo": "{count} min fa",
"hoursAgo": "{count} h fa",
"daysAgo": "{count} g fa"
},
"rares": {
"title": "Valori dei rari",
"subtitle": "Ottieni una panoramica di tutti i rari dell'hotel, raggruppati per categoria.",
"empty": "Al momento non abbiamo rari elencati qui.",
"rareCount": "{count, plural, one {# raro} other {# rari}}",
"viewRares": "Vedi i rari →"
},
"rareCategory": {
"rareCount": "{count, plural, one {# raro in questa categoria} other {# rari in questa categoria}}",
"allRares": "← Tutti i rari",
"empty": "Ancora nessun raro elencato in questa categoria.",
"colRare": "Raro",
"colCredits": "Crediti",
"colCurrency": "Valuta",
"creditsValue": "{value} crediti",
"duckets": "Duckets",
"diamonds": "Diamanti",
"credits": "Crediti"
},
"redeem": {
"title": "Riscatta un buono",
"subtitle": "Hai un codice buono? Inseriscilo qui sotto per aggiungere la ricompensa al tuo account.",
"enterCode": "Inserisci il tuo codice",
"oncePerAccount": "Ogni buono può essere riscattato una sola volta per account.",
"balanceTitle": "Il tuo saldo",
"signedInAs": "Hai effettuato l'accesso come {username}",
"credits": "Crediti",
"instantCredit": "Le ricompense riscattate vengono accreditate immediatamente e compaiono nel gioco al tuo prossimo accesso."
},
"help": {
"title": "Centro assistenza",
"subtitle": "Trova guide, argomenti di supporto e le regole dell'hotel: tutto ciò che ti serve per ricevere aiuto.",
"myTickets": "I miei ticket →",
"topicsTitle": "Argomenti di supporto",
"topicsSubtitle": "Sfoglia guide e risposte alle domande più comuni",
"topicsEmpty": "Ancora nessun argomento di aiuto.",
"rulesTitle": "Regole dell'hotel",
"rulesSubtitle": "Leggile prima di trascorrere del tempo nell'hotel",
"rulesEmpty": "Ancora nessuna regola pubblicata.",
"categoryEmpty": "Nessuna regola in questa categoria."
},
"helpCategory": {
"back": "← Centro assistenza",
"topicSubtitle": "Argomento del centro assistenza",
"moreTitle": "Altri argomenti di aiuto",
"moreSubtitle": "Passa a un altro argomento di supporto"
},
"helpTickets": {
"title": "Ticket di assistenza",
"subtitle": "Invia un ticket allo staff e tieni traccia delle tue richieste aperte.",
"statTotal": "Ticket totali",
"statOpen": "Aperti",
"statClosed": "Chiusi",
"newTitle": "Nuovo ticket",
"newSubtitle": "Descrivi il tuo problema e lo staff ti ricontatterà",
"subjectPlaceholder": "Oggetto",
"contentPlaceholder": "Descrivi il tuo problema…",
"submit": "Invia ticket",
"listTitle": "I tuoi ticket",
"listSubtitle": "Tutte le richieste che hai inviato allo staff",
"listEmpty": "Non hai ancora nessun ticket.",
"colId": "ID",
"colSubject": "Oggetto",
"colStatus": "Stato",
"colCreated": "Creato",
"statusOpen": "Aperto",
"statusClosed": "Chiuso",
"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": "[email protected]",
"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 <ipLink>Gestione IP</ipLink>.",
"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 <code>hotelalert</code> 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": "<p>Gentile {username},</p>",
"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 '<your-token>'",
"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"
}
}