Files
Epicnabbo-Catalogus-Updated…/src/messages/da.json
T

3816 lines
143 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.
{
"nav": {
"home": "Hjem",
"community": "Fællesskab",
"articles": "Artikler",
"photos": "Fotos",
"staff": "Personale",
"rankings": "Placeringer",
"guilds": "Gilder",
"leaderboards": "Leaderboards",
"rareValues": "Sjældne værdier",
"shop": "Butik",
"market": "Marked",
"assistance": "Assistance",
"helpCenter": "Hjælpecenter",
"myTickets": "Mine billetter",
"badges": "Badges",
"radio": "Radio",
"friends": "Venner",
"messages": "Beskeder",
"admin": "Admin",
"openMenu": "Åbn menuen",
"closeMenu": "Luk menuen",
"drawBadge": "Tegn badge",
"events": "Events",
"polls": "Polls",
"mod": "Mod"
},
"header": {
"online": "{count} {hotel} online",
"nitroClient": "Nitro klient",
"tagline": "En online virtuel verden, hvor du kan oprette din egen avatar, få venner, chatte, skabe rum og meget mere!",
"login": "Log ind",
"or": "Eller",
"createAccount": "Opret en konto"
},
"footer": {
"copyright": "© {year} - {hotel} er et undervisningsprojekt uden fortjeneste"
},
"pages": {
"staff": {
"title": "Personale",
"subtitle": "Holdet bag hotellet",
"ranksTitle": "Rangerer",
"ranksSubtitle": "Hvad hver del af teamet tager sig af",
"membersTitle": "Teammedlemmer",
"membersEmptySubtitle": "Ingen at vise lige nu",
"membersSubtitle": "{count, plural, one {# member keeping things running} other {# members keeping things running}}",
"emptyState": "Ingen ansatte at vise.",
"colUsername": "Brugernavn",
"colRank": "Rang",
"colMotto": "Motto"
},
"leaderboard": {
"title": "Leaderboard",
"subtitle": "Top 20 spillere efter {currency}",
"tab_credits": "Credits",
"tab_diamonds": "Diamanter",
"tab_duckets": "Ænder",
"tab_achievement": "Præstationer",
"tab_respects": "Respekter",
"tab_onlinetime": "Online tid",
"emptyState": "Ingen placeringer at vise endnu.",
"colAvatar": "Avatar",
"colPlayer": "Spiller"
},
"friends": {
"title": "Venner",
"emptySubtitle": "Du har ingen tilføjet venner endnu",
"subtitle": "{count, plural, one {You have # friend} other {You have # friends}}",
"emptyState": "Tilføj venner på hotellet, så dukker de op her.",
"noMotto": "Intet motto",
"remove": "Remove",
"success": {
"removed": "Friend removed."
},
"errors": {
"notFound": "That friendship was not found.",
"invalid": "Invalid friend.",
"error": "Something went wrong. Please try again."
}
},
"messages": {
"title": "Beskeder",
"subtitle": "Venneanmodninger og offlinebeskeder venter på dig",
"requestsTitle": "Venneanmodninger",
"requestsEmptySubtitle": "Ingen har bedt om at være din ven endnu",
"requestsSubtitle": "{count, plural, one {# pending request} other {# pending requests}}",
"requestsEmptyState": "Ingen afventende venneanmodninger.",
"wantsToBeFriend": "ønsker at være din ven.",
"accept": "Accepter",
"offlineTitle": "Offline beskeder",
"offlineEmptySubtitle": "Din indbakke er tom",
"offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}",
"offlineEmptyState": "Du har ingen offline beskeder.",
"unknownUser": "Bruger #{id}",
"decline": "Decline",
"composeTitle": "Send offline message",
"composeSubtitle": "Delivered in the hotel messenger when your friend is offline",
"composeEmptyFriends": "Add friends in the hotel to send offline messages.",
"composeFriendLabel": "Friend",
"composeFriendPlaceholder": "Choose a friend",
"composeMessageLabel": "Message",
"composeMessagePlaceholder": "Write your message (max 500 characters)…",
"composeSend": "Send message",
"success": {
"accepted": "Friend request accepted.",
"declined": "Friend request declined.",
"sent": "Offline message sent."
},
"errors": {
"notFound": "That friend request was not found.",
"unauthorized": "You can't act on this friend request.",
"invalid": "Invalid friend request.",
"error": "Something went wrong. Please try again.",
"notFriend": "You can only message friends.",
"emptyMessage": "Please write a message.",
"rateLimited": "Too many messages. Wait a moment and try again."
}
},
"profile": {
"noMotto": "Intet motto",
"statRank": "Rang",
"statCredits": "Credits",
"statRegistered": "Registreret",
"badgesTitle": "Badges",
"badgesEmpty": "Ingen badges endnu.",
"photosTitle": "Fotos",
"photosEmpty": "Ingen billeder endnu.",
"guestbookTitle": "Gæstebog",
"guestbookSubtitle": "Beskeder på {username}s væg",
"leaveMessage": "Efterlad en besked",
"guestbookPlaceholder": "Skriv noget i {username}s gæstebog...",
"post": "Indlæg",
"loginToPost": "Log ind for at efterlade en gæstebogsbesked.",
"guestbookEmpty": "Ingen gæstebogsindlæg endnu.",
"unknownUser": "Bruger #{id}",
"statDuckets": "Ænder",
"statDiamonds": "Diamanter",
"walletTitle": "Tegnebog",
"friendsTitle": "Venner",
"friendsSubtitle": "Folk på hotellet, de hænger ud med",
"friendsEmpty": "Ingen venner at vise.",
"roomsTitle": "Værelser",
"roomsSubtitle": "Værelser de ejer",
"roomsEmpty": "Ingen lokaler at vise.",
"roomUntitled": "Unavngivet værelse",
"addFriend": "Add friend",
"alreadyFriends": "You're friends",
"requestPending": "Request pending",
"respondInMessages": "Respond in Messages",
"success": {
"sent": "Friend request sent.",
"guestbook": "Guestbook message posted."
},
"errors": {
"self": "You can't send a friend request to yourself.",
"alreadyFriends": "You're already friends with this user.",
"alreadyPending": "You already sent a friend request to this user.",
"incomingPending": "This user already sent you a request — accept or decline it in Messages.",
"empty": "Please write a message before posting.",
"moderated": "That message was blocked by moderation.",
"ratelimit": "You're posting too fast. Please wait a moment and try again.",
"invalid": "That request was invalid.",
"error": "Something went wrong. Please try again."
}
},
"rankings": {
"title": "Placeringer",
"subtitle": "De 12 bedste spillere rangeret efter kreditter",
"emptyState": "Ingen spillere at rangere endnu."
},
"home": {
"welcome": "Velkommen til {hotelName}",
"welcomeSubtitle": "Dit retrohotel, nu drevet af Next.js",
"welcomeBody": "Hæng ud, saml møbler og mød venner.",
"enterHotel": "Indtast {hotelName}",
"onlineFriends": "Online venner",
"noFriendsOnline": "Ingen venner online",
"register": "TILMELD DIG NU",
"joinNow": "Tilmeld dig {hotelName} i dag!",
"recentUsers": "Seneste brugere",
"recentPhotos": "Seneste fotos",
"latestNews": "Seneste nyt",
"newsTitle": "Seneste nyt",
"newsSubtitle": "Frisk fra hotellet",
"allNews": "Alle nyheder →",
"allUsers": "Fællesskab →",
"noArticles": "Ingen artikler endnu.",
"noPhotos": "Ingen billeder endnu.",
"noUsers": "Ingen brugere online",
"latestArticle": "Seneste artikel",
"latestUsers": "Nyeste borgere ({count} i alt)",
"statsOnline": "Online",
"statsCitizens": "Borgere",
"statsRooms": "Værelser",
"statsArticles": "Artikler",
"featuresAvatar": "Avatar",
"featuresAvatarDesc": "Skab dit unikke look",
"featuresFurniture": "Møbler",
"featuresFurnitureDesc": "Dekorér værelser med genstande",
"featuresCommunity": "Fællesskab",
"featuresCommunityDesc": "Få venner og chat",
"featuresGames": "Spil",
"featuresGamesDesc": "Konkurrér og hav det sjovt"
},
"news": {
"title": "Nyheder",
"subtitle": "De seneste meddelelser, begivenheder og opdateringer fra hotellet",
"noArticles": "Ingen artikler endnu."
},
"article": {
"backToNews": "← Nyheder",
"reactionsTitle": "Reaktioner",
"reactionsSubtitle": "Fortæl os, hvad du synes",
"reaction": {
"like": "Ligesom",
"love": "Kærlighed",
"wow": "Wow"
},
"removeReaction": "Klik for at fjerne din reaktion",
"reactWith": "Reager med {reaction}",
"noReactions": "Ingen reaktioner endnu.",
"logIn": "Log ind",
"toReact": "at reagere.",
"commentsTitle": "Kommentarer",
"commentsSubtitle": "Deltag i samtalen",
"commentsCount": "{count} indtil videre",
"noComments": "Ingen kommentarer endnu. Vær den første til at kommentere.",
"userNumber": "Bruger #{id}",
"addComment": "Tilføj en kommentar",
"commentPlaceholder": "Skriv din kommentar...",
"postComment": "Skriv kommentar",
"toComment": "at efterlade en kommentar.",
"success": {
"posted": "Comment posted.",
"reaction": "Reaction updated."
},
"errors": {
"empty": "Please write a comment before posting.",
"moderated": "That comment was blocked by moderation.",
"ratelimit": "You're commenting too fast. Please wait a moment and try again.",
"invalid": "Invalid comment.",
"notFound": "That article was not found.",
"error": "Something went wrong. Please try again."
}
},
"photos": {
"title": "Fotos",
"subtitle": "De seneste snapshots taget på hotellet",
"noPhotos": "Ingen billeder endnu.",
"photoAlt": "Foto af bruger #{id}",
"byUser": "af bruger #{id}"
},
"badges": {
"title": "Badges",
"subtitle": "Badges kan du tjene og vise frem rundt omkring på hotellet",
"noBadges": "Ingen tilgængelige badges endnu."
},
"community": {
"title": "Fællesskab",
"subtitle": "Alt sker omkring hotellet på ét sted",
"open": "Åbn →",
"links": {
"rankings": {
"title": "Placeringer",
"text": "Se de rigeste spillere på hotellet, rangeret efter kreditter."
},
"staff": {
"title": "Personale",
"text": "Mød holdet, der holder hotellet kørende hver dag."
},
"news": {
"title": "Nyheder",
"text": "De seneste meddelelser, begivenheder og opdateringer."
},
"photos": {
"title": "Fotos",
"text": "Snapshots deles af fællesskabet fra omkring hotellet."
},
"guilds": {
"title": "Gilder",
"text": "Gennemse de grupper, spillere har oprettet og sluttet sig til."
},
"leaderboards": {
"title": "Leaderboards",
"text": "Hvem er på toppen i denne sæson på tværs af hotellets statistik."
}
}
},
"guilds": {
"title": "Gilder",
"subtitle": "Gennemse de grupper, spillere har oprettet og sluttet sig til",
"empty": "Ingen guilds endnu.",
"unnamedGuild": "Unavngiven laug",
"noDescription": "Ingen beskrivelse"
},
"guild": {
"allGuilds": "← Alle laug",
"unnamedGuild": "Unavngiven laug",
"noDescription": "Ingen beskrivelse",
"memberSingular": "Medlem",
"memberPlural": "Medlemmer",
"founded": "Grundlagt",
"forumLink": "Forum →",
"discussion": "Diskussion",
"membersTitle": "Medlemmer",
"memberLowerSingular": "medlem",
"memberLowerPlural": "medlemmer",
"noMembers": "Ingen medlemmer.",
"owner": "Ejer",
"noMotto": "Intet motto"
},
"guildForum": {
"backToGuild": "← Tilbage til guild",
"unnamedGuild": "Unavngiven laug",
"forumTitle": "{guild} – Forum",
"threadSingular": "tråd",
"threadPlural": "tråde",
"newThread": "+ Ny tråd",
"empty": "Ingen tråde i dette forum endnu.",
"colSubject": "Emne",
"colAuthor": "Forfatter",
"colPosts": "Indlæg",
"colDate": "Dato",
"noSubject": "(intet emne)",
"pinned": "Fastgjort",
"locked": "Låst",
"userNumber": "Bruger #{id}",
"unknown": "Ukendt",
"success": {
"posted": "Thread posted."
}
},
"guildForumNew": {
"backToForum": "← Tilbage til forum",
"unnamedGuild": "Unavngiven laug",
"title": "Ny tråd",
"subtitle": "i {guild} forum",
"subjectLabel": "Emne",
"subjectPlaceholder": "Tråd emne",
"messageLabel": "Besked",
"messagePlaceholder": "Skriv dit åbningsindlæg...",
"postThread": "Post tråd",
"cancel": "Annuller",
"errors": {
"invalid": "Subject and message are required.",
"notFound": "That guild was not found.",
"ratelimit": "You're posting too fast. Please wait a moment and try again.",
"error": "Something went wrong. Please try again."
}
},
"shop": {
"title": "Butik",
"subtitle": "Fyld op på din konto og få fat i eksklusive pakker, valuta og badges.",
"browsingCategory": "Gennemse {category}-pakkerne.",
"all": "Alle",
"allPackages": "Alle pakker",
"packagesAvailable": "{count, plural, one {# package available} other {# packages available}}",
"empty": "Ingen tilgængelige pakker lige nu.",
"buy": "Køb",
"loginToBuy": "Log in to buy",
"creditsHint": "Packages are paid with in-game credits. Top up first if you need more.",
"topUpLink": "Top up credits",
"priceCredits": "{credits} credits (≈ {usd})",
"priceCreditsShort": "{credits} cr",
"success": {
"bought": "Package purchased — rewards have been added to your account.",
"boughtNamed": "You purchased \"{name}\" — rewards have been added to your account."
},
"errors": {
"invalid": "That package is no longer available.",
"credits": "You don't have enough credits for this package.",
"ratelimit": "You're purchasing too fast. Please wait a moment and try again.",
"error": "Something went wrong. Please try again."
}
},
"topup": {
"title": "Fyld op med PayPal",
"subtitle": "Betal sikkert med PayPal, og dine kreditter tilføjes i det øjeblik, betalingen slettes.",
"cancelled": "Checkout blev annulleret - ingen betaling blev taget.",
"chooseAmount": "Vælg et beløb",
"notConfiguredPre": "PayPal er ikke konfigureret endnu. En administrator skal indstille",
"notConfiguredAnd": "og",
"notConfiguredOptional": "(og eventuelt",
"notConfiguredPost": "for sandkasse vs. live).",
"balanceTitle": "Din balance",
"signedInAs": "Logget ind som {username}",
"credits": "Credits",
"creditsPerUnit": "Kreditter pr. 1,00 {currency}",
"rateLine": "Du modtager <strong>{amount}</strong>-kreditter pr. 1,00 {currency}. Credits vises i spillet, næste gang du logger ind."
},
"marketplace": {
"title": "Markedsplads",
"subtitle": "Gennemse møbler og sjældne varer opført af spillere. Opslag placeres i spillet og opdateres live - gå ind på hotellet for at give et tilbud.",
"activeOffers": "Aktive tilbud",
"sellers": "Sælgere",
"totalValue": "Samlet værdi",
"activeListings": "Aktive opslag",
"mostRecentFirst": "Senest opført først",
"empty": "Der er ingen aktive markedspladstilbud lige nu. Kom tilbage senere.",
"colOffer": "Tilbud",
"colItem": "Vare",
"colSeller": "Sælger",
"colPrice": "Pris",
"colListed": "Opført",
"itemLabel": "Vare nr. {id}",
"userLabel": "Bruger #{id}",
"justNow": "lige nu",
"minutesAgo": "for {count} m siden",
"hoursAgo": "for {count} t siden",
"daysAgo": "for {count}d siden"
},
"rares": {
"title": "Sjældne værdier",
"subtitle": "Få et overblik over alle de sjældne på hotellet, grupperet efter kategori.",
"empty": "Vi har i øjeblikket ingen sjældne opført her.",
"rareCount": "{count, plural, one {# rare} other {# rares}}",
"viewRares": "Se sjældne →"
},
"rareCategory": {
"rareCount": "{count, plural, one {# rare in this category} other {# rares in this category}}",
"allRares": "← Alle sjældne",
"empty": "Der er endnu ingen sjældne i denne kategori.",
"colRare": "Sjælden",
"colCredits": "Credits",
"colCurrency": "Valuta",
"creditsValue": "{value} kreditter",
"duckets": "Ænder",
"diamonds": "Diamanter",
"credits": "Credits"
},
"redeem": {
"title": "Indløs en voucher",
"subtitle": "Har du en rabatkode? Indtast den nedenfor for at tilføje belønningen til din konto.",
"enterCode": "Indtast din kode",
"oncePerAccount": "Hver voucher kan kun indløses én gang pr. konto.",
"balanceTitle": "Din balance",
"signedInAs": "Logget ind som {username}",
"credits": "Credits",
"instantCredit": "Indløste belønninger krediteres øjeblikkeligt og vises i spillet, næste gang du logger ind."
},
"help": {
"title": "Hjælpecenter",
"subtitle": "Find guider, supportemner og hotelreglerne – alt hvad du behøver for at få hjælp.",
"myTickets": "Mine billetter →",
"topicsTitle": "Support emner",
"topicsSubtitle": "Gennemse guider og svar på almindelige spørgsmål",
"topicsEmpty": "Ingen hjælpeemner endnu.",
"rulesTitle": "Hotel regler",
"rulesSubtitle": "Læs venligst disse før du hænger ud på hotellet",
"rulesEmpty": "Ingen regler offentliggjort endnu.",
"categoryEmpty": "Ingen regler i denne kategori."
},
"helpCategory": {
"back": "← Hjælpecenter",
"topicSubtitle": "Emne i Hjælp",
"moreTitle": "Flere hjælpeemner",
"moreSubtitle": "Hop til et andet supportemne"
},
"helpTickets": {
"title": "Hjælp billetter",
"subtitle": "Indsend en billet til personalet og spor dine åbne anmodninger.",
"statTotal": "Samlet antal billetter",
"statOpen": "Åbn",
"statClosed": "Lukket",
"newTitle": "Ny billet",
"newSubtitle": "Beskriv dit problem, og personalet vil følge op",
"subjectPlaceholder": "Emne",
"contentPlaceholder": "Beskriv dit problem...",
"submit": "Indsend billet",
"listTitle": "Dine billetter",
"listSubtitle": "Hver anmodning, du har sendt til personalet",
"listEmpty": "Du har ingen billetter endnu.",
"colId": "ID",
"colSubject": "Emne",
"colStatus": "Status",
"colCreated": "Oprettet",
"statusOpen": "Åbn",
"statusClosed": "Lukket",
"success": {
"created": "Ticket submitted."
},
"errors": {
"invalid": "Please fill in a subject and description.",
"moderated": "That ticket was blocked by moderation.",
"ratelimit": "You're submitting too fast. Please wait a moment and try again.",
"error": "Something went wrong. Please try again."
},
"banAppealLabel": "This is a ban appeal"
},
"applyStaff": {
"title": "Ansøg om {hotel} personale",
"subtitle": "Vi åbner personaleansøgninger i ny og næ. Hvis du støder på en stilling, du føler, at du ville passe perfekt ind i, så tøv ikke med at søge den.",
"noPositionsTitle": "Ingen ledige stillinger",
"noPositionsBody": "Der er i øjeblikket ingen ledige stillinger. Venligst vend tilbage på et senere tidspunkt for at tjekke, om vi har åbninger inden da. Tak for din interesse.",
"noDeadline": "Ingen deadline fastsat",
"deadline": "Ansøgningsfrist: {date}",
"alreadyApplied": "Du har allerede ansøgt om {rank}",
"aboutYou": "Om dig",
"aboutPlaceholder": "Fortæl os, hvorfor du ville være en stor {rank}...",
"applyFor": "Ansøg om {rank}",
"success": {
"submitted": "Application submitted — staff will review it soon."
},
"errors": {
"empty": "Please write at least 10 characters about yourself.",
"invalid": "Invalid application.",
"duplicate": "You have already applied for this position.",
"ratelimit": "You're submitting too fast. Please wait a moment and try again.",
"error": "Something went wrong. Please try again."
}
},
"applyTeam": {
"title": "Ansøg om {hotel}-teamet",
"subtitle": "Vi åbner teamansøgninger med jævne mellemrum. Hvis du ser et hold du passer, så tøv ikke med at ansøge!",
"noPositionsTitle": "Ingen holdstillinger åbne",
"noPositionsBody": "Der er i øjeblikket ingen ledige holdstillinger. Venligst vend tilbage senere for at se efter nye åbninger. Tak!",
"pending": "Din ansøgning afventer",
"aboutYou": "Om dig",
"aboutPlaceholder": "Fortæl os, hvorfor du ville passe godt til {rank}...",
"applyFor": "Ansøg om {rank}",
"success": {
"submitted": "Application submitted — staff will review it soon."
},
"errors": {
"empty": "Please write at least 10 characters about yourself.",
"invalid": "Invalid application.",
"duplicate": "You have already applied for this team.",
"ratelimit": "You're submitting too fast. Please wait a moment and try again.",
"error": "Something went wrong. Please try again."
}
},
"radio": {
"title": "Radio",
"subtitle": "Stil ind på hotellets radio — live DJ-sæt, anmodninger og shoutouts.",
"nowPlaying": "Spiller nu",
"nothingPlaying": "Intet spiller lige nu.",
"onAir": "I luften: {dj}",
"noDj": "Ingen DJ i luften.",
"audioUnsupported": "Din browser understøtter ikke lydelementet.",
"streamOffline": "Streamen er i øjeblikket offline.",
"exploreTitle": "Udforsk radioen",
"exploreSubtitle": "Tidsplan, råb, anmodninger og mere",
"linkSchedule": "Tidsplan",
"linkScheduleText": "Vores ugentlige line-up af DJs og shows.",
"linkShouts": "Råber",
"linkShoutsText": "Råb og anmodninger fra fællesskabet.",
"linkRequests": "Forespørgsler",
"linkRequestsText": "Bed DJ'en om at spinne dit yndlingsnummer.",
"linkApply": "Ansøg som DJ",
"linkApplyText": "Slut dig til holdet og gå i æteren.",
"linkLeaderboard": "Leaderboard",
"linkLeaderboardText": "Toplyttere rangeret efter optjente point.",
"todayTitle": "Dagens tidsplan",
"todayTitleWithDay": "Dagens tidsplan · {day}",
"todaySubtitle": "Hvad er der i æteren i dag",
"fullWeek": "Hel uge →",
"noShowsToday": "Ingen forestillinger planlagt i dag.",
"colTime": "Tid",
"colShow": "Vis",
"colDj": "DJ",
"untitledShow": "Udsendelse uden titel",
"userNumber": "Bruger #{id}"
},
"radioSchedule": {
"title": "Radioskema",
"subtitle": "Vores ugentlige line-up af DJs og shows",
"empty": "Ingen forestillinger planlagt endnu.",
"colDay": "dag",
"colTime": "Tid",
"colDj": "DJ",
"colShow": "Vis",
"noShows": "Ingen shows"
},
"radioShouts": {
"title": "Radio råb",
"subtitle": "Råb og anmodninger fra fællesskabet",
"postTitle": "Send et råb",
"postSubtitle": "Send en besked til DJ on air",
"messageLabel": "Din besked",
"messagePlaceholder": "Send et råb til DJ'en...",
"shoutButton": "Råb",
"loginToPost": "Log ind for at sende et råb.",
"latestTitle": "Seneste råb",
"latestSubtitle": "De seneste beskeder fra lyttere",
"empty": "Ingen råb endnu. Vær den første!",
"success": {
"posted": "Shout posted."
},
"errors": {
"invalid": "Please write a message before shouting.",
"moderated": "That shout was blocked by moderation.",
"ratelimit": "You're shouting too fast. Please wait a moment and try again.",
"error": "Something went wrong. Please try again."
}
},
"radioContests": {
"title": "Radiokonkurrencer",
"subtitle": "Stil ind og deltag i vores seneste on-air konkurrencer",
"empty": "Ingen konkurrencer endnu.",
"contestLabel": "Konkurrence #{id}",
"dateUnknown": "Dato ukendt"
},
"radioGiveaways": {
"title": "Radio Giveaways",
"subtitle": "Lyt med for at få din chance for at vinde i vores radio giveaways",
"empty": "Ingen giveaways endnu.",
"giveawayLabel": "Giveaway #{id}",
"dateUnknown": "Dato ukendt"
},
"radioLeaderboard": {
"title": "Radiolytter Leaderboard",
"subtitle": "Top 50 lyttere efter optjente point ved at stille ind på radioen",
"empty": "Ingen lytterpoint at vise endnu.",
"colRank": "Rang",
"colAvatar": "Avatar",
"colListener": "Lytter",
"colPoints": "Points"
},
"radioRequests": {
"formTitle": "Send en anmodning",
"formSubtitle": "Bed DJ'en om at spille dit yndlingsnummer",
"songLabel": "Sang",
"songPlaceholder": "Titel på sangen",
"artistLabel": "Kunstner",
"artistPlaceholder": "Kunstnerens navn (valgfrit)",
"submitButton": "Indsend anmodning",
"loginToRequest": "Log ind for at indsende en anmodning.",
"latestTitle": "Seneste anmodninger",
"latestSubtitle": "De senest efterspurgte sange",
"empty": "Ingen anmodninger endnu.",
"colSong": "Sang",
"colArtist": "Kunstner",
"colRequester": "Anmoder",
"colDate": "Dato",
"colStatus": "Status",
"statusPending": "Afventer",
"statusApproved": "Godkendt",
"statusPlayed": "Spillede",
"success": {
"posted": "Request submitted."
},
"errors": {
"empty": "Please enter a song title or artist.",
"invalid": "Invalid request.",
"ratelimit": "You're submitting too fast. Please wait a moment and try again.",
"error": "Something went wrong. Please try again."
}
},
"radioApply": {
"title": "Ansøg om at blive Radio DJ",
"subtitle": "Fortæl os om dig selv, og hvorfor du ville passe godt til æteren",
"latestTitle": "Din seneste ansøgning",
"statusLabel": "Status:",
"submittedOn": "· indsendt {date}",
"submitAgain": "Du kan indsende igen nedenfor, hvis dine oplysninger er ændret.",
"formTitle": "Ansøgningsskema",
"formSubtitle": "Alle felter markeret som obligatoriske skal udfyldes",
"realNameLabel": "Rigtigt navn",
"realNamePlaceholder": "Dit fulde navn",
"ageLabel": "Alder",
"availabilityLabel": "Tilgængelighed",
"availabilityPlaceholder": "Hvilke dage og tidspunkter kan du sende?",
"musicStyleLabel": "Musik stil",
"musicStylePlaceholder": "f.eks. House, Pop, Hip-Hop",
"experienceLabel": "Erfaring",
"optional": "(valgfrit)",
"experiencePlaceholder": "Har du tidligere erfaring med DJ eller vært?",
"motivationLabel": "Motivation",
"motivationPlaceholder": "Hvorfor vil du være med på radioholdet?",
"submitButton": "Indsend ansøgning",
"success": {
"submitted": "Application submitted — we will get back to you soon."
},
"errors": {
"invalid": "Please fill in all required fields.",
"ratelimit": "You're submitting too fast. Please wait a moment and try again.",
"error": "Something went wrong. Please try again."
}
},
"settings": {
"accountSettings": "Kontoindstillinger",
"accountSettingsSubtitle": "Administrer din profil, sikkerhed og tilknyttede konti",
"publicProfile": "Din offentlige profil",
"noMotto": "Intet motto",
"noEmail": "Ingen e-mail på filen",
"changeMotto": "Skift motto",
"changeMottoSubtitle": "Opdateres øjeblikkeligt i spillet, hvis du er online",
"mottoPlaceholder": "Dit motto",
"saveMotto": "Gem motto",
"securityTitle": "Sikkerhed",
"securitySubtitle": "To-faktor autentificering",
"securityDescription": "Tilføj et ekstra beskyttelseslag til din konto.",
"twoFactorLink": "To-faktor autentificering"
},
"settings2fa": {
"backToSettings": "← Indstillinger",
"title": "To-faktor autentificering",
"subtitle": "Tilføj et ekstra sikkerhedslag med en godkendelsesapp",
"nowEnabled": "2FA er nu aktiveret. 🔒",
"disabledNotice": "2FA er blevet deaktiveret.",
"badCode": "Den kode var ikke gyldig – prøv igen.",
"noAppKeyPrefix": "2FA er ikke tilgængelig indtil",
"noAppKeyMiddle": "er konfigureret (den samme Laravel",
"noAppKeySuffix": "som din AtomCMS installerer, så eksisterende hemmeligheder forbliver læsbare).",
"isEnabled": "2FA er aktiveret",
"onYourAccount": "på din konto.",
"disable": "Deaktiver 2FA",
"scanOrEnter": "Scan eller indtast denne tast",
"scanInstructions": "Føj dette til Google Authenticator / Authy, og indtast derefter den 6-cifrede kode for at bekræfte.",
"manualKey": "Manuel nøgle:",
"codePlaceholder": "6-cifret kode",
"confirm": "Bekræft",
"enableIntro": "Tilføj et ekstra sikkerhedslag med en godkendelsesapp.",
"enable": "Aktiver 2FA"
},
"title": "Tilknyttede konti",
"subtitle": "Link en social konto, så du kan logge ind med et enkelt klik",
"connected": "Forbundet",
"unavailable": "Ikke tilgængelig",
"login": {
"title": "Log ind",
"subtitle": "Velkommen tilbage - log ind for at komme ind på hotellet.",
"subtitle2fa": "Indtast den 6-cifrede kode fra din autentificering.",
"usernamePlaceholder": "Brugernavn",
"passwordPlaceholder": "Adgangskode",
"codePlaceholder": "2FA kode",
"pleaseWait": "Vent venligst...",
"verify": "Bekræft",
"signIn": "Log ind",
"or": "eller",
"noAccount": "Ingen konto?",
"createOne": "Opret en",
"forgotPassword": "Glemt adgangskode?",
"errorInvalidCredentials": "Ugyldigt brugernavn eller adgangskode",
"errorInvalid2fa": "Ugyldig 2FA-kode",
"welcomeBack": "Velkommen tilbage",
"welcomeBackSub": "Log ind for at fortsætte til {hotelName}",
"errorUnverified": "Please verify your email before signing in.",
"errorCaptcha": "Captcha verification failed. Please try again."
},
"register": {
"title": "Opret konto",
"subtitle": "Kom med på hotellet - det tager kun et øjeblik.",
"username": "Brugernavn",
"email": "E-mail",
"password": "Adgangskode",
"confirmPassword": "Gentag adgangskoden",
"usernamePlaceholder": "Brugernavn",
"emailPlaceholder": "E-mail",
"passwordPlaceholder": "Adgangskode (min. 6 tegn)",
"confirmPasswordPlaceholder": "Gentag adgangskoden",
"selectOutfit": "Vælg dit outfit",
"termsAccept": "Jeg er 18+ og accepterer vilkårene og reglerne for {hotel}.",
"createAccount": "Opret konto",
"creatingAccount": "Opretter konto...",
"redirecting": "Omdirigerer til din konto...",
"alreadyHaveAccount": "Har du allerede en konto? Log ind!",
"register": "Tilmeld dig",
"termsError": "Du skal acceptere vilkårene og reglerne for at registrere dig.",
"usernameError": "Brugernavn er påkrævet.",
"emailError": "Gyldig e-mail er påkrævet.",
"passwordError": "Adgangskoden skal være på mindst 6 tegn.",
"confirmPasswordError": "Adgangskoder stemmer ikke overens.",
"termsRequired": "Du skal acceptere vilkårene og reglerne.",
"usernameRequired": "Brugernavn er påkrævet.",
"emailRequired": "E-mail er påkrævet.",
"passwordRequired": "Adgangskode er påkrævet.",
"passwordsDontMatch": "Adgangskoder stemmer ikke overens.",
"alreadyHaveAccountPre": "Har du allerede en konto?",
"alreadyHaveAccountLink": "Log ind",
"whoIsOnline": "Hvem er online",
"usersOnline": "{count} online"
},
"forgot": {
"title": "Nulstil adgangskode",
"subtitle": "Vi sender dig en e-mail med et sikkert link for at angive en ny adgangskode.",
"sentNotice": "Hvis denne e-mail er registreret, er et nulstillingslink blevet sendt. Tjek din indbakke.",
"emailPlaceholder": "Din e-mail",
"sendResetLink": "Send nulstillingslink",
"backToLogin": "Tilbage til login",
"errorCaptcha": "Captcha verification failed. Please try again."
},
"reset": {
"title": "Indstil en ny adgangskode",
"subtitle": "Vælg en stærk adgangskode, du ikke bruger andre steder.",
"passwordPlaceholder": "Ny adgangskode (min. 6 tegn)",
"resetPassword": "Nulstil adgangskode",
"backToLogin": "Tilbage til login"
},
"verify": {
"verifiedTitle": "Du er klar",
"verifiedSubtitle": "E-mail bekræftet",
"verifiedBody": "Din e-mailadresse er blevet bekræftet. Du kan nu logge ind og spille.",
"goToLogin": "Gå til login",
"alreadyTitle": "Allerede bekræftet",
"alreadySubtitle": "Intet tilbage at gøre",
"alreadyBody": "Denne e-mailadresse er allerede blevet bekræftet.",
"unavailableTitle": "Prøv igen om lidt",
"unavailableSubtitle": "Server utilgængelig",
"unavailableBody": "Vi kunne ikke nå serveren for at bekræfte din e-mail. Prøv venligst linket igen om et øjeblik.",
"invalidTitle": "E-mailbekræftelse",
"invalidSubtitle": "Ugyldigt eller udløbet link",
"invalidBody": "Dette bekræftelseslink er ikke gyldigt. Sørg for, at du har åbnet hele linket fra din e-mail, eller anmod om et nyt.",
"backToLogin": "Tilbage til login"
},
"banned": {
"title": "Du er bandlyst",
"subtitle": "Konto suspenderet",
"body": "Din konto er blevet suspenderet fra hotellet.",
"reasonLabel": "Årsag:",
"permanent": "Dette forbud er permanent.",
"expires": "Udløber {date}.",
"contactStaff": "Hvis du mener, at dette er en fejl, skal du kontakte personaleteamet."
},
"maintenance": {
"title": "{hotel} er under vedligeholdelse",
"subtitle": "Vi vender snart tilbage",
"staffCanLogIn": "Personalet kan stadig logge ind."
},
"admin": {
"nav": {
"overview": "Oversigt",
"dashboard": "Dashboard",
"content": "Indhold",
"articles": "Artikler",
"tags": "Tags",
"navigator": "Navigator",
"helpCenter": "Hjælpecenter",
"advertisements": "Annoncer",
"writeableBoxes": "Skrivbare kasser",
"photos": "Fotos",
"tickets": "Billetter",
"events": "Events",
"polls": "Polls",
"banners": "Banners",
"prefixes": "Prefixes",
"usersAndAccess": "Brugere og adgang",
"users": "Brugere",
"bans": "Forbud",
"ipManagement": "IP-håndtering",
"vpn": "VPN",
"applications": "Ansøgninger",
"teams": "Hold",
"permissions": "Tilladelser",
"onlineUsers": "Online users",
"moderation": "Moderation",
"economy": "Økonomi",
"catalog": "Katalog",
"shop": "Butik",
"transactions": "Transaktioner",
"vouchers": "Kuponer",
"subscriptions": "Abonnementer",
"rareValues": "Sjældne værdier",
"badges": "Badges",
"achievements": "Præstationer",
"calendar": "Kalender",
"radio": "Radio",
"radioHistory": "Radiohistorie",
"radioBanners": "Bannere",
"radioEmbed": "Integrer",
"radioApiKeys": "API nøgler",
"radioModeration": "Moderering",
"radioSettings": "Indstillinger",
"radioMonitoring": "Overvågning",
"radioPoints": "Points",
"radioRanks": "Rangerer",
"radioAutodj": "Auto DJ",
"system": "System",
"commandocentrum": "Kommandocentrum",
"emulator": "Emulator",
"alerts": "Advarsler",
"logs": "Logs",
"auditLog": "Audit log",
"analytics": "Analytics",
"devops": "DevOps",
"wordFilter": "Ord filter",
"maintenance": "Vedligeholdelse",
"rooms": "Værelser",
"emailTemplates": "Email skabeloner",
"theme": "Tema",
"media": "Medier",
"favicon": "Favicon",
"sounds": "Lyde",
"translations": "Oversættelser",
"import": "Importer",
"settings": "Indstillinger",
"backToSite": "Tilbage til webstedet",
"housekeeping": "Husholdning",
"hotelManagementPanel": "Hotel management panel",
"rankLabel": "Rangering {rank}",
"hubNewsMedia": "News & media",
"hubSiteContent": "Site content",
"hubEngagement": "Engagement",
"hubUsers": "Users",
"hubAccess": "Access & security",
"hubCatalog": "Catalog & rares",
"hubShop": "Shop & payments",
"hubTools": "Tools",
"hubObservability": "Observability",
"helpTickets": "Help-center tickets",
"marketplace": "Marketplace",
"expandAll": "Expand all",
"collapseAll": "Collapse all",
"searchMenu": "Search menu…",
"clearMenuSearch": "Clear menu search",
"noMenuResults": "No matching pages.",
"community": "Community",
"monitoring": "Monitoring",
"staffAccess": "Ranks & permissions",
"multiAccounts": "Multi-accounts",
"chatLog": "Chat log",
"commandLog": "Command log",
"tradeLog": "Trade log",
"tools": "Tools",
"guilds": "Guilds",
"itemsBase": "Items base",
"adminMenu": "Admin menu",
"operationsCenter": "Operations center"
},
"dashboard": {
"title": "Dashboard",
"subtitle": "Hotel oversigt & live status",
"playersOnline": "Spillere online",
"articles": "Artikler",
"activeBans": "Aktive forbud",
"database": "Database",
"databaseConnected": "Forbundet",
"databaseDown": "Ned",
"usersByRank": "Brugere efter rang",
"noAccountsToBreakDown": "Ingen konti at opdele endnu",
"rankLabel": "Rangering {rank}",
"rankWithCount": "Ranger {rank}: {count} konti",
"recentStaffActivity": "Seneste personaleaktivitet",
"viewAll": "Se alle",
"noStaffActivityLogged": "Ingen personaleaktivitet logget endnu"
},
"articles": {
"title": "Artikler",
"subtitle": "Nyhedsartikler — 50 seneste",
"newArticle": "+ Ny artikel",
"edit": "Rediger",
"delete": "Slet",
"noArticles": "Ingen artikler endnu",
"confirmDelete": "Er du sikker på, at du vil slette \"{title}\"?",
"colTitle": "Titel",
"colSlug": "Snegl",
"colAuthor": "Forfatter",
"colCreated": "Oprettet",
"colActions": "Handlinger",
"form": {
"title": "Titel",
"titlePlaceholder": "Artiklens titel",
"slug": "Snegl",
"slugPlaceholder": "artikel-url-slug",
"category": "Kategori",
"categoryPlaceholder": "Vælg en kategori",
"body": "Krop",
"bodyPlaceholder": "Skriv dit artikelindhold...",
"image": "Billede",
"imagePlaceholder": "https://example.com/image.png",
"thumbnail": "Miniaturebillede",
"thumbnailPlaceholder": "https://example.com/thumb.png",
"published": "Udgivet",
"featured": "Udvalgte",
"save": "Gem artiklen",
"saving": "Gemmer...",
"deleteArticle": "Slet artikel",
"deleteConfirm": "Denne handling kan ikke fortrydes. Artiklen fjernes permanent.",
"cancel": "Annuller",
"autosaveLoading": "Loading saved drafts…",
"autosaveReady": "Private draft autosave is ready.",
"autosaveSaving": "Saving private draft…",
"autosaveSaved": "Private draft saved. Publication changes require Save.",
"autosaveFailed": "Draft recovery is unavailable. Keep this page open and use Save; reload to retry recovery.",
"autosaveConflict": "Another tab changed this draft. Autosave is paused: reload to review the newer draft before continuing.",
"recoveryFound": "An unfinished private draft is available. Recover or discard it to enable autosave.",
"recoverDraft": "Recover draft",
"discardDraft": "Discard saved draft",
"confirmRecovery": "Replace the current editor content with this recovered draft? It will remain unpublished until you save.",
"confirmDiscardDraft": "Permanently discard your saved recovery draft? The current editor content will remain.",
"revisionHistory": "Previous saved versions (latest 20)",
"restoreRevision": "Restore into editor",
"confirmRevision": "Replace the current editor content with this previous version as a draft? Review it and choose a publication status before saving.",
"editConflict": "This article changed after you opened it. Your changes were not applied. Copy your work, reload the article, and merge the changes before saving again.",
"retryRecovery": "Reload recovery without changing this form"
},
"listActionError": "The article action could not be completed.",
"listStatus": "Publication status",
"listStatus_all": "All articles",
"listStatus_draft": "Draft",
"listStatus_published": "Published",
"listStatus_scheduled": "Scheduled",
"listSearch": "Search title or summary",
"listApply": "Apply",
"listLoading": "Loading…",
"listReset": "Reset filters",
"listUnavailable": "Articles are temporarily unavailable. Try again.",
"listRetry": "Try again",
"listTotal": "{count, plural, one {# matching article} other {# matching articles}}",
"listNoMatches": "No articles match these filters. Change the search or reset the filters.",
"listPagination": "Article pages",
"listPrevious": "Previous",
"listNext": "Next",
"listPage": "Page {page} of {total}"
},
"tags": {
"title": "Tags",
"subtitle": "Artikel tags / kategorier",
"addTag": "Tilføj tag",
"name": "Navn",
"namePlaceholder": "Tag navn",
"backgroundColour": "Baggrundsfarve",
"createTag": "Opret tag",
"editTag": "Rediger tag",
"updateTag": "Opdater tag",
"deleteTag": "Slet tag",
"confirmDelete": "Vil du slette \"{name}\"?",
"noTags": "Ingen tags endnu",
"colId": "ID",
"colTag": "Tag",
"colColour": "Farve",
"colUsedBy": "Brugt af",
"colCreated": "Oprettet",
"colActions": "Handlinger"
},
"navigation": {
"title": "Navigator",
"flatCategories": "Flade kategorier",
"publicRooms": "Offentlige lokaler",
"addCategory": "Tilføj kategori",
"editCategory": "Rediger kategori",
"deleteCategory": "Slet kategori",
"categoryName": "Kategorinavn",
"categoryNamePlaceholder": "f.eks. Chill & Chat",
"categoryOrder": "Bestil",
"roomName": "Værelsesnavn",
"roomNamePlaceholder": "f.eks. Velkommen Lounge",
"roomId": "Rum ID",
"roomIdPlaceholder": "Numerisk rum-id",
"save": "Gem",
"cancel": "Annuller",
"noCategories": "No categories yet",
"noPublicRooms": "Ingen offentlige lokaler endnu",
"colId": "ID",
"colName": "Navn",
"colOrder": "Bestil",
"colRooms": "Værelser",
"colActions": "Handlinger"
},
"helpCenter": {
"title": "Hjælpecenter",
"subtitle": "Supportindlæg og FAQ-håndtering",
"entries": "Indgange",
"newEntry": "+ Ny post",
"edit": "Rediger",
"delete": "Slet",
"noEntries": "Ingen poster endnu",
"confirmDelete": "Vil du slette \"{title}\"?",
"colId": "ID",
"colTitle": "Titel",
"colCategory": "Kategori",
"colCreated": "Oprettet",
"colActions": "Handlinger",
"form": {
"title": "Titel",
"titlePlaceholder": "Indgangstitel",
"category": "Kategori",
"categoryPlaceholder": "Vælg kategori",
"body": "Krop",
"bodyPlaceholder": "Skriv svaret...",
"save": "Gem post",
"saving": "Gemmer...",
"deleteEntry": "Slet post",
"cancel": "Annuller"
}
},
"ads": {
"title": "Annoncer",
"subtitle": "Administrer hotelannoncer og reklamebannere",
"newAd": "+ Ny annonce",
"edit": "Rediger",
"delete": "Slet",
"noAds": "Ingen annoncer endnu",
"confirmDelete": "Vil du slette denne annonce?",
"colId": "ID",
"colName": "Navn",
"colImage": "Billede",
"colUrl": "URL",
"colViews": "Visninger",
"colStatus": "Status",
"colCreated": "Oprettet",
"colActions": "Handlinger",
"form": {
"name": "Navn",
"namePlaceholder": "Annoncenavn",
"image": "Billed-URL",
"imagePlaceholder": "https://example.com/banner.png",
"url": "Mål-URL",
"urlPlaceholder": "https://example.com",
"enabled": "Aktiveret",
"save": "Gem annonce",
"saving": "Gemmer...",
"deleteAd": "Slet annonce",
"cancel": "Annuller"
},
"deleteSuccess": "Advertisement deleted!",
"deleteError": "Failed to delete advertisement.",
"adsCount": "Total ads",
"latest": "Latest",
"mostRecentAd": "Most recent ad",
"allAds": "All advertisements",
"colPreview": "Preview"
},
"writeableBoxes": {
"title": "Skrivbare æsker",
"subtitle": "Indholdspaneler vist på tværs af hotellet og CMS",
"newBox": "Ny æske",
"edit": "Rediger",
"delete": "Slet",
"noBoxes": "Ingen skrivbare bokse endnu",
"confirmDelete": "Vil du slette denne boks?",
"colId": "ID",
"colName": "Navn",
"colLocation": "Beliggenhed",
"colUpdated": "Opdateret",
"colActions": "Handlinger",
"form": {
"name": "Navn",
"namePlaceholder": "Æskenavn",
"location": "Beliggenhed",
"locationPlaceholder": "f.eks. hjemmeside, sidebjælke",
"content": "Indhold",
"contentPlaceholder": "Skriv boksens indhold...",
"enabled": "Aktiveret",
"save": "Gem boks",
"saving": "Gemmer...",
"deleteBox": "Slet boks",
"cancel": "Annuller"
}
},
"photos": {
"title": "Photo Moderation",
"subtitle": "Seneste kamerabilleder i spillet",
"delete": "Slet",
"approve": "Godkend",
"noPhotos": "Ingen billeder at moderere",
"confirmDelete": "Vil du slette dette billede permanent?",
"colId": "ID",
"colPreview": "Forhåndsvisning",
"colUser": "Bruger",
"colRoom": "Værelse",
"colTimestamp": "Tidsstempel",
"colActions": "Handlinger",
"photoAlt": "User photo #{id}",
"byUser": "by {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",
"purgeHint": "Delete removes the database row and best-effort deletes a matching file under /public. External CDN URLs are not purged."
},
"users": {
"title": "Brugere",
"subtitle": "Gennemse, søg og administrer hotelkonti",
"search": "Søg",
"searchPlaceholder": "Søg efter brugernavn, e-mail eller id...",
"searchResults": "{count, plural, one {# result} other {# results}} for \"{query}\"",
"noResults": "Ingen brugere fundet",
"colId": "ID",
"colUsername": "Brugernavn",
"colEmail": "E-mail",
"colRank": "Rang",
"colOnline": "Online",
"colRegistered": "Registreret",
"colLastOnline": "Sidst online",
"colActions": "Handlinger",
"yes": "Ja",
"no": "Nej",
"edit": "Rediger",
"setRank": "Sæt rang",
"disconnect": "Afbryd forbindelsen",
"alert": "Advarsel",
"ban": "Forbud",
"detail": {
"title": "User: {username}",
"subtitle": "Kontooplysninger og administration",
"overview": "Oversigt",
"actions": "Handlinger",
"username": "Brugernavn",
"email": "E-mail",
"motto": "Motto",
"rank": "Rang",
"credits": "Credits",
"duckets": "Ænder",
"diamonds": "Diamonds",
"online": "Online",
"registered": "Registered",
"lastOnline": "Sidst online",
"ipAddress": "IP-adresse",
"machineId": "Maskin-id",
"sendAlert": "Send alert",
"sendMessage": "Send besked",
"disconnectUser": "Disconnect user",
"banUser": "Forbyd bruger",
"resetPassword": "Nulstil adgangskode",
"deleteUser": "Slet bruger",
"confirmDelete": "Er du sikker på, at du vil slette {username}? Dette kan ikke fortrydes.",
"tabInfo": "Account Info",
"tabBadges": "Badges ({count})",
"tabRooms": "Rooms ({count})",
"tabSanctions": "Sanctions ({count})",
"tabActivity": "Activity"
},
"editForm": {
"title": "Rediger bruger: {username}",
"subtitle": "Rediger kontooplysninger",
"username": "Brugernavn",
"usernamePlaceholder": "Brugernavn",
"email": "E-mail",
"emailPlaceholder": "[email protected]",
"motto": "Motto",
"mottoPlaceholder": "Bruger motto",
"rank": "Rang",
"credits": "Credits",
"duckets": "Duckets",
"diamonds": "Diamanter",
"save": "Save changes",
"saving": "Gemmer...",
"cancel": "Annuller"
},
"presentation": {
"users": "Users",
"edit": "Edit",
"view": "View",
"rank": "Rank {rank}",
"online": "Online",
"offline": "Offline",
"banned": "Banned",
"credits": "credits",
"diamonds": "diamonds",
"duckets": "duckets",
"pixels": "pixels",
"rooms": "Rooms",
"messages": "Messages",
"trades": "Trades",
"accountDetails": "Account details",
"registered": "Registered",
"lastLogin": "Last login",
"ipRegister": "Registration IP",
"ipCurrent": "Current IP",
"machineId": "Device ID",
"email": "Email",
"gender": "Gender",
"never": "Never",
"findIp": "Find users with this IP",
"enabled": "Enabled",
"disabled": "Disabled",
"unavailable": "Not available",
"noBadges": "No badges assigned"
},
"create": {
"newUser": "New user",
"title": "Create user",
"description": "Creates the account immediately with a default avatar and 5,000 credits, pixels, duckets and diamonds.",
"username": "Username",
"email": "Email",
"password": "Password",
"rank": "Rank",
"rankOption": "Rank {rank}",
"motto": "Motto (optional)",
"usernamePlaceholder": "NewHabbo",
"passwordPlaceholder": "At least 6 characters",
"mottoPlaceholder": "I'm new here!",
"generate": "Generate",
"passwordGenerated": "Password generated in the password field.",
"required": "Username, email and password are required.",
"invalidUsername": "Use 3–20 characters: letters, numbers, _ or -.",
"passwordLength": "The password must contain at least 6 characters.",
"created": "User {username} created."
},
"overview": {
"title": "Overview",
"hint": "Up to 5 recent records per source. Only sections you can access are shown.",
"restricted": "You do not have permission to view operational records.",
"sanctions": "Recent bans",
"mute": "Active mute",
"tickets": "Support tickets",
"help": "Help center requests",
"reports": "In-game reports",
"transactions": "Payments",
"purchases": "Catalog purchases",
"activity": "Recorded staff actions",
"openModule": "Open management",
"purchaseHint": "Recorded quantities and currency costs.",
"purchaseDetail": "Quantity: {amount} · Credits: {credits} · Points: {points} (type {type})",
"activityHint": "Staff audit entries targeting this account. This is not a complete history of player activity.",
"muteUntil": "Muted until {date}",
"error": "This source could not be loaded. Refresh the page to try again.",
"empty": "No records found.",
"status": {
"active": "Active",
"expired": "Expired",
"open": "Open",
"closed": "Closed",
"reported": "Reported user",
"reporter": "Reporter"
}
}
},
"bans": {
"title": "Bans",
"subtitle": "Administrer konto-, IP- og maskinforbud",
"newBan": "Nyt forbud",
"edit": "Rediger",
"delete": "Slet",
"noBans": "Ingen forbud endnu",
"confirmDelete": "Vil du fjerne dette forbud?",
"colId": "ID",
"colValue": "Værdi",
"colType": "Type",
"colReason": "Årsag",
"colBannedBy": "Banned by",
"colExpires": "Udløber",
"colCreated": "Created",
"colActions": "Handlinger",
"form": {
"value": "Værdi",
"valuePlaceholder": "Brugernavn, IP eller maskin-id",
"type": "Type",
"typeUser": "Bruger",
"typeIp": "IP",
"typeMachine": "Maskine",
"reason": "Årsag",
"reasonPlaceholder": "Ban grund",
"expiresAt": "Udløber kl",
"permanent": "Permanent",
"save": "Gem forbud",
"saving": "Gemmer...",
"cancel": "Annuller"
}
},
"ip": {
"title": "IP Management",
"subtitle": "Administrer IP-hvidliste og sortliste",
"whitelist": "Hvidliste",
"blacklist": "Sortliste",
"addIp": "Tilføj IP",
"ipAddress": "IP-adresse",
"ipAddressPlaceholder": "f.eks. 127.0.0.1",
"reason": "Årsag",
"reasonPlaceholder": "Reason for listing",
"add": "Tilføj",
"remove": "Fjern",
"confirmRemove": "Vil du fjerne denne IP fra {list}?",
"noWhitelistedIps": "Ingen hvidlistede IP'er",
"noBlacklistedIps": "No blacklisted IPs",
"colIp": "IP",
"colReason": "Årsag",
"colAdded": "Tilføjet",
"colActions": "Handlinger"
},
"vpn": {
"title": "VPN / proxy-detektion",
"subtitle": "Konfigurer VPN- og proxyregistreringsindstillinger",
"enabled": "Aktiveret",
"apiKey": "API nøgle",
"apiKeyPlaceholder": "Din VPN-detekterings-API-nøgle",
"apiKeyHint": "Leave empty to disable",
"blockOnDetect": "Bloker ved detektion",
"blockOnDetectHint": "Bloker automatisk brugere, der er fundet bag en VPN eller proxy",
"save": "Gem indstillinger",
"saving": "Gemmer...",
"settingsSaved": "VPN-indstillinger blev gemt"
},
"applications": {
"title": "Personale ansøgninger",
"subtitle": "Afventende og gennemgået personaleansøgninger",
"pending": "Afventer",
"approved": "Godkendt",
"rejected": "Afvist",
"noApplications": "Ingen ansøgninger endnu",
"colId": "ID",
"colApplicant": "Applicant",
"colPosition": "Stilling",
"colStatus": "Status",
"colSubmitted": "Submitted",
"colActions": "Handlinger",
"review": "Gennemgå",
"approve": "Godkend",
"reject": "Afvis",
"confirmApprove": "Vil du godkende {username} for {position}?",
"confirmReject": "Vil du afvise {username}s ansøgning om {position}?",
"detail": {
"title": "Ansøgning af {username}",
"subtitle": "Til {position}",
"about": "Om ansøgeren",
"message": "Ansøgningsmeddelelse",
"status": "Status",
"submitted": "Indsendt",
"noMessage": "No message provided"
}
},
"teams": {
"title": "Hold",
"subtitle": "Definer medarbejdernes rangnavne og beskrivelser",
"addRank": "Tilføj rang",
"editRank": "Rediger rang",
"deleteRank": "Slet rang",
"noTeams": "Ingen rangdefinitioner endnu",
"confirmDelete": "Vil du slette definitionen af rang {id}?",
"colId": "ID",
"colRank": "Rang",
"colName": "Navn",
"colBadge": "Badge",
"colColour": "Colour",
"colActions": "Handlinger",
"form": {
"rankId": "Rang ID",
"rankIdPlaceholder": "Numerisk rang-id",
"name": "Navn",
"namePlaceholder": "f.eks. Administrator",
"badge": "Badge code",
"badgePlaceholder": "f.eks. ADM001",
"colour": "Colour",
"colourPlaceholder": "f.eks. #ff0000",
"save": "Save team definition",
"saving": "Gemmer...",
"cancel": "Annuller"
}
},
"permissions": {
"title": "Tilladelser",
"subtitle": "Administrer rangbaserede tilladelser til administrationspanelet",
"addPermission": "Tilføj tilladelse",
"editPermission": "Rediger tilladelse",
"deletePermission": "Slet tilladelse",
"noPermissions": "Ingen tilladelser er konfigureret endnu",
"confirmDelete": "Vil du slette denne tilladelse?",
"colId": "ID",
"colRank": "Rang",
"colPermission": "Tilladelse",
"colCreated": "Oprettet",
"colActions": "Handlinger",
"form": {
"rankId": "Rang ID",
"rankIdPlaceholder": "Minimum rang påkrævet",
"permission": "Tilladelsesnøgle",
"permissionPlaceholder": "f.eks. admin.articles.manage",
"save": "Gem tilladelse",
"saving": "Gemmer...",
"cancel": "Annuller"
}
},
"catalog": {
"title": "Katalog",
"subtitle": "Gennemse og administrer katalogsider og elementer",
"pages": "Sider",
"items": "genstande",
"addPage": "Add page",
"editPage": "Edit page",
"deletePage": "Slet side",
"addItem": "Tilføj element",
"editItem": "Rediger element",
"deleteItem": "Slet element",
"noPages": "No catalog pages yet",
"noItems": "Ingen varer på denne side",
"confirmDeletePage": "Vil du slette katalogsiden \"{name}\"?",
"confirmDeleteItem": "Vil du slette dette element?",
"colId": "ID",
"colName": "Navn",
"colIcon": "Ikon",
"colOrder": "Bestil",
"colItems": "genstande",
"colEnabled": "Aktiveret",
"colActions": "Handlinger",
"colItemId": "Vare-id",
"colItemName": "Varens navn",
"colCostCredits": "Omkostninger (kreditter)",
"colCostPoints": "Pris (point)",
"colLimited": "Begrænset",
"pageForm": {
"name": "Navn",
"namePlaceholder": "Sidenavn",
"icon": "Ikon ID",
"iconPlaceholder": "Numerisk ikon-id",
"order": "Bestil",
"enabled": "Aktiveret",
"parent": "Forældre side",
"parentNone": "Ingen (rod)",
"save": "Save page",
"saving": "Gemmer...",
"cancel": "Annuller"
},
"itemForm": {
"itemId": "Vare-id",
"itemName": "Varens navn",
"costCredits": "Cost in credits",
"costDuckets": "Cost in duckets",
"costDiamonds": "Cost in diamonds",
"limitedStack": "Limited stack size",
"limitedSold": "Limited sold",
"save": "Save item",
"saving": "Saving…",
"cancel": "Annuller"
},
"packages": {
"openPackages": "Catalog packages",
"title": "Catalog packages",
"description": "Prepare category and price changes in a separate draft. Review the catalog before publishing.",
"createPackage": "New package",
"createDraft": "Create draft",
"draftCreated": "Package draft created. The live catalog has not changed.",
"refresh": "Refresh list",
"searchPackages": "Search packages",
"noPackages": "No packages match this search.",
"choosePackage": "Open a package or create a draft from existing categories.",
"name": "Package name",
"mode": "Publication mode",
"update": "Update existing categories",
"copy": "Create copies",
"updateHint": "Publication applies the package to its existing categories and offers.",
"copyHint": "Publication creates new categories and offers under the selected parent. Furniture references are preserved.",
"sourceCategories": "Source categories",
"packageLimits": "Descendant categories are included. Each package supports up to 200 categories and 500 offers.",
"searchCategories": "Search categories",
"selectedCategories": "Selected: {count}",
"targetParent": "Destination parent category",
"rootCategory": "Catalog root",
"draft": "Draft",
"published": "Published",
"editDraft": "Edit draft",
"catalogPreview": "Catalog preview",
"showBaseline": "Show the original saved snapshot",
"changes": "Before and after",
"entry": "Entry",
"field": "Field",
"before": "Before",
"after": "After",
"noChanges": "No edited fields compared with the original snapshot.",
"copyReview": "The entire package will be copied on publication, even if no fields were edited. The table lists edits to the original snapshot.",
"updateReview": "These draft changes will update existing catalog entries after publication.",
"saveDraft": "Save draft",
"saveHint": "Saving keeps the package as a draft. Save all changes before requesting a publication review.",
"draftSaved": "Draft saved. Publication is a separate step.",
"reviewPublication": "Review publication",
"publicationImpact": "Publication affects {pages} categories and {offers} offers.",
"conflicts": "Publication is blocked by conflicts. Resolve them before requesting another review.",
"readyToPublish": "The saved version passed the publication check. Publishing changes the live catalog.",
"publish": "Publish package",
"confirmPublish": "Publish this reviewed package to the live catalog now?",
"publishedSuccess": "Package published: {pages} categories and {offers} offers.",
"staleReview": "This package changed in another session. Reopen it to review the latest saved version.",
"unsaved": "Unsaved changes",
"discardChanges": "Discard unsaved package changes and continue?",
"working": "Working…",
"requestFailed": "The request failed. Try again.",
"invalidFields": "Check required names, layouts and whole-number fields before saving.",
"category": "Category",
"caption": "Category caption",
"iconImage": "Category icon ID",
"minRank": "Minimum rank",
"orderNum": "Display order",
"pageLayout": "Page layout",
"enabled": "Enabled",
"visible": "Visible",
"clubOnly": "Club members only",
"vipOnly": "VIP members only",
"offers": "Offers ({count})",
"offer": "Offer",
"catalogName": "Offer name",
"costCredits": "Credits",
"costPoints": "Points",
"pointsType": "Points currency ID",
"amount": "Amount",
"searchOffers": "Search offers",
"currentCategoryOffers": "Only the selected category",
"selectMatching": "Select all matching offers ({count})",
"clearSelection": "Clear selection",
"selectedOffers": "Selected offers: {count}",
"select": "Select",
"selectOffer": "Select offer #{id}",
"noOffers": "No offers match these filters.",
"bulkPrices": "Bulk draft prices ({count} selected)",
"bulkHint": "Preview the selected price changes, then accept them into this draft. The live catalog remains unchanged until publication.",
"operation": "Operation",
"set": "Set value",
"add": "Add or subtract",
"percent": "Adjust by percent",
"value": "Value",
"reviewBulk": "Preview prices",
"invalidBulk": "Choose valid numbers and at least one offer. Resulting prices must be nonnegative and within the supported range.",
"acceptBulk": "Accept prices into draft",
"previous": "Previous",
"next": "Next"
},
"integrity": {
"title": "Catalog integrity",
"description": "Check references, category paths, identifiers and furniture icons. Scanning does not change records.",
"catalog": "Catalog",
"normal": "Normal catalog",
"bc": "Builders Club",
"refresh": "Scan again",
"working": "Checking…",
"failed": "The operation could not be completed. Try again.",
"stalePreview": "The catalog changed after the preview. Create a new preview before applying repairs.",
"applied": "{count} categories reattached to the catalog root.",
"iconsUnavailable": "The icon folder could not be read. Icon availability has not been verified.",
"healthy": "No issues found in the completed checks.",
"total": "{count} issues found. Showing {shown}.",
"open": "Open",
"reference": "Reference: {value}",
"repairHint": "Preview categories whose parent no longer exists. Applying moves only these categories to the root and preserves every record. Cycles, missing furniture, icons and identifier conflicts require individual review.",
"preview": "Preview safe repairs",
"planned": "{count} categories will be moved:",
"parentChange": "parent #{from} → catalog root",
"apply": "Apply previewed repairs",
"legacyTitle": "Advanced maintenance actions",
"legacyHint": "These existing maintenance tools can rewrite identifiers and merge or remove duplicate records. They are separate from the non-destructive integrity check and its previewed parent repair.",
"issues": {
"missing_furniture": "Offer references missing furniture",
"invalid_item_ids": "Invalid furniture identifiers",
"missing_page": "Offer references a missing category",
"unreachable_page": "Unreachable category",
"category_cycle": "Category path contains a cycle",
"missing_icon": "Missing furniture icon",
"invalid_offer_id": "Invalid offer identifier",
"duplicate_offer_id": "Repeated offer identifier"
}
}
},
"shop": {
"title": "Butik",
"subtitle": "Håndtere pakker og ordrer",
"packages": "Packages",
"orders": "Ordrer",
"newPackage": "+ Ny pakke",
"edit": "Rediger",
"delete": "Slet",
"viewOrder": "Visning",
"noPackages": "Ingen butikspakker endnu",
"noOrders": "No orders yet",
"confirmDelete": "Vil du slette denne pakke?",
"colId": "ID",
"colName": "Navn",
"colPrice": "Pris",
"colCurrency": "Valuta",
"colType": "Type",
"colSold": "Sold",
"colEnabled": "Aktiveret",
"colActions": "Handlinger",
"colOrderId": "Ordre-id",
"colCustomer": "Kunde",
"colPackage": "Pakke",
"colAmount": "Beløb",
"colStatus": "Status",
"colDate": "Dato",
"statusPending": "Afventer",
"statusCompleted": "Afsluttet",
"statusRefunded": "Refunderet",
"form": {
"name": "Navn",
"namePlaceholder": "Package name",
"description": "Description",
"descriptionPlaceholder": "Pakkebeskrivelse",
"price": "Pris",
"currency": "Valuta",
"currencyPlaceholder": "EUR, USD, GBP…",
"type": "Type",
"typeCredits": "Credits",
"typeDuckets": "Duckets",
"typeDiamonds": "Diamanter",
"typeBadge": "Badge",
"typeFurni": "Furniture",
"typeRank": "Rang",
"amount": "Beløb",
"badgeCode": "Badge kode",
"badgeCodePlaceholder": "f.eks. VIP001",
"rankId": "Rank ID",
"furniItems": "Møbelartikler",
"enabled": "Aktiveret",
"save": "Gem pakken",
"saving": "Gemmer...",
"cancel": "Annuller"
},
"recentOrders": "Recent orders",
"paidOrders": "Paid orders",
"ordersHint": "Latest PayPal transactions",
"colCredits": "Credits",
"colDuckets": "Duckets",
"colDiamonds": "Diamonds",
"colRank": "Rank",
"colPosition": "Position",
"colTransaction": "Transaction",
"colUser": "User",
"colDescription": "Description",
"pageOf": "Page {page} of {lastPage}",
"packagesTotal": "{count} packages"
},
"transactions": {
"title": "Transaktioner",
"subtitle": "PayPal betalingslog",
"noTransactions": "No transactions yet",
"colId": "ID",
"colUser": "Bruger",
"colAmount": "Beløb",
"colCurrency": "Valuta",
"colPackage": "Pakke",
"colStatus": "Status",
"colDate": "Dato",
"colActions": "Handlinger",
"statusCompleted": "Afsluttet",
"statusPending": "Afventer",
"statusFailed": "Mislykkedes",
"statusRefunded": "Refunderet",
"detail": {
"title": "Transaktion nr. {id}",
"paypalId": "PayPal ID",
"payerEmail": "Betaler e-mail",
"grossAmount": "Bruttobeløb",
"fee": "Gebyr",
"netAmount": "Netto beløb"
},
"totalTransactions": "Total transactions",
"pagePaid": "Paid (this page)",
"pageFailed": "Failed (this page)",
"searchPlaceholder": "Search by user, transaction ID or package…",
"presetPaid": "Paid",
"presetFailed": "Failed",
"colPayer": "Payer",
"colTransaction": "Transaction ID"
},
"vouchers": {
"title": "Shop vouchers",
"subtitle": "Administrer indløselige værdibeviskoder",
"newVoucher": "+ Ny voucher",
"edit": "Rediger",
"delete": "Slet",
"noVouchers": "Ingen værdikuponer endnu",
"confirmDelete": "Vil du slette voucher \"{code}\"?",
"colId": "ID",
"colCode": "Kode",
"colValue": "Værdi",
"colType": "Type",
"colUses": "Uses / Max",
"colExpires": "Udløber",
"colCreated": "Oprettet",
"colActions": "Handlinger",
"form": {
"code": "Code",
"codePlaceholder": "f.eks. SOMMER 2025",
"value": "Værdi",
"type": "Type",
"typeCredits": "Credits",
"typeDuckets": "Duckets",
"typeDiamonds": "Diamonds",
"typeBadge": "Badge",
"typeFurni": "Møbler",
"typeRank": "Rank",
"badgeCode": "Badge kode",
"badgeCodePlaceholder": "f.eks. VIP001",
"rankId": "Rank ID",
"maxUses": "Max bruger",
"maxUsesPlaceholder": "0 = ubegrænset",
"expiresAt": "Udløber kl",
"enabled": "Aktiveret",
"save": "Gem voucher",
"saving": "Gemmer...",
"cancel": "Annuller",
"amount": "Credits amount",
"amountPlaceholder": "e.g. 100",
"create": "Create voucher"
},
"vouchers": "Vouchers",
"active": "Active",
"usedUp": "Used up",
"expired": "Expired",
"confirmDeleteTitle": "Delete voucher",
"created": "Voucher created",
"deleted": "Voucher deleted",
"createError": "Could not create voucher",
"deleteError": "Could not delete voucher",
"statusActive": "Active",
"statusUsedUp": "Used up",
"statusExpired": "Expired",
"colAmount": "Amount",
"colStatus": "Status"
},
"subscriptions": {
"title": "Abonnementer",
"subtitle": "Aktive tilbagevendende abonnementer",
"noSubscriptions": "Ingen aktive abonnementer",
"cancel": "Annuller",
"confirmCancel": "Vil du annullere abonnementet på {username}?",
"colId": "ID",
"colUser": "Bruger",
"colPackage": "Pakke",
"colAmount": "Beløb",
"colInterval": "Interval",
"colStarted": "Startede",
"colNextBilling": "Næste fakturering",
"colStatus": "Status",
"colActions": "Handlinger",
"statusActive": "Aktiv",
"statusCancelled": "Annulleret",
"statusExpired": "Udløbet"
},
"rareValues": {
"title": "Rare Values",
"subtitle": "Administrer sjældne værdikategorier og varepriser",
"categories": "Kategorier",
"items": "genstande",
"addCategory": "Add category",
"editCategory": "Rediger kategori",
"deleteCategory": "Slet kategori",
"noCategories": "Ingen sjældne værdikategorier endnu",
"confirmDeleteCategory": "Vil du slette kategorien \"{name}\" og alle dens elementer?",
"colId": "ID",
"colName": "Navn",
"colItems": "genstande",
"colUpdated": "Opdateret",
"colActions": "Handlinger",
"colItemName": "Varens navn",
"colCredits": "Credits",
"colPoints": "Points",
"colPointType": "Punkttype",
"categoryForm": {
"name": "Navn",
"namePlaceholder": "Kategorinavn",
"save": "Gem kategori",
"saving": "Gemmer...",
"cancel": "Annuller"
},
"itemForm": {
"itemName": "Varens navn",
"itemNamePlaceholder": "f.eks. Throne",
"credits": "Credits værdi",
"points": "Pointværdi",
"pointType": "Punkttype",
"pointTypeDuckets": "Ænder",
"pointTypeDiamonds": "Diamonds",
"save": "Save item",
"saving": "Saving…",
"cancel": "Annuller"
}
},
"badges": {
"title": "Badges",
"subtitle": "Upload, giv og administrer badgekatalog",
"upload": "Upload",
"giveBadge": "Giv badge",
"catalogue": "Catalogue",
"uploadTitle": "Upload a new badge",
"uploadSubtitle": "Upload en badge-billedfil",
"badgeCode": "Badge code",
"badgeCodePlaceholder": "f.eks. VIP001",
"badgeFile": "Badge-fil",
"badgeFileHint": "PNG eller GIF, anbefales 40x40",
"uploadButton": "Upload",
"uploading": "Uploader...",
"giveTitle": "Give badge to user",
"giveSubtitle": "Giv et badge til en bestemt bruger",
"username": "Brugernavn",
"usernamePlaceholder": "Target username",
"giveButton": "Giv badge",
"giving": "Giver…",
"catalogueTitle": "Badge katalog",
"catalogueSubtitle": "Alle tilgængelige badges på hotellet",
"noBadges": "Ingen badges i kataloget",
"search": "Søg badges",
"searchPlaceholder": "Søg efter kode eller navn...",
"colCode": "Kode",
"colImage": "Billede",
"colName": "Navn",
"colDescription": "Beskrivelse",
"colActions": "Handlinger"
},
"achievements": {
"title": "Præstationer",
"subtitle": "Skrivebeskyttet liste over præstationer i spillet",
"noAchievements": "Ingen præstationer konfigureret",
"colId": "ID",
"colName": "Navn",
"colCategory": "Kategori",
"colLevels": "Niveauer",
"colReward": "Belønning",
"colProgress": "Fremskridt",
"levelLabel": "Niveau {level}",
"rewardCredits": "{count} kreditter",
"rewardPoints": "{count} {points}"
},
"calendar": {
"title": "Kalender kampagner",
"subtitle": "Skrivebeskyttet liste over kalenderkampagner og begivenheder",
"noCampaigns": "Ingen kalenderkampagner endnu",
"colId": "ID",
"colName": "Navn",
"colStart": "Start",
"colEnd": "Slut",
"colType": "Type",
"colReward": "Belønning",
"colActions": "Handlinger",
"detail": {
"title": "Kampagne: {name}",
"subtitle": "Kalender begivenhed detaljer",
"days": "dage",
"dayLabel": "Dag {day}",
"reward": "Belønning",
"noDays": "Der er ikke konfigureret dage for denne kampagne"
}
},
"radio": {
"title": "Radio Moderation",
"subtitle": "Seneste råb, DJ-applikationer og on-air tidsplaner (25 seneste af hver).",
"moderation": "Moderering",
"shouts": "Råber",
"applications": "Ansøgninger",
"schedules": "Tidsplaner",
"settings": "Indstillinger",
"embed": "Integrer",
"ranks": "Rangerer",
"history": "Historie",
"apiKeys": "API nøgler",
"points": "Points",
"autoDj": "AutoDJ",
"monitoring": {
"title": "Radioovervågning",
"subtitle": "Skrivebeskyttet live-probe af de konfigurerede radioendepunkter (radio_now_playing_api_url, radio_listeners_api_url). Hver anmodning fejler blødt med en {timeout}s timeout — ingen data skrives. Konfigurer URL'er under Indstillinger.",
"stream": "Stream",
"online": "Online",
"offline": "Offline",
"notConfigured": "Ikke konfigureret",
"nowPlaying": "Spiller nu",
"nowPlayingApi": "Now-playing API",
"listenersApi": "Lytters API",
"listeners": "Lyttere",
"currentSong": "Aktuel sang",
"bitrate": "Bitrate",
"status": "Status",
"noNowPlayingHint": "intet API-sæt, der nu spiller",
"noListenersHint": "no listeners API set",
"endpointDiagnostics": "Slutpunktsdiagnostik",
"diagnosticsLegend": "OK: tilgængelig · WARN: ikke konfigureret · ERROR: anmodningen mislykkedes eller fik timeout.",
"streamUrl": "Stream URL",
"unreachable": "unreachable",
"refresh": "Opdater"
},
"user": "Bruger",
"message": "Besked",
"posted": "Posted",
"realName": "Real Name",
"age": "Age",
"style": "Style",
"applied": "Applied",
"day": "Day",
"start": "Start",
"end": "Slut",
"show": "Show",
"status": "Status",
"active": "active",
"inactive": "inactive",
"hidden": "skjult",
"activeSchedules": "Active schedules",
"noShouts": "Ingen råb at moderere",
"noApplications": "Ingen ansøgninger indsendt.",
"noSchedules": "Ingen tidsplaner konfigureret.",
"deleteShout": "Slet",
"confirmDeleteShout": "Vil du slette dette råb?",
"pendingApplications": "Afventende ansøgninger",
"settingsForm": {
"title": "Radioindstillinger",
"subtitle": "Redigeringer skriver til website_settings (radio_*-taster) og buster runtime-indstillingernes cache. Booleans bruger 0/1.",
"enabled": "Aktiveret",
"disabled": "Deaktiveret",
"totalKeys": "Samlede nøgler",
"configured": "Configured",
"curatedHint": "kurerede nøgler med en værdi",
"customKeys": "Brugerdefinerede nøgler",
"saveAll": "Gem alle",
"singleKey": "Tilføj/overskriv en enkelt nøgle",
"keyPlaceholder": "radio_custom_key",
"valuePlaceholder": "værdi",
"commentPlaceholder": "kommentar (valgfrit)",
"saveSingle": "Gem",
"otherSettings": "Andre radioindstillinger",
"dbError": "Kunne ikke indlæse indstillinger (databasen er ikke tilgængelig). Standarder oprettes ved gem."
},
"embedPage": {
"title": "Radioindlejring",
"subtitle": "Kopiklar indlejringskode til livestreamen. Skrivebeskyttet - intet her skriver til databasen. Konfigurer stream-URL'en i Radioindstillinger (radio_stream_url).",
"streamUrl": "Stream URL",
"configured": "Konfigureret",
"missing": "Mangler",
"radioName": "Radio navn",
"nowPlayingApi": "Nu-spiller API",
"set": "Sæt",
"notSet": "Ikke indstillet",
"noStreamUrl": "Ingen stream-URL konfigureret",
"noStreamUrlText": "Der er ingen radio_stream_url sat, så der er intet at indlejre endnu.",
"goToSettings": "Gå til Radioindstillinger",
"livePreview": "Live preview",
"livePreviewText": "Dette er den blottede audio-afspiller, som besøgende vil se den. Tryk på afspil for at bekræfte, at streamen er tilgængelig.",
"source": "Kilde",
"audioSnippet": "Uddrag af lydafspiller",
"audioSnippetDesc": "Drop-in HTML5-lydafspiller pegede direkte mod strømmen. Virker overalt, hvor almindelig HTML er tilladt.",
"iframeSnippet": "Iframe-indpakningsstykke",
"iframeSnippetDesc": "Indlejrer webstedets egen radioafspillerside i en iframe - bevarer din styling og oplysninger om nu-afspiller. Juster bredde/højde efter smag.",
"audioUnsupported": "Din browser understøtter ikke lydelementet."
},
"banners": {
"title": "Bannere",
"heading": "Radio Bannere",
"description": "Salgsfremmende bannere vist på radiosiden, sorteret efter sorteringsrækkefølge.",
"addBanner": "Tilføj banner",
"createBanner": "Opret banner",
"deleteBanner": "Slet banner",
"noBanners": "Ingen bannere endnu - tilføj et ovenfor.",
"existing": "Eksisterende bannere ({count})",
"save": "Gem",
"delete": "Slet",
"byUser": "af bruger {id}",
"active": "aktiv",
"hidden": "skjult",
"bannerAlt": "Radio banner",
"statusActive": "Aktiv",
"statusHidden": "Skjult",
"dbError": "Kunne ikke indlæse bannere (databasen er ikke tilgængelig).",
"form": {
"imagePath": "Billedsti/URL",
"imagePathPlaceholder": "/storage/radio/banner.png",
"title": "Titel",
"description": "Beskrivelse",
"sortOrder": "Sorteringsrækkefølge",
"active": "Aktiv"
}
},
"ranksForm": {
"title": "Radio rangerer",
"subtitle": "DJ / personale rangerer tildeles på radioapplikationer.",
"dbError": "Kunne ikke indlæse rækker (databasen er ikke tilgængelig).",
"active": "Aktiv",
"addRank": "Tilføj rang",
"name": "Navn",
"badgeCode": "Badge kode",
"description": "Beskrivelse",
"createRank": "Opret rang",
"existing": "Eksisterende rækker ({count})",
"noRanks": "Ingen rækker endnu - tilføj en ovenfor.",
"activeLabel": "aktiv",
"inactiveLabel": "inaktiv",
"save": "Gem",
"deleteRank": "Slet rang #{id}"
},
"historyPage": {
"title": "Radioafspilningshistorie",
"subtitle": "Tidligere DJ-shows og sendetid (radio_historie), seneste først. Skrivebeskyttet log over, hvem der var i luften, hvornår og hvor mange lyttere, der stillede ind.",
"dbError": "Kunne ikke indlæse radiohistorik (databasen er ikke tilgængelig).",
"showsLogged": "Viser logget",
"onAirNow": "I luften nu",
"uniqueDjs": "Unikke DJs",
"peakListeners": "Peak lyttere",
"empty": "Ingen radiohistorik registreret endnu.",
"showLog": "Vis log ({count})",
"colDj": "DJ",
"colShow": "Vis",
"colStarted": "Startede",
"colEnded": "Afsluttet",
"colAirtime": "Sendetid",
"colListeners": "Lyttere",
"colNotes": "Noter",
"onAir": "i luften"
},
"apiKeysForm": {
"title": "Radio API nøgler",
"subtitle": "API-nøgler til eksterne radiointegrationer (radio_api_keys). Nøgler genereres på serversiden og vises maskerede - kopier den fulde værdi fra databasen, når de først udstedes.",
"dbError": "Kunne ikke indlæse API-nøgler (databasen er ikke tilgængelig).",
"totalKeys": "Samlede nøgler",
"active": "Aktiv",
"inactive": "Inaktiv",
"generateKey": "Generer nøgle",
"generateHint": "Den hemmelige nøgle genereres automatisk med kryptografisk tilfældighed - du indtaster den ikke.",
"name": "Navn",
"namePlaceholder": "AzureCast-broen",
"rateLimit": "Takstgrænse (anmodninger/min.)",
"allowedIps": "Tilladte IP'er (valgfrit)",
"allowedIpsPlaceholder": "kommasepareret, blank = enhver",
"generate": "Generer nøgle",
"existingKeys": "Eksisterende nøgler ({count})",
"noKeys": "Ingen API-nøgler endnu - generer en ovenfor.",
"colName": "Navn",
"colKey": "Nøgle",
"colAllowedIps": "Tilladte IP'er",
"colRateLimit": "Satsgrænse",
"colLastUsed": "Sidst brugt",
"colExpires": "Udløber",
"colStatus": "Status",
"colActions": "Handlinger",
"maskedHint": "Kun de første 8 tegn vises",
"any": "nogen",
"activeLabel": "aktiv",
"inactiveLabel": "inaktiv",
"deactivate": "Deaktiver",
"activate": "Aktiver",
"delete": "Slet"
},
"pointsForm": {
"title": "Radiolytterpunkter",
"subtitle": "Beløn lyttere med valuta for tid brugt på radioen. Redigeringer skriver til website_settings (radio_points_*-taster) og buster cachen til runtime-indstillinger. Booleans bruger 0/1.",
"saved": "Gemt",
"points": "Points",
"enabled": "Aktiveret",
"disabled": "Deaktiveret",
"perMinute": "Per minut",
"paidIn": "betalt i {currency}",
"maxPerDay": "Max / dag",
"unlimited": "Ubegrænset",
"minListeners": "Min lyttere",
"settings": "Indstillinger",
"pointsEnabled": "Point aktiveret",
"pointsEnabledHint": "Hovedafbryder til tildeling af lytterpoint.",
"currency": "Valuta",
"currencyHint": "Hvilken pengepung pointene indbetales til.",
"pointsPerMinute": "Point i minuttet",
"pointsPerMinuteHint": "Beløb tildelt for hvert hele minuts lytning.",
"maxPerDayHint": "Dagligt loft pr. bruger. Brug 0 for ubegrænset.",
"minListenersHint": "Der gives kun point, når mindst så mange mennesker er indstillet.",
"save": "Gem pointindstillinger"
},
"autoDjForm": {
"title": "Radio AutoDJ",
"subtitle": "Fallback-afspilningsliste (radio_auto_dj_playlist), som radioen roterer igennem, når ingen live-dj streamer. Bestilles efter sorteringsrækkefølge og derefter titel.",
"dbError": "Kunne ikke indlæse AutoDJ-afspilningslisten (databasen er ikke tilgængelig).",
"tracks": "Spor",
"active": "Aktiv",
"inactive": "Inaktiv",
"addTrack": "Tilføj spor",
"titlePlaceholder": "Sportitel",
"artist": "Kunstner",
"album": "Album",
"artworkUrl": "Artwork URL",
"artworkUrlPlaceholder": "https://…/cover.png",
"duration": "Varighed (sekunder)",
"durationPlaceholder": "f.eks. 215",
"sortOrder": "Sorteringsrækkefølge",
"playlist": "Playliste ({count})",
"noTracks": "Ingen AutoDJ-numre endnu - tilføj et ovenfor.",
"colOrder": "Bestil",
"colTitle": "Titel",
"colArtist": "Kunstner",
"colAlbum": "Album",
"colDuration": "Varighed",
"colPlays": "Skuespil",
"colLastPlayed": "Last played",
"colStatus": "Status",
"colActions": "Handlinger",
"activeLabel": "aktiv",
"inactiveLabel": "inaktiv",
"deactivate": "Deaktiver",
"activate": "Aktiver",
"delete": "Slet",
"trackTitle": "Titel"
},
"moderationPage": {
"title": "DJ moderation",
"subtitle": "Gennemgå og fjern radioråb (50 seneste).",
"recentShouts": "Seneste råb ({count})"
}
},
"commandocentrum": {
"title": "Kommandocentrum",
"subtitle": "Diagnostik, RCON kontroller og brugerstyring",
"diagnostics": "Diagnostik",
"rcon": "RCON",
"userActions": "Brugerhandlinger",
"diagnosticsTitle": "Emulator diagnostik",
"memoryUsage": "Hukommelsesbrug",
"uptime": "Oppetid",
"onlineUsers": "Online brugere",
"roomsLoaded": "Værelser indlæst",
"refresh": "Opdater",
"rconTitle": "RCON kommandoer",
"rconPlaceholder": "Indtast RCON kommando...",
"rconSend": "Send",
"rconSending": "Sender...",
"rconResponse": "Svar",
"userActionsTitle": "Brugerhandlinger",
"username": "Brugernavn",
"usernamePlaceholder": "Målbrugernavn",
"action": "Handling",
"execute": "Udfør",
"actions": {
"disconnect": "Afbryd forbindelsen",
"alert": "Send advarsel",
"giveCredits": "Giv kreditter",
"giveBadge": "Giv badge",
"givePoints": "Giv point",
"ban": "Forbud",
"kick": "Spark"
},
"messagePlaceholder": "Besked (for advarsler)...",
"amountPlaceholder": "Beløb…",
"badgePlaceholder": "Badgekode..."
},
"emulator": {
"title": "Emulator Konfig",
"subtitle": "Se og rediger emulatorindstillinger og lokalitetstekster",
"settings": "Indstillinger",
"texts": "Tekster",
"search": "Søg",
"searchPlaceholder": "Søg nøgler...",
"noSettings": "Ingen indstillinger fundet",
"noTexts": "Ingen tekster fundet",
"edit": "Rediger",
"save": "Gem",
"saving": "Gemmer...",
"cancel": "Annuller",
"colKey": "Nøgle",
"colValue": "Værdi",
"colType": "Type",
"colActions": "Handlinger",
"editDialog": {
"title": "Rediger: {key}",
"value": "Værdi",
"valuePlaceholder": "Indtast værdi...",
"save": "Save changes",
"cancel": "Annuller"
}
},
"alerts": {
"title": "Advarsler",
"subtitle": "Send underretninger for hele hotellet, og se de seneste underretninger",
"sendAlert": "Send hotelalarm",
"recentAlerts": "Seneste underretninger ({count})",
"noRecentAlerts": "No recent alerts",
"form": {
"title": "Alert title",
"titlePlaceholder": "f.eks. Servervedligeholdelse på 10 minutter",
"message": "Alert message",
"messagePlaceholder": "Skriv advarslen...",
"type": "Type",
"typeHotel": "Hotel-wide alert",
"typeStaff": "Kun personale",
"urgent": "Haster",
"send": "Send alert",
"sending": "Sender...",
"description": "Broadcasts via RCON <code>hotelalert</code> to online users."
},
"colId": "ID",
"colTitle": "Titel",
"colSentBy": "Sent by",
"colType": "Type",
"colDate": "Dato",
"colActions": "Handlinger",
"noAlerts": "No recent alerts",
"alertsShown": "Shown",
"critical": "Critical",
"warnings": "Warnings",
"unread": "Unread",
"markAllRead": "Mark all read",
"colWhen": "When",
"colSeverity": "Severity",
"colMessage": "Message"
},
"logs": {
"title": "Staff Activities",
"subtitle": "Revisionsspor for personalehandlinger i administrationspanelet",
"noLogs": "Ingen personaleaktivitet logget endnu",
"colId": "ID",
"colUser": "Bruger",
"colAction": "Handling",
"colTarget": "Mål",
"colDescription": "Description",
"colIp": "IP",
"colTimestamp": "Tidsstempel",
"filterByUser": "Filter by user…",
"filterByAction": "Filter by action…",
"clearFilters": "Ryd filtre",
"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": "unknown",
"emptyValue": "-",
"colTime": "Time",
"audit": {
"colTargetId": "Target ID",
"colDetails": "Details",
"colDate": "Date",
"searchPlaceholder": "Search by action or target…",
"changesCount": "{count} changes",
"notAvailable": "N/A",
"filtersTitle": "Filter audit records",
"filterActor": "Actor (exact username or ID)",
"filterAction": "Exact action",
"filterFrom": "From date (UTC)",
"filterTo": "Through date (UTC)",
"filtersHint": "Dates include the full day in UTC. Actions and usernames must match exactly. Records are shown newest first.",
"applyFilters": "Apply filters",
"resetFilters": "Reset filters",
"invalidDetails": "These legacy details cannot be displayed.",
"beforeValue": "Before",
"afterValue": "After",
"exportHint": "CSV exports the current filtered page, up to 100 records."
},
"chat": {
"colMessage": "Message",
"colRoomId": "Room ID",
"searchPlaceholder": "Search by username or message…"
},
"commands": {
"colCommand": "Command",
"colParams": "Params",
"searchPlaceholder": "Search by username, command, or params…"
},
"trades": {
"colUserOne": "User one",
"colUserTwo": "User two",
"colStatus": "Status",
"statusUnknown": "unknown",
"searchPlaceholder": "Search by username…"
},
"history": {
"preview": "Preview restore",
"title": "Restore a recorded edit",
"description": "Compare current values with the previous values before confirming. Only category settings, offer prices or news content are restored. Deleted records and category hierarchy cannot be restored here.",
"loading": "Loading…",
"unavailable": "This revision is unavailable or you do not have permission to restore it.",
"conflict": "This record changed after the selected edit. Refresh and review its latest history before restoring.",
"failed": "The restore could not be completed. Please reload and try again.",
"field": "Field",
"current": "Current value",
"restore": "Value to restore",
"confirm": "Confirm restore",
"restoring": "Restoring…",
"fields": {
"caption": "Category name",
"captionSave": "Internal category name",
"pageLayout": "Category layout",
"enabled": "Enabled",
"visible": "Visible",
"clubOnly": "Club members only",
"vipOnly": "VIP members only",
"minRank": "Minimum rank",
"iconImage": "Category icon",
"iconColor": "Icon colour",
"pageHeadline": "Header image",
"pageTeaser": "Preview image",
"pageSpecial": "Special image",
"pageText1": "Primary text",
"pageText2": "Secondary text",
"pageTextDetails": "Details text",
"pageTextTeaser": "Preview text",
"includes": "Included categories",
"costCredits": "Credit price",
"costPoints": "Points price",
"pointsType": "Points currency",
"title": "News title",
"slug": "News address",
"image": "News image",
"shortStory": "Summary",
"fullStory": "Article content",
"status": "Publication status",
"publishAt": "Scheduled publication",
"publishedAt": "Publication date"
}
}
},
"wordfilter": {
"title": "Ord filter",
"subtitle": "Administrer filtrerede ord og sætninger på hotellet",
"addWord": "Add word",
"addWords": "Tilføj ord",
"noWords": "Ingen filtrerede ord endnu",
"confirmDelete": "Vil du fjerne \"{word}\" fra filteret?",
"colId": "ID",
"colWord": "Word",
"colAddedBy": "Tilføjet af",
"colCreated": "Created",
"colActions": "Handlinger",
"form": {
"word": "Ord",
"wordPlaceholder": "f.eks. badword",
"addMore": "Tilføj flere ord (et pr. linje)",
"save": "Tilføj til filter",
"saving": "Gemmer...",
"cancel": "Annuller"
},
"filteredWords": "Filtered words",
"words": "Words",
"delete": "Delete",
"confirmDeleteTitle": "Remove word",
"added": "Word added to filter",
"deleted": "Word removed from filter",
"addError": "Could not add word (it may already exist)",
"deleteError": "Could not remove word"
},
"maintenance": {
"title": "Vedligeholdelsestilstand",
"subtitle": "Aktiver eller deaktiver vedligeholdelse for hele hotellet",
"enabled": "Vedligeholdelsestilstand er aktiveret",
"disabled": "Vedligeholdelsestilstand er deaktiveret",
"enable": "Aktiver vedligeholdelse",
"disable": "Deaktiver vedligeholdelse",
"message": "Vedligeholdelsesmeddelelse",
"messagePlaceholder": "Vi kommer snart tilbage!",
"staffAccess": "Tillad personale adgang under vedligeholdelse",
"save": "Gem indstillinger",
"saving": "Gemmer...",
"confirmEnable": "Aktivering af vedligeholdelse forhindrer alle ikke-ansatte brugere i at få adgang til hotellet. Fortsætte?",
"confirmDisable": "Deaktiver vedligeholdelsestilstand og gendanne adgang for alle brugere?"
},
"housekeeping": {
"title": "Husholdningstilladelser",
"subtitle": "Konfigurer hvilke rækker der kan få adgang til hvilke administratorsektioner",
"addPermission": "Tilføj tilladelse",
"editPermission": "Rediger tilladelse",
"deletePermission": "Slet tilladelse",
"noPermissions": "Ingen husholdningstilladelser er konfigureret",
"confirmDelete": "Vil du slette denne tilladelse?",
"colId": "ID",
"colRank": "Rang",
"colSection": "Sektion",
"colActions": "Handlinger",
"form": {
"rankId": "Rang ID",
"rankIdPlaceholder": "Minimum rang",
"section": "Sektionsnøgle",
"sectionPlaceholder": "f.eks. admin.dashboard",
"save": "Gem tilladelse",
"saving": "Gemmer...",
"cancel": "Annuller"
},
"saved": "Saved!",
"deleted": "Deleted!",
"errorOccurred": "An error occurred",
"emptyInput": "Empty input",
"invalidJson": "Invalid JSON",
"imported": "Imported!",
"presetApplied": "Preset applied!",
"cleared": "All Tilladelser cleared!",
"invalidRank": "Invalid Rang",
"testDone": "Test done: {count} Tilladelser found",
"testing": "Testing...",
"loading": "Loading...",
"prev": "Previous",
"next": "Next",
"confirmClearAll": "Slet ALL Tilladelser? This Handling cannot be undone!",
"colGroup": "Group",
"colDepends": "Depends on",
"colPermission": "Tilladelse",
"colDescription": "Beskrivelse",
"colMinRank": "Min. Rang",
"permissionKey": "Tilladelsesnøgle",
"minRank": "Min. Rang",
"description": "Beskrivelse",
"permissions": "Tilladelser",
"permissionsCount": "{count} Tilladelser",
"permission": "Tilladelse",
"highestMinRank": "Highest min. Rang: {rank}",
"totalMinRank": "Total min. Rang sum: {total}",
"groupCount": "{count} groups",
"rankCount": "{count} Rangerer",
"missingDeps": "{count} Mangler dependencies",
"dependsOn": "depends on",
"notFound": "not found",
"missing": "(Mangler)",
"rank": "Rang",
"count": "Count",
"searchPermission": "Søg Tilladelser…",
"search": "Søg",
"manage": "Manage",
"importSelection": "Importer selection",
"noGroup": "Nej group",
"allGroups": "All groups",
"perGroup": "Tilladelser per group",
"perRank": "Tilladelser per Rang",
"rankOverviewHint": "All Tilladelser grouped by the Rang they are assigned to.",
"tabOverview": "Oversigt",
"tabManage": "Manage",
"tabImport": "Importer / Export",
"tabRanks": "Rang Oversigt",
"tabPresets": "Forudindstillinger",
"tabTest": "Test",
"tabAudit": "Audit log",
"importPermissions": "Importer Tilladelser",
"importHint": "Paste a JSON array of Tilladelse objects. Format: ['{' \"permission\": \"...\", \"minRank\": 7, \"description\": \"...\", \"groupName\": \"...\", \"dependsOn\": \"...\" '}']",
"importPlaceholder": "Paste JSON here…",
"import": "Importer",
"exportTitle": "Export Tilladelser",
"exportHint": "Export all Tilladelser as JSON for backup or batch editing.",
"export": "Export JSON",
"copy": "Copy",
"copied": "Copied!",
"presets": "Tilladelse Forudindstillinger",
"presetsHint": "Ansøg a predefined Sæt of Tilladelser for common staff roles.",
"presetModerator": "Moderator",
"presetModeratorDesc": "Basic Moderering tools: Bruger lookup, Forbud, CFH handling, chat logs.",
"presetAdmin": "Administrator",
"presetAdminDesc": "Full admin access: Brugere, Værelser, news, Indstillinger, Butik, events, radio & more.",
"presetSuperAdmin": "Super Admin",
"presetSuperAdminDesc": "Complete access to every feature including Tilladelse management and asset Importer.",
"applyPreset": "Ansøg preset",
"clearAll": "Clear all Tilladelser",
"testTitle": "Test Rang access",
"testHint": "Enter a Rang number to see which Tilladelser would be granted.",
"test": "Test",
"auditTitle": "Tilladelse audit log",
"auditHint": "All changes to Husholdning Tilladelser are logged.",
"auditLogsAt": "Audit logs are available on the Audit log page.",
"viewAuditLogs": "Visning audit logs",
"importedWithErrors": "Imported {count} Tilladelser with {errors} errors",
"confirmClearAllDesc": "This will Fjern every Tilladelse entry from the database. Are you sure?",
"confirmDeletePermission": "Slet this Tilladelse permanently?",
"confirmBulkDelete": "Slet {count} selected Tilladelser?",
"deleteSelected": "Slet {count} selected",
"cancel": "Annuller",
"confirm": "Confirm",
"auditTime": "Time",
"auditUser": "Bruger",
"auditAction": "Handling",
"auditTarget": "Mål",
"selectAllMatching": "Select all {count} matching",
"save": "Save",
"importTitle": "Import permissions",
"legacyBannerTitle": "Use Permissions to change who can do what",
"legacyBannerBody": "This archive does not control the site. Open Permissions to grant or revoke access for ranks.",
"legacyBannerCta": "Open Permissions",
"writesRetired": "Editing here is disabled on purpose. Change access only in Permissions.",
"tabCompare": "ACL compare",
"tabExportOnly": "Export archive",
"compareHint": "Compares legacy housekeeping min-rank rows to live ACL rank_* role grants (lowest rank that has the slug).",
"compareAligned": "{count} aligned",
"compareMissingAcl": "{count} missing in ACL",
"compareMismatch": "{count} rank mismatch",
"colAclPresent": "In ACL",
"colAclMinRank": "ACL min rank",
"colStatus": "Status",
"statusAligned": "Aligned",
"statusMissingAcl": "Missing in ACL",
"statusMismatch": "Rank differs",
"exportOnlyHint": "Writes are disabled. You can still export the legacy table for archival."
},
"rooms": {
"title": "Værelser",
"subtitle": "Søg og administrer hotelværelser",
"search": "Søg",
"searchPlaceholder": "Søg efter navn, ejer eller id...",
"searchResults": "{count, plural, one {# room} other {# rooms}} fundet for \"{query}\"",
"noResults": "Ingen værelser fundet",
"colId": "ID",
"colName": "Navn",
"colOwner": "Ejer",
"colUsers": "Brugere",
"colState": "stat",
"colCategory": "Kategori",
"colCreated": "Oprettet",
"colActions": "Handlinger",
"stateOpen": "Åbn",
"stateClosed": "Lukket",
"stateLocked": "Låst",
"stateInvisible": "Usynlig",
"detail": {
"title": "Værelse: {name}",
"subtitle": "Ejes af {owner}",
"overview": "Oversigt",
"actions": "Handlinger",
"description": "Beskrivelse",
"noDescription": "Ingen beskrivelse",
"owner": "Ejer",
"users": "Brugere online",
"maxUsers": "Max brugere",
"category": "Kategori",
"state": "stat",
"tags": "Tags",
"noTags": "Ingen tags",
"created": "Oprettet",
"deleteRoom": "Slet rum",
"confirmDelete": "Vil du slette rummet \"{name}\"? Dette kan ikke fortrydes.",
"enterRoom": "Gå ind i værelset",
"changeOwner": "Skift ejer",
"changeOwnerPlaceholder": "Nyt ejerbrugernavn"
}
},
"emailTemplates": {
"title": "Email skabeloner",
"subtitle": "Administrer transaktionelle e-mailskabeloner",
"newTemplate": "+ Ny skabelon",
"edit": "Rediger",
"delete": "Slet",
"noTemplates": "Ingen e-mail-skabeloner endnu",
"confirmDelete": "Vil du slette skabelonen \"{name}\"?",
"colId": "ID",
"colName": "Navn",
"colSubject": "Emne",
"colKey": "Nøgle",
"colUpdated": "Opdateret",
"colActions": "Handlinger",
"form": {
"name": "Navn",
"namePlaceholder": "f.eks. Velkomstmail",
"key": "Nøgle",
"keyPlaceholder": "f.eks. velkomste-mail",
"subject": "Emne",
"subjectPlaceholder": "E-mail emnelinje",
"body": "Brødtekst (HTML)",
"bodyPlaceholder": "<p>Kære {username},</p>",
"variables": "Tilgængelige variabler",
"variablesHint": "{username}, {email}, {hotel_name}",
"save": "Gem skabelon",
"saving": "Gemmer...",
"cancel": "Annuller"
}
},
"theme": {
"title": "Tema",
"subtitle": "Tilpas CMS-udseendet",
"presets": "Forudindstillinger",
"colours": "Farver",
"css": "CSS",
"presetsTitle": "Forudindstillinger af tema",
"presetsSubtitle": "Vælg et forudbygget farveskema",
"applyPreset": "Ansøg",
"presetApplied": "Forudindstilling anvendt: {preset}",
"customiseTitle": "Brugerdefinerede farver",
"primary": "Primær",
"secondary": "Sekundær",
"accent": "Accent",
"background": "Baggrund",
"surface": "Overflade",
"text": "Tekst",
"saveColours": "Gem farver",
"savingColours": "Gemmer...",
"cssTitle": "Brugerdefineret CSS",
"cssSubtitle": "Tilføj tilpasset CSS for at tilsidesætte temastile",
"cssPlaceholder": "/* Din tilpassede CSS her */",
"saveCss": "Gem CSS",
"savingCss": "Gemmer...",
"reset": "Nulstil til standardindstillinger",
"confirmReset": "Vil du nulstille temaet til standardværdierne?"
},
"media": {
"title": "Mediebibliotek",
"subtitle": "Upload og administrer mediefiler",
"upload": "Upload",
"uploadTitle": "Upload en fil",
"uploadSubtitle": "Træk og slip eller klik for at uploade",
"uploadButton": "Vælg fil",
"uploading": "Uploader...",
"noFiles": "Ingen mediefiler endnu",
"delete": "Slet",
"confirmDelete": "Vil du slette denne fil permanent?",
"search": "Søg",
"searchPlaceholder": "Søg efter filnavn...",
"colPreview": "Forhåndsvisning",
"colName": "Navn",
"colSize": "Størrelse",
"colType": "Type",
"colUploaded": "Uploadet",
"colActions": "Handlinger",
"copyUrl": "Kopiér URL",
"urlCopied": "URL kopieret til udklipsholder"
},
"favicon": {
"title": "Favicon",
"subtitle": "Upload og administrer webstedets favicon",
"current": "Nuværende favicon",
"uploadLabel": "Upload favicon",
"uploadHint": "PNG, JPEG, GIF, WebP, ICO eller SVG. Max 2 MB.",
"upload": "Upload",
"uploading": "Uploader...",
"delete": "Fjern",
"deleting": "Fjerner...",
"saved": "Favicon blev gemt!",
"deleted": "Favicon blev fjernet!",
"error": "Noget gik galt",
"confirmDelete": "Fjern favicon? Siden vil ikke længere vise et brugerdefineret favicon.",
"generator": {
"title": "Generer favicon",
"text": "Tekst",
"bgColor": "Baggrundsfarve",
"textColor": "Tekstfarve",
"rounded": "Afrundede hjørner",
"save": "Gem som favicon"
},
"cancel": "Cancel"
},
"settings": {
"title": "CMS-indstillinger",
"subtitle": "Administrer nøgle/værdi CMS-konfiguration",
"addSetting": "Tilføj indstilling",
"edit": "Rediger",
"delete": "Slet",
"noSettings": "Ingen indstillinger fundet",
"confirmDelete": "Vil du slette indstillingen \"{key}\"?",
"colKey": "Nøgle",
"colValue": "Værdi",
"colUpdated": "Opdateret",
"colActions": "Handlinger",
"form": {
"key": "Nøgle",
"keyPlaceholder": "f.eks. hotel_name",
"value": "Værdi",
"valuePlaceholder": "Indstillingsværdi",
"save": "Gem indstilling",
"saving": "Gemmer...",
"cancel": "Annuller"
},
"keysInDatabase": "{count} keys in database",
"managedInForm": "{count} managed in form",
"documented": "{count} documented",
"saved": "Settings saved.",
"saveFailed": "Could not save settings.",
"saveSettings": "Save settings",
"viewOnly": "You can view settings but need edit permission to change them."
},
"import": {
"title": "Import",
"subtitle": "Import assets from external sources into your hotel.",
"badges": "Badges",
"badgesDescription": "Import and manage badge assets from external sources.",
"furni": "Furni",
"furniDescription": "Import furniture definitions, SWF files, and icons.",
"clothing": "Clothing",
"clothingDescription": "Import clothing and wearables for avatars.",
"effects": "Effects",
"effectsDescription": "Import avatar effects and animations.",
"pets": "Pets",
"petsDescription": "Import pet data and icons.",
"clone": "Clone",
"cloneDescription": "Clone existing items from one source to another.",
"upload": "Upload .nitro",
"uploadDescription": "Upload .nitro bundles and icons directly without SWF conversion.",
"sync": "Auto Sync",
"syncDescription": "Automatically import missing furniture from all configured sources.",
"repairIcons": "Repair Icons",
"repairIconsDescription": "Download any missing icon files for furniture already in the database.",
"audit": "Catalog Audit",
"auditDescription": "Scan your catalog for missing entries, broken references, and items missing from clone sources."
},
"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"
}
},
"tickets": {
"title": "Tickets",
"subtitle": "Support tickets from players",
"noTickets": "No active tickets",
"searchPlaceholder": "Search subject, user, category or ID…",
"presetActive": "Active",
"statusOpen": "Open",
"statusInProgress": "In progress",
"statusWaiting": "Waiting",
"statusClosed": "Closed",
"colTicket": "Ticket",
"colStatus": "Status",
"colPriority": "Priority",
"colAssigned": "Assigned",
"colDate": "Date",
"meta": "by {user} · {count} msg · {category}",
"queueHint": "This queue is the CMS support desk. Player help-center tickets live in the Help-center tickets tab.",
"queueOtherCta": "Open help-center tickets",
"queueCounts": "Open here: {here} · Help center: {other}"
},
"cfh": {
"title": "Call for Help",
"subtitle": "In-game CFH / support tickets",
"noTickets": "No CFH tickets",
"searchPlaceholder": "Search issue, user or ID…",
"noDescription": "No description",
"roomMeta": "Room #{room} · {when}",
"stateOpen": "Open",
"statePicked": "Picked",
"stateClosed": "Closed",
"colId": "ID",
"colIssue": "Issue",
"colSender": "Sender",
"colReported": "Reported",
"colMod": "Mod",
"colStatus": "Status"
},
"hubs": {
"newsMedia": "News & media",
"newsMediaSubtitle": "Articles, photos, banners, ads and media library",
"siteContent": "Site content",
"siteContentSubtitle": "Navigation, help center, boxes, tags and prefixes",
"engagement": "Engagement",
"engagementSubtitle": "Events, polls and support tickets",
"users": "Users",
"usersSubtitle": "Directory, online players, applications and teams",
"access": "Access & security",
"accessSubtitle": "Bans, IP, VPN, permissions and word filter",
"moderation": "Moderation",
"moderationSubtitle": "Reports, actions and moderation team",
"catalog": "Catalog & rares",
"catalogSubtitle": "Catalog, rares, badges, achievements and sounds",
"shop": "Shop & payments",
"shopSubtitle": "Shop, transactions, vouchers, subscriptions and calendar",
"radio": "Radio",
"radioSubtitle": "Stream, DJ tools, embed and monitoring",
"settings": "Settings",
"settingsSubtitle": "CMS config, theme, maintenance and related tools",
"tools": "Tools",
"toolsSubtitle": "RCON, rooms, import and translations",
"observability": "Observability",
"observabilitySubtitle": "Logs, analytics, DevOps and hotel alerts",
"tabs": {
"articles": "Articles",
"photos": "Photos",
"banners": "Banners",
"ads": "Ads",
"media": "Media",
"navigator": "Navigator",
"help": "Help",
"boxes": "Boxes",
"tags": "Tags",
"prefixes": "Prefixes",
"events": "Events",
"eventTypes": "Event types",
"polls": "Polls",
"tickets": "Tickets",
"templates": "Templates",
"directory": "Directory",
"multiAccounts": "Multi-accounts",
"online": "Online",
"applications": "Applications",
"teams": "Teams",
"bans": "Bans",
"ip": "IP",
"vpn": "VPN",
"permissions": "Permissions",
"wordFilter": "Word filter",
"overview": "Overview",
"actions": "Actions",
"cfh": "CFH",
"team": "Team",
"catalogTab": "Catalog",
"rares": "Rares",
"badges": "Badges",
"achievements": "Achievements",
"sounds": "Sounds",
"shopTab": "Shop",
"transactions": "Transactions",
"vouchers": "Vouchers",
"subscriptions": "Subscriptions",
"calendar": "Calendar",
"history": "History",
"moderationTab": "Moderation",
"monitoring": "Monitoring",
"settingsTab": "Settings",
"embed": "Embed",
"apiKeys": "API keys",
"points": "Points",
"ranks": "Ranks",
"autoDj": "Auto DJ",
"cms": "CMS",
"theme": "Theme",
"maintenance": "Maintenance",
"favicon": "Favicon",
"emulator": "Emulator",
"email": "Email",
"housekeeping": "Housekeeping",
"commando": "Commando",
"rooms": "Rooms",
"import": "Import",
"translations": "Translations",
"logs": "Logs",
"audit": "Audit",
"chat": "Chat",
"commands": "Commands",
"trades": "Trades",
"analytics": "Analytics",
"activity": "Activity",
"economy": "Economy",
"devops": "DevOps",
"errors": "Errors",
"alerts": "Alerts",
"toolsGroup": "Tools",
"helpTickets": "Help-center tickets",
"ticketInbox": "Inbox",
"importOverview": "Overview",
"importBadges": "Badges",
"importFurni": "Furni",
"importUpload": "Upload",
"importClothing": "Clothing",
"importEffects": "Effects",
"importPets": "Pets",
"importClone": "Clone",
"importSync": "Sync",
"importRepairIcons": "Repair icons",
"importAudit": "Audit"
},
"events": "Events",
"eventsSubtitle": "Hotel events and event types",
"tickets": "Support desk",
"ticketsSubtitle": "CMS tickets, help-center tickets, and reply templates",
"staffAccess": "Ranks & permissions",
"staffAccessSubtitle": "Staff ranks, ACL permissions and housekeeping access",
"analytics": "Analytics",
"analyticsSubtitle": "Hotel activity, retention and economy",
"devops": "DevOps",
"devopsSubtitle": "Service health and emulator errors",
"import": "Import",
"importSubtitle": "Furni, badges, clothing and asset tools"
},
"events": {
"newEvent": "+ New event",
"createTitle": "Create event",
"createSubtitle": "Schedule a new hotel event",
"searchPlaceholder": "Search events…",
"colId": "ID",
"colTitle": "Title",
"colType": "Type",
"colStarts": "Starts",
"colStatus": "Status",
"colActions": "Actions",
"statusPublished": "Published",
"statusDraft": "Draft",
"statusCancelled": "Cancelled",
"statusCompleted": "Completed",
"statRegistrations": "Registrations",
"statPrizes": "Prizes",
"statWinners": "Winners",
"statTime": "Time",
"maxPlayers": "Max: {count}",
"timeUpcoming": "Upcoming",
"timePast": "Past",
"endsAt": "Ends: {date}",
"userFallback": "User #{id}",
"registrationsTitle": "Registrations ({count})",
"noRegistrations": "No registrations yet.",
"noPrizes": "No prizes configured yet.",
"noWinners": "No winners yet.",
"addPrize": "Add prize",
"addWinner": "Add winner",
"formEditTitle": "Edit event",
"formDetailsTitle": "Event details",
"formTitle": "Title",
"formEventType": "Event type",
"formSelectType": "Select type",
"formDescription": "Description",
"formStartsAt": "Starts at",
"formEndsAt": "Ends at",
"formSelectStart": "Select start date",
"formSelectEnd": "Select end date",
"formMaxPlayers": "Max players",
"formUnlimited": "Unlimited",
"formRoomId": "Room ID",
"formOptional": "Optional",
"formImageUrl": "Image URL",
"formSaving": "Saving…",
"formUpdate": "Update event",
"formCreate": "Create event",
"toastUpdated": "Event updated!",
"toastCreated": "Event created!"
},
"polls": {
"newPoll": "+ New poll",
"createTitle": "Create poll",
"createSubtitle": "Create a new community poll or survey",
"searchPlaceholder": "Search polls…",
"colId": "ID",
"colTitle": "Title",
"colStatus": "Status",
"colType": "Type",
"colCreated": "Created",
"colActions": "Actions",
"statusActive": "Active",
"statusDraft": "Draft",
"statusClosed": "Closed",
"typeMultiple": "Multiple choice",
"typeSingle": "Single choice",
"statVoters": "Total voters",
"statQuestions": "Questions",
"statVotes": "Total votes",
"questionsTitle": "Questions ({count})",
"addQuestion": "Add question",
"noQuestions": "No questions yet. Add your first question above.",
"resultsTitle": "Results",
"formEditTitle": "Edit poll",
"formDetailsTitle": "Poll details",
"formTitle": "Title",
"formDescription": "Description",
"formStartsAt": "Starts at",
"formEndsAt": "Ends at",
"formSelectStart": "Select start date",
"formSelectEnd": "Select end date",
"formShowResults": "Show results to voters",
"formAllowMultiple": "Allow multiple answers",
"formSaving": "Saving…",
"formUpdate": "Update poll",
"formCreate": "Create poll",
"toastUpdated": "Poll updated!",
"toastCreated": "Poll created!"
},
"multiAccounts": {
"minAccounts": "Min accounts per cluster",
"resultLimit": "Result limit",
"refresh": "Refresh",
"noClusters": "No clusters found at the current thresholds."
},
"devops": {
"noEmulatorErrors": "No emulator errors found",
"noRecentErrors": "No recent errors"
},
"helpTickets": {
"title": "Help center tickets",
"subtitle": "Player tickets from /help/tickets",
"noTickets": "No open help center tickets",
"searchPlaceholder": "Search title, user or ID…",
"presetOpen": "Open",
"presetAll": "All",
"statusOpen": "Open",
"statusClosed": "Closed",
"colTicket": "Ticket",
"colStatus": "Status",
"colUser": "User",
"colCreated": "Created",
"colUpdated": "Updated",
"meta": "by {user} · {count} replies",
"backToList": "Back to list",
"threadTitle": "Conversation",
"staffBadge": "Staff",
"replyPlaceholder": "Reply as staff…",
"replySubmit": "Send reply",
"replyHint": "Ctrl+Enter to send.",
"closeSubmit": "Close ticket",
"reopenSubmit": "Reopen ticket",
"closedHint": "This ticket is closed.",
"actionsTitle": "Actions",
"requesterTitle": "Requester",
"detailsTitle": "Details",
"rankLabel": "Rank {rank}",
"messageCountLabel": "Messages",
"success": {
"replied": "Reply sent.",
"closed": "Ticket closed.",
"reopened": "Ticket reopened.",
"banLifted": "Ban lifted and ticket closed."
},
"queueHint": "This queue is the public help center. CMS support desk tickets are in the Support desk tab.",
"queueOtherCta": "Open CMS support desk",
"queueCounts": "Open here: {here} · Support desk: {other}",
"liftBanSubmit": "Lift requester ban & close",
"requesterBanned": "Requester banned"
},
"marketplace": {
"title": "Marketplace",
"subtitle": "Hotel marketplace listings",
"activeListings": "Active listings",
"soldListings": "Sold",
"filterActive": "Active",
"filterSold": "Sold",
"empty": "No marketplace listings to show.",
"loadError": "Could not load marketplace data (database unavailable).",
"cancel": "Cancel listing",
"colId": "ID",
"colItem": "Item ID",
"colSeller": "Seller",
"colPrice": "Price",
"colListed": "Listed",
"colSold": "Sold at",
"colActions": "Actions"
},
"analytics": {
"loadError": "Some analytics queries failed. Numbers below may be incomplete — check the database connection and emulator tables.",
"totalUsers": "Total users",
"onlineNow": "{count} online now",
"weekRegistrations": "Week registrations",
"thisMonth": "{count} this month",
"activeRooms": "Active rooms",
"totalRooms": "{count} total rooms",
"weeklyActivity": "Weekly activity",
"tradesAndBans": "{trades} trades, {bans} bans",
"registrationsChartTitle": "Registrations (30 days)",
"registrationsChartDescription": "New user registrations over the last 30 days",
"chatActivity": "Chat activity",
"messagesLast7Days": "Messages in the last 7 days",
"trades": "Trades",
"tradesLast7Days": "Trades in the last 7 days",
"retention": "Retention",
"usersOnlineOverTotal": "Users online / total",
"activity": {
"chatMessages": "Chat messages",
"commands": "Commands",
"bans": "Bans",
"registrations": "Registrations",
"last7Days": "Last 7 days",
"dailyBreakdownTitle": "Daily breakdown (7 days)",
"colDay": "Day",
"colChats": "Chats",
"colCmds": "Cmds",
"colBans": "Bans",
"colRegs": "Regs",
"mostActiveUsersTitle": "Most active users (7 days)",
"noChatActivity": "No chat activity",
"msgCount": "{count} msgs",
"userFallback": "User #{id}"
},
"economy": {
"creditsInCirculation": "Credits in circulation",
"creditsDescription": "Total credits across all users",
"pixelsInCirculation": "Pixels in circulation",
"pixelsDescription": "Total pixels across all users",
"pointsInCirculation": "Points in circulation",
"pointsDescription": "Total points across all users",
"weeklyTrades": "Weekly trades",
"marketplaceListings": "{count} marketplace listings",
"shopRevenueTitle": "Shop revenue (7d)",
"purchases": "Purchases",
"creditsSpent": "Credits spent",
"pointsSpent": "Points spent",
"marketplaceTitle": "Marketplace",
"activeListings": "Active listings",
"sold7d": "Sold (7d)",
"currencyDistributionTitle": "Currency distribution",
"credits": "Credits",
"pixels": "Pixels",
"points": "Points",
"catalogSpendingTitle": "Catalog spending",
"creditsTooltip": "{count} credits",
"pointsTooltip": "{count} points"
},
"peakHours": {
"title": "Peak hours",
"description": "User activity by day & hour (last 7 days)",
"days": {
"mon": "Mon",
"tue": "Tue",
"wed": "Wed",
"thu": "Thu",
"fri": "Fri",
"sat": "Sat",
"sun": "Sun"
},
"tooltip": "{day} {hour}:00 — {count} users",
"less": "Less",
"more": "More"
}
},
"guilds": {
"title": "Guilds",
"subtitle": "Hotel groups and membership",
"totalGuilds": "Guilds",
"searchPlaceholder": "Search by name, description or ID…",
"search": "Search",
"empty": "No guilds found.",
"loadError": "Could not load guilds (database unavailable).",
"colId": "ID",
"colBadge": "Badge",
"colName": "Name",
"colOwner": "Owner",
"colMembers": "Members",
"colCreated": "Created",
"colThreads": "Forum threads",
"colRoom": "Room",
"colUser": "User",
"colLevel": "Level",
"colJoined": "Joined",
"members": "Members",
"noMembers": "No members.",
"back": "Back to guilds",
"viewPublic": "Open public page",
"disband": "Disband guild",
"listHeading": "Guilds ({count})"
},
"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": "Merged view of open CMS desk and help-center tickets. Detail pages and replies stay on each product own route.",
"noTickets": "No open tickets in either queue",
"searchPlaceholder": "Search subject, title, user or ID…",
"statCmsOpen": "CMS open",
"statHelpOpen": "Help open",
"statTotal": "Open total",
"colTicket": "Ticket",
"colStatus": "Status",
"colType": "Queue",
"colUpdated": "Updated",
"meta": "by {user}",
"typeAll": "All queues",
"typeCms": "CMS desk",
"typeHelp": "Help center",
"statusOpen": "Open",
"statusClosed": "Closed",
"statusAll": "All statuses",
"presetOpen": "Open only",
"modNavLabel": "Queues:",
"modNavInbox": "Inbox",
"modNavDesk": "CMS desk",
"modNavHelp": "Help center"
},
"menu": {
"title": "Admin menu",
"subtitle": "Reorder and hide sidebar groups and links. Routes and permissions stay in code.",
"save": "Save menu",
"saving": "Saving…",
"saved": "Admin menu saved.",
"saveFailed": "Could not save admin menu.",
"reset": "Reset to default",
"viewOnly": "You can view the menu layout but need settings edit permission to change it.",
"hint": "Dashboard and this page stay visible. ACL still filters what each rank sees.",
"moveUp": "Move up",
"moveDown": "Move down",
"hideGroup": "Hide group",
"showGroup": "Show group",
"hideItem": "Hide item",
"showItem": "Show item",
"pinned": "Pinned"
},
"cmsErrors": {
"firstSeen": "First occurrence in retained records",
"lastSeen": "Latest occurrence",
"affectedUsers": "Distinct identified users",
"unidentifiedEvents": "Events without a verified user ID",
"metricsScope": "Counts cover only the retained records loaded here. Users are counted only from numeric server-side user IDs; anonymous and browser reports are not attributed.",
"assignedStaff": "Assigned to staff #{id}",
"unassigned": "Unassigned",
"assignSelf": "Assign to me",
"clearAssignment": "Clear assignment",
"openOperation": "Open related area",
"releaseOccurrences": "Occurrences by release",
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error.",
"releaseFilter": "Version",
"allReleases": "All versions",
"period": "Period",
"allRetained": "All retained events",
"last24h": "Last 24 hours",
"last7d": "Last 7 days",
"sort": "Order",
"recentFirst": "Most recent first",
"frequentFirst": "Most frequent first",
"filterScope": "Counts refer to matching retained events. Group status and latest details remain current across versions."
},
"installation": {
"title": "Installation diagnostics",
"hint": "Read-only checks of this installation. Unknown means there is not enough evidence; configured does not prove external reachability.",
"checked": "Checked at {time} · probes completed in {ms} ms",
"recheck": "Check again",
"ok": "Check passed",
"failed": "Needs attention",
"unknown": "Not verified",
"missing": "Not configured",
"release": "Running release",
"database": "Database",
"redis": "Redis",
"emulator": "Emulator",
"storage": "Writable storage",
"migrations": "Database migrations",
"worker": "Background worker",
"renderer": "Renderer configuration",
"registry": "Container registry",
"releaseHint": "The full identifier of the running build. Use it to compare installations and choose a previous image for rollback.",
"databaseHint": "Connection check and measured SELECT 1 response time.",
"redisHint": "Optional for some pages; required for queued import work.",
"emulatorHint": "Response to the configured emulator ping.",
"storageHint": "Read/write permissions on storage, Nitro assets and SWF directories.",
"migrationsHint": "Number of packaged migrations absent from the database history. Apply migrations through the release process.",
"workerHint": "Last worker heartbeat in Redis. More than two minutes old needs investigation; no heartbeat cannot establish whether the worker is running.",
"rendererHint": "The client uses the configured address or /nitro-client/ by default. Open the game separately to verify rendering and assets.",
"registryHint": "Registry credentials live in CI, not in the CMS. Check the image publication job and its immutable release tag in Gitea."
},
"importHistory": {
"cancelled": "Cancelled",
"cancelFailed": "Could not request cancellation. Retry or refresh the job history.",
"cancelRequested": "Cancellation requested. The current item will finish; remaining items will not start.",
"cancelHint": "Cancellation preserves completed items and allows the current item to finish.",
"cancelRemaining": "Cancel remaining items",
"historyLimit": "Showing up to 30 most recently updated jobs.",
"refreshHistory": "Refresh history",
"showMoreItems": "Show 50 more items",
"uncertainOutcome": "An interrupted item may already have changed local data. It is excluded from retries.",
"reviewLocalData": "Review local data",
"ownerHistory": "Your imports and repairs, newest first. Retries never repeat completed or uncertain items.",
"previousPage": "Previous",
"nextPage": "Next",
"page": "Page {page}"
},
"operations": {
"title": "Needs attention",
"hint": "Accessible work: imports sample your latest 30 jobs; errors sample up to 1,000 retained events. Older work may be outside these counts.",
"empty": "No pending items found in the checked records.",
"errors": "Unresolved CMS error groups",
"imports": "Your imports needing review",
"tickets": "Open support tickets",
"publications": "News drafts",
"unavailable": "{source}: data is temporarily unavailable.",
"installation": "Installation diagnostics"
},
"catalogPackages": {
"backend": {
"sourceChanged": "Source categories or offers changed since this package was created. Create a fresh package to include the current data.",
"saveConflict": "Package changed. Reload it before saving",
"publishConflict": "Package changed. Refresh the publication preview",
"catalogChanged": "Catalog changed. Refresh the publication preview",
"missing": "Catalog package not found",
"pageLimit": "A package supports at most 200 categories including descendants",
"offerLimit": "A package supports at most 500 offers",
"payloadLimit": "Package data exceeds 8 MB safety limit",
"membership": "Package membership cannot change",
"hierarchy": "Package hierarchy cannot change",
"references": "Package furniture references cannot change",
"furnitureMissing": "Package furniture reference no longer exists",
"auditWarning": "Package published, but audit logging failed.",
"hotelWarning": "Package published, but the hotel update was not delivered.",
"exportWarning": "Package published, but export scheduling failed.",
"refreshWarning": "Package published. Refresh the page to see the latest catalog."
}
},
"catalogPackagePreview": {
"title": "Catalog preview",
"hint": "Browse the actual package pages and offers. This is a catalog preview, not a full game-client rendering. No purchases are made.",
"search": "Search categories or offers",
"playerMode": "Player access",
"rank": "Rank",
"club": "Club",
"vip": "VIP",
"externalParents": "This selection starts inside a larger catalog. Access restrictions on ancestors outside this snapshot cannot be evaluated.",
"invalidHierarchy": "{count} pages have a cyclic hierarchy and cannot be navigated.",
"snapshotLimit": "Preview limited to 200 pages and 500 offers.",
"restricted": "{count} pages are hidden by the selected player access settings.",
"categories": "Catalog categories",
"noPages": "This snapshot contains no categories.",
"inaccessible": "No categories are accessible with these settings. Adjust player access or turn it off to inspect the draft.",
"noMatches": "No matches for this search.",
"offerCount": "{count} offers",
"layout": "Layout: {layout}",
"missingLayout": "Not specified",
"unsupportedLayout": "This layout has no dedicated preview. The grid shows the actual offers; custom layout widgets and imagery are not reproduced.",
"loadingIcons": "Loading furniture icons…",
"assetsUnavailable": "Furniture details are temporarily unavailable. Offer data remains visible.",
"assetLimit": "Icons and furniture names are limited to the first 200 item IDs on this view.",
"emptyPage": "This category has no direct offers. Browse its subcategories.",
"missingIcon": "Icon unavailable",
"amount": "Quantity: {count}",
"bundle": "{count} furniture types",
"changed": "Changed from the saved baseline",
"previous": "Previous",
"next": "Next",
"page": "Page {page} of {total}",
"offerId": "Offer #{id}",
"unknownFurniture": "Furniture name unavailable",
"selectOffer": "Select an offer to inspect its price and furniture references.",
"credits": "Credits",
"duckets": "Duckets",
"diamonds": "Diamonds",
"pointsType": "Points (type {type}):",
"free": "Free",
"specialPricing": "Special pricing: {credits} credits, {points} points (type {type})",
"restrictedOffers": "{count} offers in this category require Club membership.",
"clubOffer": "Club offer"
},
"search": {
"furniture": "Furniture",
"catalog": "Catalog categories",
"tickets": "Support tickets",
"loading": "Searching…",
"hint": "Enter a numeric ID or at least 2 characters, or choose a page.",
"retry": "Retry",
"description": "Search pages, users, furniture, catalog categories, articles and support tickets.",
"partialError": "Some results could not be loaded. Try again."
},
"permissionPreview": {
"title": "Role access preview",
"description": "Inspect CMS access without changing a session or impersonating a user.",
"back": "Back to permissions",
"role": "Role",
"show": "Show access",
"missing": "Select an existing role.",
"entryAllowed": "Housekeeping entry allowed",
"entryDenied": "Housekeeping entry denied: dashboard permission missing",
"superAdmin": "This rank currently receives the highest-rank override.",
"scope": "This preview shows one role only. A user may receive additional roles. Navigation customization can hide allowed sections; specific records and actions can require further checks.",
"sections": "Sections",
"allowed": "Allowed",
"denied": "Denied",
"actions": "CMS permissions",
"actionScope": "A granted permission alone does not bypass dashboard entry, rank hierarchy, record ownership or action-specific validation.",
"granted": "Granted",
"notGranted": "Not granted"
},
"operationsCenter": {
"title": "Operations center",
"hint": "Track your durable imports and repairs, and the shared catalog export queue.",
"syncTitle": "Source synchronization",
"syncHint": "Source synchronization shows live progress on its own page. It has no durable history or automatic retry of failed items here. Catalog export reports the shared queue and latest result; item-level retry is not supported.",
"openSync": "Open synchronization and export",
"openImports": "Open furniture imports"
},
"operationsExport": {
"title": "Catalog repository export",
"hint": "Automatic export of bundles, icons, gamedata, translations and catalog SQL. The queue and latest result are shared across operators.",
"loadError": "Unable to load export status",
"queueError": "Unable to queue export",
"loading": "Loading…",
"disabled": "Export is disabled. Open synchronization to review its configuration.",
"active": "Waiting for {count} operation(s) to finish.",
"running": "Export in progress…",
"pending": "{count} update(s) queued for export.",
"idle": "No pending updates.",
"lastCommit": "Last published commit:",
"lastAttempt": "Last attempt: {date}",
"queuing": "Queuing…",
"queue": "Export now / retry"
}
},
"error": {
"code": "Error",
"title": "Something went wrong",
"subtitle": "The hotel hit an unexpected snag.",
"body": "Try again in a moment. If it keeps happening, contact staff with the reference below.",
"tryAgain": "Try again",
"backHome": "Back home",
"reference": "Reference: {digest}"
},
"notFound": {
"code": "404",
"title": "Page not found",
"subtitle": "This room doesn’t exist — or the furniture was moved.",
"body": "Check the link, or head back to the lobby.",
"backHome": "Back home",
"latestNews": "Latest news"
},
"sessions": {
"title": "Login activity",
"subtitle": "Recent sign-ins and failed attempts on your account",
"recentTitle": "Recent sign-ins",
"recentEmpty": "No sign-ins recorded yet.",
"colWhen": "When",
"colIp": "IP",
"colDevice": "Device",
"failedTitle": "Failed attempts",
"failedSubtitle": "Wrong password on your username",
"unknownDevice": "Unknown device",
"signOutEverywhereTitle": "Sign out everywhere",
"signOutEverywhereDescription": "Ends all website sessions on every device. You will need to sign in again here too.",
"signOutEverywhereButton": "Sign out all sessions",
"successSignedOutAll": "All sessions have been signed out."
},
"guildForumThread": {
"backToForum": "← Back to forum",
"unnamedGuild": "Unnamed guild",
"noSubject": "(no subject)",
"inGuildForum": "{guild} forum",
"pinned": "Pinned",
"locked": "Locked",
"postsTitle": "Posts",
"postsSubtitle": "{count, plural, one {# post} other {# posts}}",
"postsEmpty": "No posts in this thread.",
"userNumber": "User #{id}",
"replyTitle": "Reply",
"replySubtitle": "Add your message to this thread",
"replyPlaceholder": "Write your reply…",
"replySubmit": "Post reply",
"lockedHint": "This thread is locked — new replies are disabled.",
"loginToReply": "Sign in to reply.",
"loginLink": "Log in",
"success": {
"replied": "Reply posted."
},
"errors": {
"invalid": "Please enter a message.",
"notFound": "That thread was not found.",
"locked": "This thread is locked.",
"ratelimit": "You're posting too fast. Please wait a moment and try again.",
"error": "Something went wrong. Please try again."
}
},
"helpTicketDetail": {
"backToList": "← Your tickets",
"ticketId": "Ticket #{id}",
"statusOpen": "Open",
"statusClosed": "Closed",
"messagesTitle": "Conversation",
"messagesSubtitle": "{count, plural, one {# message} other {# messages}}",
"you": "You",
"userNumber": "User #{id}",
"replyTitle": "Reply",
"replySubtitle": "Send a follow-up to staff",
"replyPlaceholder": "Write your message…",
"replySubmit": "Send reply",
"closeTitle": "Close ticket",
"closeSubtitle": "Mark this request as resolved when you no longer need help",
"closeSubmit": "Close ticket",
"closedHint": "This ticket is closed. Open a new ticket if you need more help.",
"success": {
"replied": "Reply sent.",
"closed": "Ticket closed."
},
"errors": {
"invalid": "Please enter a message.",
"notFound": "That ticket was not found.",
"closedTicket": "This ticket is closed.",
"moderated": "That message was blocked by moderation.",
"ratelimit": "You're submitting too fast. Please wait a moment and try again.",
"error": "Something went wrong. Please try again."
}
},
"events": {
"title": "Events",
"subtitle": "Upcoming and recent hotel events you can join",
"empty": "No events yet.",
"back": "← Events",
"when": "When",
"status": "Status",
"statusPublished": "Open",
"statusCompleted": "Completed",
"registrations": "Registrations",
"registered": "{count} registered",
"spots": "{count} / {max} spots",
"registerTitle": "Register",
"registerSubtitle": "Save your spot for this event",
"register": "Register for event",
"registering": "Registering…",
"registerSuccess": "You are registered!",
"registerError": "Could not register for this event.",
"loginToRegister": "Log in to register for this event.",
"alreadyRegistered": "You are already registered.",
"eventEnded": "This event has ended.",
"eventFull": "This event is full.",
"cannotRegister": "Registration is not available.",
"prizesTitle": "Prizes",
"winnersTitle": "Winners",
"unknownUser": "User #{id}"
},
"polls": {
"title": "Polls",
"subtitle": "Share your opinion in community polls",
"empty": "No polls yet.",
"back": "← Polls",
"statusActive": "Open",
"statusClosed": "Closed",
"questionsCount": "{count} questions",
"ends": "Ends {date}",
"voteTitle": "Cast your vote",
"voteSubtitle": "Answer each question below",
"submitVote": "Submit vote",
"voting": "Submitting…",
"voteSuccess": "Thanks for voting!",
"voteError": "Could not submit your vote.",
"loginToVote": "Log in to vote in this poll.",
"alreadyVoted": "You have already voted.",
"pollClosed": "This poll is closed.",
"cannotVote": "Voting is not available.",
"textPlaceholder": "Your answer…",
"resultsTitle": "Results",
"voteCount": "{count} ({pct}%)",
"totalVotes": "{count} total votes",
"textResponses": "{count} free-text responses"
},
"mod": {
"title": "Moderation panel",
"badge": "Mod",
"overviewTitle": "Moderator overview",
"overviewSubtitle": "CFH, quick actions and bans without full admin access.",
"shortcutsTitle": "Shortcuts",
"nav": {
"overview": "Overview",
"cfh": "Call for Help",
"actions": "Quick actions",
"bans": "Bans",
"fullAdmin": "Full admin",
"backToSite": "Back to site",
"tickets": "Tickets",
"team": "Team",
"helpTickets": "Help-center tickets",
"users": "Users"
},
"stats": {
"openCfh": "Open CFH",
"bansToday": "Bans today",
"modsOnline": "Mods online",
"quickActions": "Quick actions",
"quickActionsHint": "Kick, mute, alert",
"openTickets": "Open tickets",
"team": "Mod team",
"teamHint": "Online staff & workload",
"openHelpTickets": "Open help tickets"
},
"usersTitle": "Players",
"usersSubtitle": "Lookup without email or IP — use full admin for sensitive fields.",
"usersEmpty": "No players found",
"usersSearchPlaceholder": "Search username, motto or ID…",
"usersRank": "rank",
"usersPublicProfile": "Public profile",
"usersPiiNote": "Email, IP and currency are hidden in the mod panel. Open full admin if you have access.",
"usersJoined": "Joined",
"usersLastLogin": "Last login",
"usersLastOnline": "Last online"
},
"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"
}
}
},
"myDashboard": {
"messagesCaughtUp": "No unread messages",
"messagesUnavailable": "Open your inbox to check",
"eventTitle": "On the calendar",
"allEvents": "All events",
"eventsUnavailable": "The calendar is temporarily unavailable. Open all events to try again.",
"eventOngoing": "Happening now",
"eventUpcoming": "Coming up",
"eventDetails": "View event",
"noUpcomingEvents": "No upcoming events have been announced yet.",
"roomsUnavailable": "Rooms are temporarily unavailable. Open the community to try again."
}
},
"emails": {
"verify": {
"subject": "Verify your email · {hotel}",
"heading": "Verify your email",
"body": "Welcome to {hotel}! Confirm this email address to finish setting up your account.",
"button": "Verify email",
"fallback": "If the button doesn't work, paste this link into your browser:"
}
},
"toolbar": {
"home": "Hjem",
"reload": "Genindlæs",
"fullscreen": "Fuldskærm",
"logout": "Log ud",
"onlineUsers": "Brugere online",
"emulatorOnline": "Emulator online",
"emulatorOffline": "Emulator offline",
"dragToMove": "Træk for at flytte",
"hide": "Skjul værktøjslinje",
"fullscreenExit": "Afslut fuldskærm",
"show": "Vis værktøjslinje",
"emulatorUnknown": "Emulatorstatus ukendt"
},
"admin": {
"studio": {
"completeness": {
"title": "Completeness and next steps",
"parts": {
"sql": "SQL item",
"catalog": "Catalog offer",
"furnidata": "Furnidata",
"icon": "Local icon",
"nitro": "Nitro file"
},
"statuses": {
"present": "Present",
"missing": "Missing",
"unknown": "Not verified",
"conflict": "Needs review"
},
"actions": {
"sql": "Import or repair this furni to create the missing item record.",
"catalog": "Import or repair this furni to add an offer using the automatic category and price.",
"furnidata": "Import or repair this furni to add the missing furniture data.",
"icon": "Import or repair this furni to retrieve the missing local icon.",
"nitro": "Import or repair this furni to retrieve the asset. For an existing item, Regenerate .nitro is also available.",
"recheck": "Recheck local state before repair. If this persists, check the local file access.",
"audit": "Review duplicate records and matching sprite IDs and types in Catalog audit before repair."
},
"openAudit": "Open Catalog audit to resolve conflicts",
"excludedConflicts": "{count, plural, one {# item needs review and is excluded from this import.} other {# items need review and are excluded from this import.}}"
}
}
}
}