Add all missing translation keys to all 22 languages (English baseline)
Deploy / release (push) Skipped
Deploy / deploy (push) Successful in 2m16s

This commit is contained in:
openhands committed 2026-07-22 20:59:05 +02:00
1 parent 5be5405bc9
commit 1e77398a7c
19 files changed
+11761 -418

No files matched your search

+619 -22
View File
@@ -21,7 +21,9 @@
"admin": "Админ", "admin": "Админ",
"openMenu": "Отворете менюто", "openMenu": "Отворете менюто",
"closeMenu": "Затваряне на менюто", "closeMenu": "Затваряне на менюто",
"drawBadge": "Начертайте значка" "drawBadge": "Начертайте значка",
"events": "Events",
"polls": "Polls"
}, },
"header": { "header": {
"online": "{count} {hotel} онлайн", "online": "{count} {hotel} онлайн",
@@ -71,7 +73,16 @@
"emptySubtitle": "Все още нямате добавени приятели", "emptySubtitle": "Все още нямате добавени приятели",
"subtitle": "{count, plural, one {You have # friend} other {You have # friends}}", "subtitle": "{count, plural, one {You have # friend} other {You have # friends}}",
"emptyState": "Добавете приятели в хотела и те ще се покажат тук.", "emptyState": "Добавете приятели в хотела и те ще се покажат тук.",
"noMotto": "Няма мото" "noMotto": "Няма мото",
"remove": "Remove",
"success": {
"removed": "Friend removed."
},
"errors": {
"notFound": "That friendship was not found.",
"invalid": "Invalid friend.",
"error": "Something went wrong. Please try again."
}
}, },
"messages": { "messages": {
"title": "Съобщения", "title": "Съобщения",
@@ -86,7 +97,30 @@
"offlineEmptySubtitle": "Вашата входяща кутия е празна", "offlineEmptySubtitle": "Вашата входяща кутия е празна",
"offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}", "offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}",
"offlineEmptyState": "Нямате офлайн съобщения.", "offlineEmptyState": "Нямате офлайн съобщения.",
"unknownUser": "Потребител #{id}" "unknownUser": "Потребител #{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": { "profile": {
"noMotto": "Няма мото", "noMotto": "Няма мото",
@@ -114,7 +148,26 @@
"roomsTitle": "Стаи", "roomsTitle": "Стаи",
"roomsSubtitle": "Стаи, които притежават", "roomsSubtitle": "Стаи, които притежават",
"roomsEmpty": "Няма стаи за показване.", "roomsEmpty": "Няма стаи за показване.",
"roomUntitled": "Стая без заглавие" "roomUntitled": "Стая без заглавие",
"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": { "rankings": {
"title": "Класации", "title": "Класации",
@@ -180,7 +233,19 @@
"addComment": "Добавяне на коментар", "addComment": "Добавяне на коментар",
"commentPlaceholder": "Напишете своя коментар...", "commentPlaceholder": "Напишете своя коментар...",
"postComment": "Публикувайте коментар", "postComment": "Публикувайте коментар",
"toComment": "да оставите коментар." "toComment": "да оставите коментар.",
"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": { "photos": {
"title": "Снимки", "title": "Снимки",
@@ -264,7 +329,10 @@
"pinned": "Фиксирано", "pinned": "Фиксирано",
"locked": "Заключено", "locked": "Заключено",
"userNumber": "Потребител #{id}", "userNumber": "Потребител #{id}",
"unknown": "неизвестен" "unknown": "неизвестен",
"success": {
"posted": "Thread posted."
}
}, },
"guildForumNew": { "guildForumNew": {
"backToForum": "← Назад към форума", "backToForum": "← Назад към форума",
@@ -276,7 +344,13 @@
"messageLabel": "Съобщение", "messageLabel": "Съобщение",
"messagePlaceholder": "Напишете началната си публикация...", "messagePlaceholder": "Напишете началната си публикация...",
"postThread": "Публикуване на тема", "postThread": "Публикуване на тема",
"cancel": "Отказ" "cancel": "Отказ",
"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": { "shop": {
"title": "Магазин", "title": "Магазин",
@@ -286,7 +360,22 @@
"allPackages": "Всички пакети", "allPackages": "Всички пакети",
"packagesAvailable": "{count, plural, one {# package available} other {# packages available}}", "packagesAvailable": "{count, plural, one {# package available} other {# packages available}}",
"empty": "В момента няма налични пакети.", "empty": "В момента няма налични пакети.",
"buy": "Купете" "buy": "Купете",
"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": { "topup": {
"title": "Допълнете с PayPal", "title": "Допълнете с PayPal",
@@ -390,7 +479,16 @@
"colStatus": "Статус", "colStatus": "Статус",
"colCreated": "Създаден", "colCreated": "Създаден",
"statusOpen": "Отворете", "statusOpen": "Отворете",
"statusClosed": "Затворено" "statusClosed": "Затворено",
"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."
}
}, },
"applyStaff": { "applyStaff": {
"title": "Кандидатствайте за персонал на {hotel}", "title": "Кандидатствайте за персонал на {hotel}",
@@ -402,7 +500,17 @@
"alreadyApplied": "Вече сте кандидатствали за {rank}", "alreadyApplied": "Вече сте кандидатствали за {rank}",
"aboutYou": "За вас", "aboutYou": "За вас",
"aboutPlaceholder": "Кажете ни защо бихте били страхотен {rank}...", "aboutPlaceholder": "Кажете ни защо бихте били страхотен {rank}...",
"applyFor": "Кандидатствайте за {rank}" "applyFor": "Кандидатствайте за {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": { "applyTeam": {
"title": "Кандидатствайте за екипа на {hotel}", "title": "Кандидатствайте за екипа на {hotel}",
@@ -412,7 +520,17 @@
"pending": "Вашата кандидатура е в процес на разглеждане", "pending": "Вашата кандидатура е в процес на разглеждане",
"aboutYou": "За вас", "aboutYou": "За вас",
"aboutPlaceholder": "Кажете ни защо бихте били чудесен избор за {rank}...", "aboutPlaceholder": "Кажете ни защо бихте били чудесен избор за {rank}...",
"applyFor": "Кандидатствайте за {rank}" "applyFor": "Кандидатствайте за {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": { "radio": {
"title": "Радио", "title": "Радио",
@@ -467,7 +585,16 @@
"loginToPost": "Влезте, за да публикувате вик.", "loginToPost": "Влезте, за да публикувате вик.",
"latestTitle": "Последни викове", "latestTitle": "Последни викове",
"latestSubtitle": "Най-новите съобщения от слушатели", "latestSubtitle": "Най-новите съобщения от слушатели",
"empty": "Все още няма викове. Бъдете първи!" "empty": "Все още няма викове. Бъдете първи!",
"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": { "radioContests": {
"title": "Радио състезания", "title": "Радио състезания",
@@ -511,7 +638,16 @@
"colStatus": "Статус", "colStatus": "Статус",
"statusPending": "В очакване", "statusPending": "В очакване",
"statusApproved": "Одобрено", "statusApproved": "Одобрено",
"statusPlayed": "Играна" "statusPlayed": "Играна",
"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."
}
}, },
"client": { "client": {
"title": "Nitro клиент", "title": "Nitro клиент",
@@ -549,7 +685,15 @@
"experiencePlaceholder": "Някакъв предишен DJ или хостинг опит?", "experiencePlaceholder": "Някакъв предишен DJ или хостинг опит?",
"motivationLabel": "Мотивация", "motivationLabel": "Мотивация",
"motivationPlaceholder": "Защо искаш да се присъединиш към екипа на радиото?", "motivationPlaceholder": "Защо искаш да се присъединиш към екипа на радиото?",
"submitButton": "Изпратете заявление" "submitButton": "Изпратете заявление",
"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": { "settings": {
"accountSettings": "Настройки на акаунта", "accountSettings": "Настройки на акаунта",
@@ -624,7 +768,9 @@
"errorInvalidCredentials": "Невалидно потребителско име или парола", "errorInvalidCredentials": "Невалидно потребителско име или парола",
"errorInvalid2fa": "Невалиден 2FA код", "errorInvalid2fa": "Невалиден 2FA код",
"welcomeBack": "Добре дошли отново", "welcomeBack": "Добре дошли отново",
"welcomeBackSub": "Влезте, за да продължите към {hotelName}" "welcomeBackSub": "Влезте, за да продължите към {hotelName}",
"errorUnverified": "Please verify your email before signing in.",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"register": { "register": {
"title": "Създаване на акаунт", "title": "Създаване на акаунт",
@@ -664,7 +810,8 @@
"sentNotice": "Ако този имейл е регистриран, е изпратена връзка за нулиране. Проверете входящата си кутия.", "sentNotice": "Ако този имейл е регистриран, е изпратена връзка за нулиране. Проверете входящата си кутия.",
"emailPlaceholder": "Вашият имейл", "emailPlaceholder": "Вашият имейл",
"sendResetLink": "Изпратете връзка за нулиране", "sendResetLink": "Изпратете връзка за нулиране",
"backToLogin": "Назад към входа" "backToLogin": "Назад към входа",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"reset": { "reset": {
"title": "Задайте нова парола", "title": "Задайте нова парола",
@@ -782,7 +929,19 @@
"hubCatalog": "Catalog & rares", "hubCatalog": "Catalog & rares",
"hubShop": "Shop & payments", "hubShop": "Shop & payments",
"hubTools": "Tools", "hubTools": "Tools",
"hubObservability": "Observability" "hubObservability": "Observability",
"helpTickets": "Help-center tickets",
"marketplace": "Marketplace",
"expandAll": "Expand all",
"collapseAll": "Collapse all",
"community": "Community",
"monitoring": "Monitoring",
"staffAccess": "Ranks & permissions",
"multiAccounts": "Multi-accounts",
"chatLog": "Chat log",
"commandLog": "Command log",
"tradeLog": "Trade log",
"tools": "Tools"
}, },
"dashboard": { "dashboard": {
"title": "Табло за управление", "title": "Табло за управление",
@@ -935,7 +1094,14 @@
"saving": "Запазва се...", "saving": "Запазва се...",
"deleteAd": "Изтрий рекламата", "deleteAd": "Изтрий рекламата",
"cancel": "Отказ" "cancel": "Отказ"
} },
"deleteSuccess": "Advertisement deleted!",
"deleteError": "Failed to delete advertisement.",
"adsCount": "Total ads",
"latest": "Latest",
"mostRecentAd": "Most recent ad",
"allAds": "All advertisements",
"colPreview": "Preview"
}, },
"writeableBoxes": { "writeableBoxes": {
"title": "Кутии за писане", "title": "Кутии за писане",
@@ -1306,7 +1472,9 @@
"colPosition": "Position", "colPosition": "Position",
"colTransaction": "Transaction", "colTransaction": "Transaction",
"colUser": "User", "colUser": "User",
"colDescription": "Description" "colDescription": "Description",
"pageOf": "Page {page} of {lastPage}",
"packagesTotal": "{count} packages"
}, },
"transactions": { "transactions": {
"title": "Транзакции", "title": "Транзакции",
@@ -1894,7 +2062,35 @@
"userPrefix": "user", "userPrefix": "user",
"pagination": "Page {page} of {pages} · {total} total", "pagination": "Page {page} of {pages} · {total} total",
"next": "Next", "next": "Next",
"prev": "Previous" "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"
},
"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…"
}
}, },
"wordfilter": { "wordfilter": {
"title": "Филтър за думи", "title": "Филтър за думи",
@@ -2241,7 +2437,15 @@
"pets": "Pets", "pets": "Pets",
"petsDescription": "Import pet data and icons.", "petsDescription": "Import pet data and icons.",
"clone": "Clone", "clone": "Clone",
"cloneDescription": "Clone existing items from one source to another." "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": { "translations": {
"title": "Translations", "title": "Translations",
@@ -2388,9 +2592,402 @@
"devops": "DevOps", "devops": "DevOps",
"errors": "Errors", "errors": "Errors",
"alerts": "Alerts", "alerts": "Alerts",
"toolsGroup": "Tools" "toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
},
"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"
},
"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."
}
},
"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"
} }
} }
},
"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"
}
},
"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:"
} }
} }
} }
+619 -22
View File
@@ -21,7 +21,9 @@
"admin": "Admin", "admin": "Admin",
"openMenu": "Otevřít nabídku", "openMenu": "Otevřít nabídku",
"closeMenu": "Zavřít nabídku", "closeMenu": "Zavřít nabídku",
"drawBadge": "Nakreslete odznak" "drawBadge": "Nakreslete odznak",
"events": "Events",
"polls": "Polls"
}, },
"header": { "header": {
"online": "{count} {hotel} online", "online": "{count} {hotel} online",
@@ -71,7 +73,16 @@
"emptySubtitle": "Zatím jste nepřidali žádné přátele", "emptySubtitle": "Zatím jste nepřidali žádné přátele",
"subtitle": "{count, plural, one {You have # friend} other {You have # friends}}", "subtitle": "{count, plural, one {You have # friend} other {You have # friends}}",
"emptyState": "Přidejte přátele v hotelu a oni se zde zobrazí.", "emptyState": "Přidejte přátele v hotelu a oni se zde zobrazí.",
"noMotto": "Žádné motto" "noMotto": "Žádné 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": { "messages": {
"title": "Zprávy", "title": "Zprávy",
@@ -86,7 +97,30 @@
"offlineEmptySubtitle": "Vaše doručená pošta je prázdná", "offlineEmptySubtitle": "Vaše doručená pošta je prázdná",
"offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}", "offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}",
"offlineEmptyState": "Nemáte žádné offline zprávy.", "offlineEmptyState": "Nemáte žádné offline zprávy.",
"unknownUser": "Uživatel #{id}" "unknownUser": "Uživatel #{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": { "profile": {
"noMotto": "Žádné motto", "noMotto": "Žádné motto",
@@ -114,7 +148,26 @@
"roomsTitle": "Pokoje", "roomsTitle": "Pokoje",
"roomsSubtitle": "Pokoje, které vlastní", "roomsSubtitle": "Pokoje, které vlastní",
"roomsEmpty": "Žádné místnosti k zobrazení.", "roomsEmpty": "Žádné místnosti k zobrazení.",
"roomUntitled": "Pokoj bez názvu" "roomUntitled": "Pokoj bez názvu",
"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": { "rankings": {
"title": "Žebříčky", "title": "Žebříčky",
@@ -180,7 +233,19 @@
"addComment": "Přidejte komentář", "addComment": "Přidejte komentář",
"commentPlaceholder": "Napište svůj komentář…", "commentPlaceholder": "Napište svůj komentář…",
"postComment": "Přidat komentář", "postComment": "Přidat komentář",
"toComment": "zanechat komentář." "toComment": "zanechat komentář.",
"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": { "photos": {
"title": "Fotografie", "title": "Fotografie",
@@ -264,7 +329,10 @@
"pinned": "Připnuto", "pinned": "Připnuto",
"locked": "Zamčeno", "locked": "Zamčeno",
"userNumber": "Uživatel #{id}", "userNumber": "Uživatel #{id}",
"unknown": "Neznámý" "unknown": "Neznámý",
"success": {
"posted": "Thread posted."
}
}, },
"guildForumNew": { "guildForumNew": {
"backToForum": "← Zpět na fórum", "backToForum": "← Zpět na fórum",
@@ -276,7 +344,13 @@
"messageLabel": "Zpráva", "messageLabel": "Zpráva",
"messagePlaceholder": "Napište svůj úvodní příspěvek…", "messagePlaceholder": "Napište svůj úvodní příspěvek…",
"postThread": "Odeslat vlákno", "postThread": "Odeslat vlákno",
"cancel": "Zrušit" "cancel": "Zrušit",
"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": { "shop": {
"title": "Obchod", "title": "Obchod",
@@ -286,7 +360,22 @@
"allPackages": "Všechny balíčky", "allPackages": "Všechny balíčky",
"packagesAvailable": "{count, plural, one {# package available} other {# packages available}}", "packagesAvailable": "{count, plural, one {# package available} other {# packages available}}",
"empty": "Momentálně nejsou k dispozici žádné balíčky.", "empty": "Momentálně nejsou k dispozici žádné balíčky.",
"buy": "Koupit" "buy": "Koupit",
"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": { "topup": {
"title": "Doplňte přes PayPal", "title": "Doplňte přes PayPal",
@@ -390,7 +479,16 @@
"colStatus": "Stav", "colStatus": "Stav",
"colCreated": "Vytvořeno", "colCreated": "Vytvořeno",
"statusOpen": "Otevřít", "statusOpen": "Otevřít",
"statusClosed": "Zavřeno" "statusClosed": "Zavřeno",
"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."
}
}, },
"applyStaff": { "applyStaff": {
"title": "Požádejte o zaměstnance {hotel}", "title": "Požádejte o zaměstnance {hotel}",
@@ -402,7 +500,17 @@
"alreadyApplied": "Již jste požádali o {rank}", "alreadyApplied": "Již jste požádali o {rank}",
"aboutYou": "O vás", "aboutYou": "O vás",
"aboutPlaceholder": "Řekni nám, proč bys byl skvělý {rank}…", "aboutPlaceholder": "Řekni nám, proč bys byl skvělý {rank}…",
"applyFor": "Zažádat o {rank}" "applyFor": "Zažádat o {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": { "applyTeam": {
"title": "Přihlaste se do týmu {hotel}", "title": "Přihlaste se do týmu {hotel}",
@@ -412,7 +520,17 @@
"pending": "Vaše přihláška čeká na vyřízení", "pending": "Vaše přihláška čeká na vyřízení",
"aboutYou": "O vás", "aboutYou": "O vás",
"aboutPlaceholder": "Řekněte nám, proč byste se skvěle hodil pro {rank}…", "aboutPlaceholder": "Řekněte nám, proč byste se skvěle hodil pro {rank}…",
"applyFor": "Zažádat o {rank}" "applyFor": "Zažádat o {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": { "radio": {
"title": "Rádio", "title": "Rádio",
@@ -467,7 +585,16 @@
"loginToPost": "Chcete-li zveřejnit výkřik, přihlaste se.", "loginToPost": "Chcete-li zveřejnit výkřik, přihlaste se.",
"latestTitle": "Nejnovější výkřiky", "latestTitle": "Nejnovější výkřiky",
"latestSubtitle": "Nejnovější zprávy od posluchačů", "latestSubtitle": "Nejnovější zprávy od posluchačů",
"empty": "Zatím žádné výkřiky. Buďte první!" "empty": "Zatím žádné výkřiky. Buďte první!",
"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": { "radioContests": {
"title": "Rádiové soutěže", "title": "Rádiové soutěže",
@@ -511,7 +638,16 @@
"colStatus": "Stav", "colStatus": "Stav",
"statusPending": "Čeká na vyřízení", "statusPending": "Čeká na vyřízení",
"statusApproved": "Schváleno", "statusApproved": "Schváleno",
"statusPlayed": "Hráno" "statusPlayed": "Hráno",
"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."
}
}, },
"client": { "client": {
"title": "Nitro klient", "title": "Nitro klient",
@@ -549,7 +685,15 @@
"experiencePlaceholder": "Máte nějaké předchozí zkušenosti s DJ nebo hostováním?", "experiencePlaceholder": "Máte nějaké předchozí zkušenosti s DJ nebo hostováním?",
"motivationLabel": "Motivace", "motivationLabel": "Motivace",
"motivationPlaceholder": "Proč se chcete připojit k týmu rádia?", "motivationPlaceholder": "Proč se chcete připojit k týmu rádia?",
"submitButton": "Odešlete přihlášku" "submitButton": "Odešlete přihlášku",
"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": { "settings": {
"accountSettings": "Nastavení účtu", "accountSettings": "Nastavení účtu",
@@ -624,7 +768,9 @@
"errorInvalidCredentials": "Neplatné uživatelské jméno nebo heslo", "errorInvalidCredentials": "Neplatné uživatelské jméno nebo heslo",
"errorInvalid2fa": "Neplatný kód 2FA", "errorInvalid2fa": "Neplatný kód 2FA",
"welcomeBack": "Vítej zpět", "welcomeBack": "Vítej zpět",
"welcomeBackSub": "Přihlas se pro pokračování do {hotelName}" "welcomeBackSub": "Přihlas se pro pokračování do {hotelName}",
"errorUnverified": "Please verify your email before signing in.",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"register": { "register": {
"title": "Vytvořit účet", "title": "Vytvořit účet",
@@ -664,7 +810,8 @@
"sentNotice": "Pokud je tento e-mail zaregistrován, byl odeslán odkaz pro obnovení. Zkontrolujte si doručenou poštu.", "sentNotice": "Pokud je tento e-mail zaregistrován, byl odeslán odkaz pro obnovení. Zkontrolujte si doručenou poštu.",
"emailPlaceholder": "Váš email", "emailPlaceholder": "Váš email",
"sendResetLink": "Odeslat odkaz na reset", "sendResetLink": "Odeslat odkaz na reset",
"backToLogin": "Zpět k přihlášení" "backToLogin": "Zpět k přihlášení",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"reset": { "reset": {
"title": "Nastavte nové heslo", "title": "Nastavte nové heslo",
@@ -782,7 +929,19 @@
"hubCatalog": "Catalog & rares", "hubCatalog": "Catalog & rares",
"hubShop": "Shop & payments", "hubShop": "Shop & payments",
"hubTools": "Tools", "hubTools": "Tools",
"hubObservability": "Observability" "hubObservability": "Observability",
"helpTickets": "Help-center tickets",
"marketplace": "Marketplace",
"expandAll": "Expand all",
"collapseAll": "Collapse all",
"community": "Community",
"monitoring": "Monitoring",
"staffAccess": "Ranks & permissions",
"multiAccounts": "Multi-accounts",
"chatLog": "Chat log",
"commandLog": "Command log",
"tradeLog": "Trade log",
"tools": "Tools"
}, },
"dashboard": { "dashboard": {
"title": "Dashboard", "title": "Dashboard",
@@ -935,7 +1094,14 @@
"saving": "Ukládání…", "saving": "Ukládání…",
"deleteAd": "Smazat inzerát", "deleteAd": "Smazat inzerát",
"cancel": "Zrušit" "cancel": "Zrušit"
} },
"deleteSuccess": "Advertisement deleted!",
"deleteError": "Failed to delete advertisement.",
"adsCount": "Total ads",
"latest": "Latest",
"mostRecentAd": "Most recent ad",
"allAds": "All advertisements",
"colPreview": "Preview"
}, },
"writeableBoxes": { "writeableBoxes": {
"title": "Zapisovatelné krabičky", "title": "Zapisovatelné krabičky",
@@ -1306,7 +1472,9 @@
"colPosition": "Position", "colPosition": "Position",
"colTransaction": "Transaction", "colTransaction": "Transaction",
"colUser": "User", "colUser": "User",
"colDescription": "Description" "colDescription": "Description",
"pageOf": "Page {page} of {lastPage}",
"packagesTotal": "{count} packages"
}, },
"transactions": { "transactions": {
"title": "Transakce", "title": "Transakce",
@@ -1894,7 +2062,35 @@
"userPrefix": "user", "userPrefix": "user",
"pagination": "Page {page} of {pages} · {total} total", "pagination": "Page {page} of {pages} · {total} total",
"next": "Next", "next": "Next",
"prev": "Previous" "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"
},
"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…"
}
}, },
"wordfilter": { "wordfilter": {
"title": "Filtr slov", "title": "Filtr slov",
@@ -2241,7 +2437,15 @@
"pets": "Pets", "pets": "Pets",
"petsDescription": "Import pet data and icons.", "petsDescription": "Import pet data and icons.",
"clone": "Clone", "clone": "Clone",
"cloneDescription": "Clone existing items from one source to another." "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": { "translations": {
"title": "Translations", "title": "Translations",
@@ -2388,9 +2592,402 @@
"devops": "DevOps", "devops": "DevOps",
"errors": "Errors", "errors": "Errors",
"alerts": "Alerts", "alerts": "Alerts",
"toolsGroup": "Tools" "toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
},
"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"
},
"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."
}
},
"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"
} }
} }
},
"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"
}
},
"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:"
} }
} }
} }
+619 -22
View File
@@ -21,7 +21,9 @@
"admin": "Admin", "admin": "Admin",
"openMenu": "Åbn menuen", "openMenu": "Åbn menuen",
"closeMenu": "Luk menuen", "closeMenu": "Luk menuen",
"drawBadge": "Tegn badge" "drawBadge": "Tegn badge",
"events": "Events",
"polls": "Polls"
}, },
"header": { "header": {
"online": "{count} {hotel} online", "online": "{count} {hotel} online",
@@ -71,7 +73,16 @@
"emptySubtitle": "Du har ingen tilføjet venner endnu", "emptySubtitle": "Du har ingen tilføjet venner endnu",
"subtitle": "{count, plural, one {You have # friend} other {You have # friends}}", "subtitle": "{count, plural, one {You have # friend} other {You have # friends}}",
"emptyState": "Tilføj venner på hotellet, så dukker de op her.", "emptyState": "Tilføj venner på hotellet, så dukker de op her.",
"noMotto": "Intet motto" "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": { "messages": {
"title": "Beskeder", "title": "Beskeder",
@@ -86,7 +97,30 @@
"offlineEmptySubtitle": "Din indbakke er tom", "offlineEmptySubtitle": "Din indbakke er tom",
"offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}", "offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}",
"offlineEmptyState": "Du har ingen offline beskeder.", "offlineEmptyState": "Du har ingen offline beskeder.",
"unknownUser": "Bruger #{id}" "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": { "profile": {
"noMotto": "Intet motto", "noMotto": "Intet motto",
@@ -114,7 +148,26 @@
"roomsTitle": "Værelser", "roomsTitle": "Værelser",
"roomsSubtitle": "Værelser de ejer", "roomsSubtitle": "Værelser de ejer",
"roomsEmpty": "Ingen lokaler at vise.", "roomsEmpty": "Ingen lokaler at vise.",
"roomUntitled": "Unavngivet værelse" "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": { "rankings": {
"title": "Placeringer", "title": "Placeringer",
@@ -180,7 +233,19 @@
"addComment": "Tilføj en kommentar", "addComment": "Tilføj en kommentar",
"commentPlaceholder": "Skriv din kommentar...", "commentPlaceholder": "Skriv din kommentar...",
"postComment": "Skriv kommentar", "postComment": "Skriv kommentar",
"toComment": "at efterlade en 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": { "photos": {
"title": "Fotos", "title": "Fotos",
@@ -264,7 +329,10 @@
"pinned": "Fastgjort", "pinned": "Fastgjort",
"locked": "Låst", "locked": "Låst",
"userNumber": "Bruger #{id}", "userNumber": "Bruger #{id}",
"unknown": "Ukendt" "unknown": "Ukendt",
"success": {
"posted": "Thread posted."
}
}, },
"guildForumNew": { "guildForumNew": {
"backToForum": "← Tilbage til forum", "backToForum": "← Tilbage til forum",
@@ -276,7 +344,13 @@
"messageLabel": "Besked", "messageLabel": "Besked",
"messagePlaceholder": "Skriv dit åbningsindlæg...", "messagePlaceholder": "Skriv dit åbningsindlæg...",
"postThread": "Post tråd", "postThread": "Post tråd",
"cancel": "Annuller" "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": { "shop": {
"title": "Butik", "title": "Butik",
@@ -286,7 +360,22 @@
"allPackages": "Alle pakker", "allPackages": "Alle pakker",
"packagesAvailable": "{count, plural, one {# package available} other {# packages available}}", "packagesAvailable": "{count, plural, one {# package available} other {# packages available}}",
"empty": "Ingen tilgængelige pakker lige nu.", "empty": "Ingen tilgængelige pakker lige nu.",
"buy": "Køb" "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": { "topup": {
"title": "Fyld op med PayPal", "title": "Fyld op med PayPal",
@@ -390,7 +479,16 @@
"colStatus": "Status", "colStatus": "Status",
"colCreated": "Oprettet", "colCreated": "Oprettet",
"statusOpen": "Åbn", "statusOpen": "Åbn",
"statusClosed": "Lukket" "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."
}
}, },
"applyStaff": { "applyStaff": {
"title": "Ansøg om {hotel} personale", "title": "Ansøg om {hotel} personale",
@@ -402,7 +500,17 @@
"alreadyApplied": "Du har allerede ansøgt om {rank}", "alreadyApplied": "Du har allerede ansøgt om {rank}",
"aboutYou": "Om dig", "aboutYou": "Om dig",
"aboutPlaceholder": "Fortæl os, hvorfor du ville være en stor {rank}...", "aboutPlaceholder": "Fortæl os, hvorfor du ville være en stor {rank}...",
"applyFor": "Ansøg om {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": { "applyTeam": {
"title": "Ansøg om {hotel}-teamet", "title": "Ansøg om {hotel}-teamet",
@@ -412,7 +520,17 @@
"pending": "Din ansøgning afventer", "pending": "Din ansøgning afventer",
"aboutYou": "Om dig", "aboutYou": "Om dig",
"aboutPlaceholder": "Fortæl os, hvorfor du ville passe godt til {rank}...", "aboutPlaceholder": "Fortæl os, hvorfor du ville passe godt til {rank}...",
"applyFor": "Ansøg om {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": { "radio": {
"title": "Radio", "title": "Radio",
@@ -467,7 +585,16 @@
"loginToPost": "Log ind for at sende et råb.", "loginToPost": "Log ind for at sende et råb.",
"latestTitle": "Seneste råb", "latestTitle": "Seneste råb",
"latestSubtitle": "De seneste beskeder fra lyttere", "latestSubtitle": "De seneste beskeder fra lyttere",
"empty": "Ingen råb endnu. Vær den første!" "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": { "radioContests": {
"title": "Radiokonkurrencer", "title": "Radiokonkurrencer",
@@ -511,7 +638,16 @@
"colStatus": "Status", "colStatus": "Status",
"statusPending": "Afventer", "statusPending": "Afventer",
"statusApproved": "Godkendt", "statusApproved": "Godkendt",
"statusPlayed": "Spillede" "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."
}
}, },
"client": { "client": {
"title": "Nitro klient", "title": "Nitro klient",
@@ -549,7 +685,15 @@
"experiencePlaceholder": "Har du tidligere erfaring med DJ eller vært?", "experiencePlaceholder": "Har du tidligere erfaring med DJ eller vært?",
"motivationLabel": "Motivation", "motivationLabel": "Motivation",
"motivationPlaceholder": "Hvorfor vil du være med på radioholdet?", "motivationPlaceholder": "Hvorfor vil du være med på radioholdet?",
"submitButton": "Indsend ansøgning" "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": { "settings": {
"accountSettings": "Kontoindstillinger", "accountSettings": "Kontoindstillinger",
@@ -624,7 +768,9 @@
"errorInvalidCredentials": "Ugyldigt brugernavn eller adgangskode", "errorInvalidCredentials": "Ugyldigt brugernavn eller adgangskode",
"errorInvalid2fa": "Ugyldig 2FA-kode", "errorInvalid2fa": "Ugyldig 2FA-kode",
"welcomeBack": "Velkommen tilbage", "welcomeBack": "Velkommen tilbage",
"welcomeBackSub": "Log ind for at fortsætte til {hotelName}" "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": { "register": {
"title": "Opret konto", "title": "Opret konto",
@@ -664,7 +810,8 @@
"sentNotice": "Hvis denne e-mail er registreret, er et nulstillingslink blevet sendt. Tjek din indbakke.", "sentNotice": "Hvis denne e-mail er registreret, er et nulstillingslink blevet sendt. Tjek din indbakke.",
"emailPlaceholder": "Din e-mail", "emailPlaceholder": "Din e-mail",
"sendResetLink": "Send nulstillingslink", "sendResetLink": "Send nulstillingslink",
"backToLogin": "Tilbage til login" "backToLogin": "Tilbage til login",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"reset": { "reset": {
"title": "Indstil en ny adgangskode", "title": "Indstil en ny adgangskode",
@@ -782,7 +929,19 @@
"hubCatalog": "Catalog & rares", "hubCatalog": "Catalog & rares",
"hubShop": "Shop & payments", "hubShop": "Shop & payments",
"hubTools": "Tools", "hubTools": "Tools",
"hubObservability": "Observability" "hubObservability": "Observability",
"helpTickets": "Help-center tickets",
"marketplace": "Marketplace",
"expandAll": "Expand all",
"collapseAll": "Collapse all",
"community": "Community",
"monitoring": "Monitoring",
"staffAccess": "Ranks & permissions",
"multiAccounts": "Multi-accounts",
"chatLog": "Chat log",
"commandLog": "Command log",
"tradeLog": "Trade log",
"tools": "Tools"
}, },
"dashboard": { "dashboard": {
"title": "Dashboard", "title": "Dashboard",
@@ -935,7 +1094,14 @@
"saving": "Gemmer...", "saving": "Gemmer...",
"deleteAd": "Slet annonce", "deleteAd": "Slet annonce",
"cancel": "Annuller" "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": { "writeableBoxes": {
"title": "Skrivbare æsker", "title": "Skrivbare æsker",
@@ -1306,7 +1472,9 @@
"colPosition": "Position", "colPosition": "Position",
"colTransaction": "Transaction", "colTransaction": "Transaction",
"colUser": "User", "colUser": "User",
"colDescription": "Description" "colDescription": "Description",
"pageOf": "Page {page} of {lastPage}",
"packagesTotal": "{count} packages"
}, },
"transactions": { "transactions": {
"title": "Transaktioner", "title": "Transaktioner",
@@ -1894,7 +2062,35 @@
"userPrefix": "user", "userPrefix": "user",
"pagination": "Page {page} of {pages} · {total} total", "pagination": "Page {page} of {pages} · {total} total",
"next": "Next", "next": "Next",
"prev": "Previous" "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"
},
"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…"
}
}, },
"wordfilter": { "wordfilter": {
"title": "Ord filter", "title": "Ord filter",
@@ -2241,7 +2437,15 @@
"pets": "Pets", "pets": "Pets",
"petsDescription": "Import pet data and icons.", "petsDescription": "Import pet data and icons.",
"clone": "Clone", "clone": "Clone",
"cloneDescription": "Clone existing items from one source to another." "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": { "translations": {
"title": "Translations", "title": "Translations",
@@ -2388,9 +2592,402 @@
"devops": "DevOps", "devops": "DevOps",
"errors": "Errors", "errors": "Errors",
"alerts": "Alerts", "alerts": "Alerts",
"toolsGroup": "Tools" "toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
},
"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"
},
"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."
}
},
"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"
} }
} }
},
"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"
}
},
"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:"
} }
} }
} }
+619 -22
View File
@@ -21,7 +21,9 @@
"admin": "Admin", "admin": "Admin",
"openMenu": "Open menu", "openMenu": "Open menu",
"closeMenu": "Close menu", "closeMenu": "Close menu",
"drawBadge": "Abzeichen zeichnen" "drawBadge": "Abzeichen zeichnen",
"events": "Events",
"polls": "Polls"
}, },
"header": { "header": {
"online": "{count} {hotel} online", "online": "{count} {hotel} online",
@@ -71,7 +73,16 @@
"emptySubtitle": "Du hast noch keine Freunde hinzugefügt", "emptySubtitle": "Du hast noch keine Freunde hinzugefügt",
"subtitle": "{count, plural, one {Du hast # Freund} other {Du hast # Freunde}}", "subtitle": "{count, plural, one {Du hast # Freund} other {Du hast # Freunde}}",
"emptyState": "Füge im Hotel Freunde hinzu und sie werden hier angezeigt.", "emptyState": "Füge im Hotel Freunde hinzu und sie werden hier angezeigt.",
"noMotto": "Kein Motto" "noMotto": "Kein 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": { "messages": {
"title": "Nachrichten", "title": "Nachrichten",
@@ -86,7 +97,30 @@
"offlineEmptySubtitle": "Dein Posteingang ist leer", "offlineEmptySubtitle": "Dein Posteingang ist leer",
"offlineSubtitle": "{count, plural, one {# Nachricht erhalten} other {# Nachrichten erhalten}}", "offlineSubtitle": "{count, plural, one {# Nachricht erhalten} other {# Nachrichten erhalten}}",
"offlineEmptyState": "Du hast keine Offline-Nachrichten.", "offlineEmptyState": "Du hast keine Offline-Nachrichten.",
"unknownUser": "Benutzer #{id}" "unknownUser": "Benutzer #{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": { "profile": {
"noMotto": "Kein Motto", "noMotto": "Kein Motto",
@@ -114,7 +148,26 @@
"roomsTitle": "Räume", "roomsTitle": "Räume",
"roomsSubtitle": "Räume, die sie besitzen", "roomsSubtitle": "Räume, die sie besitzen",
"roomsEmpty": "Keine Räume zu sehen.", "roomsEmpty": "Keine Räume zu sehen.",
"roomUntitled": "Unbenannter Raum" "roomUntitled": "Unbenannter Raum",
"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": { "rankings": {
"title": "Ranglisten", "title": "Ranglisten",
@@ -180,7 +233,19 @@
"addComment": "Kommentar hinzufügen", "addComment": "Kommentar hinzufügen",
"commentPlaceholder": "Schreibe deinen Kommentar…", "commentPlaceholder": "Schreibe deinen Kommentar…",
"postComment": "Kommentar posten", "postComment": "Kommentar posten",
"toComment": "um einen Kommentar zu hinterlassen." "toComment": "um einen Kommentar zu hinterlassen.",
"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": { "photos": {
"title": "Fotos", "title": "Fotos",
@@ -264,7 +329,10 @@
"pinned": "Angepinnt", "pinned": "Angepinnt",
"locked": "Gesperrt", "locked": "Gesperrt",
"userNumber": "Benutzer #{id}", "userNumber": "Benutzer #{id}",
"unknown": "Unbekannt" "unknown": "Unbekannt",
"success": {
"posted": "Thread posted."
}
}, },
"guildForumNew": { "guildForumNew": {
"backToForum": "← Zurück zum Forum", "backToForum": "← Zurück zum Forum",
@@ -276,7 +344,13 @@
"messageLabel": "Nachricht", "messageLabel": "Nachricht",
"messagePlaceholder": "Schreibe deinen Eröffnungsbeitrag…", "messagePlaceholder": "Schreibe deinen Eröffnungsbeitrag…",
"postThread": "Thema erstellen", "postThread": "Thema erstellen",
"cancel": "Abbrechen" "cancel": "Abbrechen",
"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": { "shop": {
"title": "Shop", "title": "Shop",
@@ -286,7 +360,22 @@
"allPackages": "Alle Pakete", "allPackages": "Alle Pakete",
"packagesAvailable": "{count, plural, one {# Paket verfügbar} other {# Pakete verfügbar}}", "packagesAvailable": "{count, plural, one {# Paket verfügbar} other {# Pakete verfügbar}}",
"empty": "Derzeit keine Pakete verfügbar.", "empty": "Derzeit keine Pakete verfügbar.",
"buy": "Kaufen" "buy": "Kaufen",
"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": { "topup": {
"title": "Aufladen mit PayPal", "title": "Aufladen mit PayPal",
@@ -390,7 +479,16 @@
"colStatus": "Status", "colStatus": "Status",
"colCreated": "Erstellt", "colCreated": "Erstellt",
"statusOpen": "Offen", "statusOpen": "Offen",
"statusClosed": "Geschlossen" "statusClosed": "Geschlossen",
"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."
}
}, },
"applyStaff": { "applyStaff": {
"title": "Bewirb dich als {hotel} Team", "title": "Bewirb dich als {hotel} Team",
@@ -402,7 +500,17 @@
"alreadyApplied": "Du hast dich bereits für {rank} beworben", "alreadyApplied": "Du hast dich bereits für {rank} beworben",
"aboutYou": "Über dich", "aboutYou": "Über dich",
"aboutPlaceholder": "Erzähl uns, warum du ein großartiger {rank} wärst…", "aboutPlaceholder": "Erzähl uns, warum du ein großartiger {rank} wärst…",
"applyFor": "Bewirb dich für {rank}" "applyFor": "Bewirb dich für {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": { "applyTeam": {
"title": "Bewirb dich für das {hotel} Team", "title": "Bewirb dich für das {hotel} Team",
@@ -412,7 +520,17 @@
"pending": "Deine Bewerbung ist in Bearbeitung", "pending": "Deine Bewerbung ist in Bearbeitung",
"aboutYou": "Über dich", "aboutYou": "Über dich",
"aboutPlaceholder": "Erzähl uns, warum du eine großartige Ergänzung für {rank} wärst…", "aboutPlaceholder": "Erzähl uns, warum du eine großartige Ergänzung für {rank} wärst…",
"applyFor": "Bewirb dich für {rank}" "applyFor": "Bewirb dich für {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": { "radio": {
"title": "Radio", "title": "Radio",
@@ -467,7 +585,16 @@
"loginToPost": "Melde dich an, um einen Shout zu posten.", "loginToPost": "Melde dich an, um einen Shout zu posten.",
"latestTitle": "Neueste Shouts", "latestTitle": "Neueste Shouts",
"latestSubtitle": "Die aktuellsten Nachrichten von Hörern", "latestSubtitle": "Die aktuellsten Nachrichten von Hörern",
"empty": "Noch keine Shouts. Sei der Erste!" "empty": "Noch keine Shouts. Sei der Erste!",
"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": { "radioContests": {
"title": "Radio-Wettbewerbe", "title": "Radio-Wettbewerbe",
@@ -513,7 +640,15 @@
"experiencePlaceholder": "Frühere DJ- oder Moderationserfahrung?", "experiencePlaceholder": "Frühere DJ- oder Moderationserfahrung?",
"motivationLabel": "Motivation", "motivationLabel": "Motivation",
"motivationPlaceholder": "Warum möchtest du dem Radioteam beitreten?", "motivationPlaceholder": "Warum möchtest du dem Radioteam beitreten?",
"submitButton": "Bewerbung einreichen" "submitButton": "Bewerbung einreichen",
"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": { "settings": {
"accountSettings": "Kontoeinstellungen", "accountSettings": "Kontoeinstellungen",
@@ -588,7 +723,9 @@
"errorInvalidCredentials": "Ungültiger Benutzername oder Passwort", "errorInvalidCredentials": "Ungültiger Benutzername oder Passwort",
"errorInvalid2fa": "Ungültiger 2FA-Code", "errorInvalid2fa": "Ungültiger 2FA-Code",
"welcomeBack": "Willkommen zurück", "welcomeBack": "Willkommen zurück",
"welcomeBackSub": "Melde dich an, um zu {hotelName} zu gelangen" "welcomeBackSub": "Melde dich an, um zu {hotelName} zu gelangen",
"errorUnverified": "Please verify your email before signing in.",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"register": { "register": {
"title": "Konto erstellen", "title": "Konto erstellen",
@@ -628,7 +765,8 @@
"sentNotice": "Wenn diese E-Mail registriert ist, wurde ein Reset-Link gesendet. Überprüfe deinen Posteingang.", "sentNotice": "Wenn diese E-Mail registriert ist, wurde ein Reset-Link gesendet. Überprüfe deinen Posteingang.",
"emailPlaceholder": "Deine E-Mail", "emailPlaceholder": "Deine E-Mail",
"sendResetLink": "Reset-Link senden", "sendResetLink": "Reset-Link senden",
"backToLogin": "Zurück zur Anmeldung" "backToLogin": "Zurück zur Anmeldung",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"reset": { "reset": {
"title": "Neues Passwort festlegen", "title": "Neues Passwort festlegen",
@@ -746,7 +884,19 @@
"hubCatalog": "Catalog & rares", "hubCatalog": "Catalog & rares",
"hubShop": "Shop & payments", "hubShop": "Shop & payments",
"hubTools": "Tools", "hubTools": "Tools",
"hubObservability": "Observability" "hubObservability": "Observability",
"helpTickets": "Help-center tickets",
"marketplace": "Marketplace",
"expandAll": "Expand all",
"collapseAll": "Collapse all",
"community": "Community",
"monitoring": "Monitoring",
"staffAccess": "Ranks & permissions",
"multiAccounts": "Multi-accounts",
"chatLog": "Chat log",
"commandLog": "Command log",
"tradeLog": "Trade log",
"tools": "Tools"
}, },
"dashboard": { "dashboard": {
"title": "Dashboard", "title": "Dashboard",
@@ -899,7 +1049,14 @@
"saving": "Wird gespeichert…", "saving": "Wird gespeichert…",
"deleteAd": "Anzeige löschen", "deleteAd": "Anzeige löschen",
"cancel": "Abbrechen" "cancel": "Abbrechen"
} },
"deleteSuccess": "Advertisement deleted!",
"deleteError": "Failed to delete advertisement.",
"adsCount": "Total ads",
"latest": "Latest",
"mostRecentAd": "Most recent ad",
"allAds": "All advertisements",
"colPreview": "Preview"
}, },
"writeableBoxes": { "writeableBoxes": {
"title": "Editierbare Boxen", "title": "Editierbare Boxen",
@@ -1270,7 +1427,9 @@
"colPosition": "Position", "colPosition": "Position",
"colTransaction": "Transaction", "colTransaction": "Transaction",
"colUser": "User", "colUser": "User",
"colDescription": "Description" "colDescription": "Description",
"pageOf": "Page {page} of {lastPage}",
"packagesTotal": "{count} packages"
}, },
"transactions": { "transactions": {
"title": "Transaktionen", "title": "Transaktionen",
@@ -1858,7 +2017,35 @@
"userPrefix": "user", "userPrefix": "user",
"pagination": "Page {page} of {pages} · {total} total", "pagination": "Page {page} of {pages} · {total} total",
"next": "Next", "next": "Next",
"prev": "Previous" "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"
},
"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…"
}
}, },
"wordfilter": { "wordfilter": {
"title": "Wortfilter", "title": "Wortfilter",
@@ -2205,7 +2392,15 @@
"pets": "Pets", "pets": "Pets",
"petsDescription": "Import pet data and icons.", "petsDescription": "Import pet data and icons.",
"clone": "Clone", "clone": "Clone",
"cloneDescription": "Clone existing items from one source to another." "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": { "translations": {
"title": "Translations", "title": "Translations",
@@ -2352,7 +2547,247 @@
"devops": "DevOps", "devops": "DevOps",
"errors": "Errors", "errors": "Errors",
"alerts": "Alerts", "alerts": "Alerts",
"toolsGroup": "Tools" "toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
},
"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"
},
"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."
}
},
"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"
} }
} }
}, },
@@ -2390,7 +2825,169 @@
"colStatus": "Status", "colStatus": "Status",
"statusPending": "Pending", "statusPending": "Pending",
"statusApproved": "Approved", "statusApproved": "Approved",
"statusPlayed": "Played" "statusPlayed": "Played",
"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."
}
},
"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"
}
},
"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:"
} }
} }
} }
+619 -22
View File
@@ -21,7 +21,9 @@
"admin": "Διαχειρ", "admin": "Διαχειρ",
"openMenu": "Άνοιγμα μενού", "openMenu": "Άνοιγμα μενού",
"closeMenu": "Κλείσιμο μενού", "closeMenu": "Κλείσιμο μενού",
"drawBadge": "Σχεδιάστε το σήμα" "drawBadge": "Σχεδιάστε το σήμα",
"events": "Events",
"polls": "Polls"
}, },
"header": { "header": {
"online": "{count} {hotel} στο διαδίκτυο", "online": "{count} {hotel} στο διαδίκτυο",
@@ -71,7 +73,16 @@
"emptySubtitle": "Δεν έχετε προσθέσει φίλους ακόμα", "emptySubtitle": "Δεν έχετε προσθέσει φίλους ακόμα",
"subtitle": "{count, plural, one {You have # friend} other {You have # friends}}", "subtitle": "{count, plural, one {You have # friend} other {You have # friends}}",
"emptyState": "Προσθέστε φίλους στο ξενοδοχείο και θα εμφανιστούν εδώ.", "emptyState": "Προσθέστε φίλους στο ξενοδοχείο και θα εμφανιστούν εδώ.",
"noMotto": "Χωρίς σύνθημα" "noMotto": "Χωρίς σύνθημα",
"remove": "Remove",
"success": {
"removed": "Friend removed."
},
"errors": {
"notFound": "That friendship was not found.",
"invalid": "Invalid friend.",
"error": "Something went wrong. Please try again."
}
}, },
"messages": { "messages": {
"title": "Μηνύματα", "title": "Μηνύματα",
@@ -86,7 +97,30 @@
"offlineEmptySubtitle": "Τα εισερχόμενά σας είναι άδεια", "offlineEmptySubtitle": "Τα εισερχόμενά σας είναι άδεια",
"offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}", "offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}",
"offlineEmptyState": "Δεν έχετε μηνύματα εκτός σύνδεσης.", "offlineEmptyState": "Δεν έχετε μηνύματα εκτός σύνδεσης.",
"unknownUser": "Χρήστης #{id}" "unknownUser": "Χρήστης #{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": { "profile": {
"noMotto": "Χωρίς σύνθημα", "noMotto": "Χωρίς σύνθημα",
@@ -114,7 +148,26 @@
"roomsTitle": "Δωμάτια", "roomsTitle": "Δωμάτια",
"roomsSubtitle": "Δωμάτια που τους ανήκουν", "roomsSubtitle": "Δωμάτια που τους ανήκουν",
"roomsEmpty": "Δεν υπάρχουν δωμάτια για εμφάνιση.", "roomsEmpty": "Δεν υπάρχουν δωμάτια για εμφάνιση.",
"roomUntitled": "Δωμάτιο χωρίς τίτλο" "roomUntitled": "Δωμάτιο χωρίς τίτλο",
"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": { "rankings": {
"title": "Κατάταξη", "title": "Κατάταξη",
@@ -180,7 +233,19 @@
"addComment": "Προσθέστε ένα σχόλιο", "addComment": "Προσθέστε ένα σχόλιο",
"commentPlaceholder": "Γράψτε το σχόλιό σας…", "commentPlaceholder": "Γράψτε το σχόλιό σας…",
"postComment": "Δημοσίευση σχολίου", "postComment": "Δημοσίευση σχολίου",
"toComment": "για να αφήσετε ένα σχόλιο." "toComment": "για να αφήσετε ένα σχόλιο.",
"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": { "photos": {
"title": "Φωτογραφίες", "title": "Φωτογραφίες",
@@ -264,7 +329,10 @@
"pinned": "Καρφιτσωμένο", "pinned": "Καρφιτσωμένο",
"locked": "Κλειδωμένο", "locked": "Κλειδωμένο",
"userNumber": "Χρήστης #{id}", "userNumber": "Χρήστης #{id}",
"unknown": "Άγνωστο" "unknown": "Άγνωστο",
"success": {
"posted": "Thread posted."
}
}, },
"guildForumNew": { "guildForumNew": {
"backToForum": "← Επιστροφή στο φόρουμ", "backToForum": "← Επιστροφή στο φόρουμ",
@@ -276,7 +344,13 @@
"messageLabel": "Μήνυμα", "messageLabel": "Μήνυμα",
"messagePlaceholder": "Γράψτε την αρχική σας ανάρτηση…", "messagePlaceholder": "Γράψτε την αρχική σας ανάρτηση…",
"postThread": "Δημοσίευση νήματος", "postThread": "Δημοσίευση νήματος",
"cancel": "Ακύρωση" "cancel": "Ακύρωση",
"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": { "shop": {
"title": "Κατάστημα", "title": "Κατάστημα",
@@ -286,7 +360,22 @@
"allPackages": "Όλα τα πακέτα", "allPackages": "Όλα τα πακέτα",
"packagesAvailable": "{count, plural, one {# package available} other {# packages available}}", "packagesAvailable": "{count, plural, one {# package available} other {# packages available}}",
"empty": "Δεν υπάρχουν διαθέσιμα πακέτα αυτήν τη στιγμή.", "empty": "Δεν υπάρχουν διαθέσιμα πακέτα αυτήν τη στιγμή.",
"buy": "Αγοράστε" "buy": "Αγοράστε",
"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": { "topup": {
"title": "Συμπληρώστε με PayPal", "title": "Συμπληρώστε με PayPal",
@@ -390,7 +479,16 @@
"colStatus": "Κατάσταση", "colStatus": "Κατάσταση",
"colCreated": "Δημιουργήθηκε", "colCreated": "Δημιουργήθηκε",
"statusOpen": "Ανοίξτε", "statusOpen": "Ανοίξτε",
"statusClosed": "Κλειστό" "statusClosed": "Κλειστό",
"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."
}
}, },
"applyStaff": { "applyStaff": {
"title": "Κάντε αίτηση για προσωπικό {hotel}", "title": "Κάντε αίτηση για προσωπικό {hotel}",
@@ -402,7 +500,17 @@
"alreadyApplied": "Έχετε ήδη υποβάλει αίτηση για {rank}", "alreadyApplied": "Έχετε ήδη υποβάλει αίτηση για {rank}",
"aboutYou": "Σχετικά με εσάς", "aboutYou": "Σχετικά με εσάς",
"aboutPlaceholder": "Πείτε μας γιατί θα ήσασταν εξαιρετικός {rank}…", "aboutPlaceholder": "Πείτε μας γιατί θα ήσασταν εξαιρετικός {rank}…",
"applyFor": "Αίτηση για {rank}" "applyFor": "Αίτηση για {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": { "applyTeam": {
"title": "Κάντε αίτηση για την ομάδα του {hotel}", "title": "Κάντε αίτηση για την ομάδα του {hotel}",
@@ -412,7 +520,17 @@
"pending": "Η αίτησή σας είναι σε εκκρεμότητα", "pending": "Η αίτησή σας είναι σε εκκρεμότητα",
"aboutYou": "Σχετικά με εσάς", "aboutYou": "Σχετικά με εσάς",
"aboutPlaceholder": "Πείτε μας γιατί θα ήσασταν πολύ κατάλληλοι για το {rank}…", "aboutPlaceholder": "Πείτε μας γιατί θα ήσασταν πολύ κατάλληλοι για το {rank}…",
"applyFor": "Αίτηση για {rank}" "applyFor": "Αίτηση για {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": { "radio": {
"title": "Ραδιόφωνο", "title": "Ραδιόφωνο",
@@ -467,7 +585,16 @@
"loginToPost": "Συνδεθείτε για να δημοσιεύσετε μια κραυγή.", "loginToPost": "Συνδεθείτε για να δημοσιεύσετε μια κραυγή.",
"latestTitle": "Τελευταίες κραυγές", "latestTitle": "Τελευταίες κραυγές",
"latestSubtitle": "Τα πιο πρόσφατα μηνύματα από ακροατές", "latestSubtitle": "Τα πιο πρόσφατα μηνύματα από ακροατές",
"empty": "Χωρίς φωνές ακόμα. Γίνε ο πρώτος!" "empty": "Χωρίς φωνές ακόμα. Γίνε ο πρώτος!",
"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": { "radioContests": {
"title": "Διαγωνισμοί Ραδιοφώνου", "title": "Διαγωνισμοί Ραδιοφώνου",
@@ -511,7 +638,16 @@
"colStatus": "Κατάσταση", "colStatus": "Κατάσταση",
"statusPending": "Σε εκκρεμότητα", "statusPending": "Σε εκκρεμότητα",
"statusApproved": "Εγκρίθηκε", "statusApproved": "Εγκρίθηκε",
"statusPlayed": "Έπαιξε" "statusPlayed": "Έπαιξε",
"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."
}
}, },
"client": { "client": {
"title": "Πελάτης Nitro", "title": "Πελάτης Nitro",
@@ -549,7 +685,15 @@
"experiencePlaceholder": "Κάποια προηγούμενη εμπειρία DJ ή φιλοξενίας;", "experiencePlaceholder": "Κάποια προηγούμενη εμπειρία DJ ή φιλοξενίας;",
"motivationLabel": "Κίνητρο", "motivationLabel": "Κίνητρο",
"motivationPlaceholder": "Γιατί θέλετε να γίνετε μέλος της ομάδας του ραδιοφώνου;", "motivationPlaceholder": "Γιατί θέλετε να γίνετε μέλος της ομάδας του ραδιοφώνου;",
"submitButton": "Υποβολή αίτησης" "submitButton": "Υποβολή αίτησης",
"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": { "settings": {
"accountSettings": "Ρυθμίσεις λογαριασμού", "accountSettings": "Ρυθμίσεις λογαριασμού",
@@ -624,7 +768,9 @@
"errorInvalidCredentials": "Μη έγκυρο όνομα χρήστη ή κωδικός πρόσβασης", "errorInvalidCredentials": "Μη έγκυρο όνομα χρήστη ή κωδικός πρόσβασης",
"errorInvalid2fa": "Μη έγκυρος κωδικός 2FA", "errorInvalid2fa": "Μη έγκυρος κωδικός 2FA",
"welcomeBack": "Καλώς ήρθες πίσω", "welcomeBack": "Καλώς ήρθες πίσω",
"welcomeBackSub": "Συνδέσου για να συνεχίσεις στο {hotelName}" "welcomeBackSub": "Συνδέσου για να συνεχίσεις στο {hotelName}",
"errorUnverified": "Please verify your email before signing in.",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"register": { "register": {
"title": "Δημιουργία λογαριασμού", "title": "Δημιουργία λογαριασμού",
@@ -664,7 +810,8 @@
"sentNotice": "Εάν αυτό το email είναι καταχωρημένο, έχει σταλεί ένας σύνδεσμος επαναφοράς. Ελέγξτε τα εισερχόμενά σας.", "sentNotice": "Εάν αυτό το email είναι καταχωρημένο, έχει σταλεί ένας σύνδεσμος επαναφοράς. Ελέγξτε τα εισερχόμενά σας.",
"emailPlaceholder": "Το email σας", "emailPlaceholder": "Το email σας",
"sendResetLink": "Αποστολή συνδέσμου επαναφοράς", "sendResetLink": "Αποστολή συνδέσμου επαναφοράς",
"backToLogin": "Επιστροφή στην είσοδο" "backToLogin": "Επιστροφή στην είσοδο",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"reset": { "reset": {
"title": "Ορίστε νέο κωδικό πρόσβασης", "title": "Ορίστε νέο κωδικό πρόσβασης",
@@ -782,7 +929,19 @@
"hubCatalog": "Catalog & rares", "hubCatalog": "Catalog & rares",
"hubShop": "Shop & payments", "hubShop": "Shop & payments",
"hubTools": "Tools", "hubTools": "Tools",
"hubObservability": "Observability" "hubObservability": "Observability",
"helpTickets": "Help-center tickets",
"marketplace": "Marketplace",
"expandAll": "Expand all",
"collapseAll": "Collapse all",
"community": "Community",
"monitoring": "Monitoring",
"staffAccess": "Ranks & permissions",
"multiAccounts": "Multi-accounts",
"chatLog": "Chat log",
"commandLog": "Command log",
"tradeLog": "Trade log",
"tools": "Tools"
}, },
"dashboard": { "dashboard": {
"title": "Ταμπλό", "title": "Ταμπλό",
@@ -935,7 +1094,14 @@
"saving": "Αποθήκευση…", "saving": "Αποθήκευση…",
"deleteAd": "Διαγραφή διαφήμισης", "deleteAd": "Διαγραφή διαφήμισης",
"cancel": "Ακύρωση" "cancel": "Ακύρωση"
} },
"deleteSuccess": "Advertisement deleted!",
"deleteError": "Failed to delete advertisement.",
"adsCount": "Total ads",
"latest": "Latest",
"mostRecentAd": "Most recent ad",
"allAds": "All advertisements",
"colPreview": "Preview"
}, },
"writeableBoxes": { "writeableBoxes": {
"title": "Εγγράψιμα κουτιά", "title": "Εγγράψιμα κουτιά",
@@ -1306,7 +1472,9 @@
"colPosition": "Position", "colPosition": "Position",
"colTransaction": "Transaction", "colTransaction": "Transaction",
"colUser": "User", "colUser": "User",
"colDescription": "Description" "colDescription": "Description",
"pageOf": "Page {page} of {lastPage}",
"packagesTotal": "{count} packages"
}, },
"transactions": { "transactions": {
"title": "Συναλλαγές", "title": "Συναλλαγές",
@@ -1894,7 +2062,35 @@
"userPrefix": "user", "userPrefix": "user",
"pagination": "Page {page} of {pages} · {total} total", "pagination": "Page {page} of {pages} · {total} total",
"next": "Next", "next": "Next",
"prev": "Previous" "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"
},
"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…"
}
}, },
"wordfilter": { "wordfilter": {
"title": "Φίλτρο Word", "title": "Φίλτρο Word",
@@ -2241,7 +2437,15 @@
"pets": "Pets", "pets": "Pets",
"petsDescription": "Import pet data and icons.", "petsDescription": "Import pet data and icons.",
"clone": "Clone", "clone": "Clone",
"cloneDescription": "Clone existing items from one source to another." "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": { "translations": {
"title": "Translations", "title": "Translations",
@@ -2388,9 +2592,402 @@
"devops": "DevOps", "devops": "DevOps",
"errors": "Errors", "errors": "Errors",
"alerts": "Alerts", "alerts": "Alerts",
"toolsGroup": "Tools" "toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
},
"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"
},
"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."
}
},
"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"
} }
} }
},
"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"
}
},
"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:"
} }
} }
} }
+619 -22
View File
@@ -21,7 +21,9 @@
"admin": "Admin", "admin": "Admin",
"openMenu": "Open menu", "openMenu": "Open menu",
"closeMenu": "Close menu", "closeMenu": "Close menu",
"drawBadge": "Diseñar insignia" "drawBadge": "Diseñar insignia",
"events": "Events",
"polls": "Polls"
}, },
"header": { "header": {
"online": "{count} {hotel} en línea", "online": "{count} {hotel} en línea",
@@ -71,7 +73,16 @@
"emptySubtitle": "Aún no has añadido amigos", "emptySubtitle": "Aún no has añadido amigos",
"subtitle": "{count, plural, one {Tienes # amigo} other {Tienes # amigos}}", "subtitle": "{count, plural, one {Tienes # amigo} other {Tienes # amigos}}",
"emptyState": "Añade amigos en el hotel y aparecerán aquí.", "emptyState": "Añade amigos en el hotel y aparecerán aquí.",
"noMotto": "Sin lema" "noMotto": "Sin lema",
"remove": "Remove",
"success": {
"removed": "Friend removed."
},
"errors": {
"notFound": "That friendship was not found.",
"invalid": "Invalid friend.",
"error": "Something went wrong. Please try again."
}
}, },
"messages": { "messages": {
"title": "Mensajes", "title": "Mensajes",
@@ -86,7 +97,30 @@
"offlineEmptySubtitle": "Tu bandeja de entrada está vacía", "offlineEmptySubtitle": "Tu bandeja de entrada está vacía",
"offlineSubtitle": "{count, plural, one {# mensaje recibido} other {# mensajes recibidos}}", "offlineSubtitle": "{count, plural, one {# mensaje recibido} other {# mensajes recibidos}}",
"offlineEmptyState": "No tienes mensajes fuera de línea.", "offlineEmptyState": "No tienes mensajes fuera de línea.",
"unknownUser": "Usuario #{id}" "unknownUser": "Usuario #{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": { "profile": {
"noMotto": "Sin lema", "noMotto": "Sin lema",
@@ -114,7 +148,26 @@
"roomsTitle": "Salas", "roomsTitle": "Salas",
"roomsSubtitle": "Salas que poseen", "roomsSubtitle": "Salas que poseen",
"roomsEmpty": "No hay salas que mostrar.", "roomsEmpty": "No hay salas que mostrar.",
"roomUntitled": "Sala sin título" "roomUntitled": "Sala sin título",
"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": { "rankings": {
"title": "Clasificaciones", "title": "Clasificaciones",
@@ -180,7 +233,19 @@
"addComment": "Añadir un comentario", "addComment": "Añadir un comentario",
"commentPlaceholder": "Escribe tu comentario…", "commentPlaceholder": "Escribe tu comentario…",
"postComment": "Publicar comentario", "postComment": "Publicar comentario",
"toComment": "para dejar un comentario." "toComment": "para dejar un comentario.",
"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": { "photos": {
"title": "Fotos", "title": "Fotos",
@@ -264,7 +329,10 @@
"pinned": "Fijado", "pinned": "Fijado",
"locked": "Bloqueado", "locked": "Bloqueado",
"userNumber": "Usuario #{id}", "userNumber": "Usuario #{id}",
"unknown": "Desconocido" "unknown": "Desconocido",
"success": {
"posted": "Thread posted."
}
}, },
"guildForumNew": { "guildForumNew": {
"backToForum": "← Volver al foro", "backToForum": "← Volver al foro",
@@ -276,7 +344,13 @@
"messageLabel": "Mensaje", "messageLabel": "Mensaje",
"messagePlaceholder": "Escribe tu mensaje inicial…", "messagePlaceholder": "Escribe tu mensaje inicial…",
"postThread": "Publicar hilo", "postThread": "Publicar hilo",
"cancel": "Cancelar" "cancel": "Cancelar",
"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": { "shop": {
"title": "Tienda", "title": "Tienda",
@@ -286,7 +360,22 @@
"allPackages": "Todos los paquetes", "allPackages": "Todos los paquetes",
"packagesAvailable": "{count, plural, one {# paquete disponible} other {# paquetes disponibles}}", "packagesAvailable": "{count, plural, one {# paquete disponible} other {# paquetes disponibles}}",
"empty": "No hay paquetes disponibles ahora mismo.", "empty": "No hay paquetes disponibles ahora mismo.",
"buy": "Comprar" "buy": "Comprar",
"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": { "topup": {
"title": "Recargar con PayPal", "title": "Recargar con PayPal",
@@ -390,7 +479,16 @@
"colStatus": "Estado", "colStatus": "Estado",
"colCreated": "Creado", "colCreated": "Creado",
"statusOpen": "Abierto", "statusOpen": "Abierto",
"statusClosed": "Cerrado" "statusClosed": "Cerrado",
"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."
}
}, },
"applyStaff": { "applyStaff": {
"title": "Solicitar unirte al equipo de {hotel}", "title": "Solicitar unirte al equipo de {hotel}",
@@ -402,7 +500,17 @@
"alreadyApplied": "Ya has solicitado {rank}", "alreadyApplied": "Ya has solicitado {rank}",
"aboutYou": "Sobre ti", "aboutYou": "Sobre ti",
"aboutPlaceholder": "Cuéntanos por qué serías un gran {rank}…", "aboutPlaceholder": "Cuéntanos por qué serías un gran {rank}…",
"applyFor": "Solicitar {rank}" "applyFor": "Solicitar {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": { "applyTeam": {
"title": "Solicitar unirte al equipo de {hotel}", "title": "Solicitar unirte al equipo de {hotel}",
@@ -412,7 +520,17 @@
"pending": "Tu solicitud está pendiente", "pending": "Tu solicitud está pendiente",
"aboutYou": "Sobre ti", "aboutYou": "Sobre ti",
"aboutPlaceholder": "Cuéntanos por qué serías ideal para {rank}…", "aboutPlaceholder": "Cuéntanos por qué serías ideal para {rank}…",
"applyFor": "Solicitar {rank}" "applyFor": "Solicitar {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": { "radio": {
"title": "Radio", "title": "Radio",
@@ -467,7 +585,16 @@
"loginToPost": "Inicia sesión para publicar un saludo.", "loginToPost": "Inicia sesión para publicar un saludo.",
"latestTitle": "Últimos saludos", "latestTitle": "Últimos saludos",
"latestSubtitle": "Los mensajes más recientes de los oyentes", "latestSubtitle": "Los mensajes más recientes de los oyentes",
"empty": "Aún no hay saludos. ¡Sé el primero!" "empty": "Aún no hay saludos. ¡Sé el primero!",
"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": { "radioContests": {
"title": "Concursos de radio", "title": "Concursos de radio",
@@ -513,7 +640,15 @@
"experiencePlaceholder": "¿Tienes experiencia previa como DJ o presentador?", "experiencePlaceholder": "¿Tienes experiencia previa como DJ o presentador?",
"motivationLabel": "Motivación", "motivationLabel": "Motivación",
"motivationPlaceholder": "¿Por qué quieres unirte al equipo de radio?", "motivationPlaceholder": "¿Por qué quieres unirte al equipo de radio?",
"submitButton": "Enviar solicitud" "submitButton": "Enviar solicitud",
"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": { "settings": {
"accountSettings": "Configuración de la cuenta", "accountSettings": "Configuración de la cuenta",
@@ -588,7 +723,9 @@
"errorInvalidCredentials": "Usuario o contraseña inválidos", "errorInvalidCredentials": "Usuario o contraseña inválidos",
"errorInvalid2fa": "Código 2FA inválido", "errorInvalid2fa": "Código 2FA inválido",
"welcomeBack": "Bienvenido de nuevo", "welcomeBack": "Bienvenido de nuevo",
"welcomeBackSub": "Inicia sesión para continuar en {hotelName}" "welcomeBackSub": "Inicia sesión para continuar en {hotelName}",
"errorUnverified": "Please verify your email before signing in.",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"register": { "register": {
"title": "Crear cuenta", "title": "Crear cuenta",
@@ -628,7 +765,8 @@
"sentNotice": "Si ese correo está registrado, se ha enviado un enlace de restablecimiento. Revisa tu bandeja de entrada.", "sentNotice": "Si ese correo está registrado, se ha enviado un enlace de restablecimiento. Revisa tu bandeja de entrada.",
"emailPlaceholder": "Tu correo electrónico", "emailPlaceholder": "Tu correo electrónico",
"sendResetLink": "Enviar enlace de restablecimiento", "sendResetLink": "Enviar enlace de restablecimiento",
"backToLogin": "Volver al inicio de sesión" "backToLogin": "Volver al inicio de sesión",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"reset": { "reset": {
"title": "Establecer una nueva contraseña", "title": "Establecer una nueva contraseña",
@@ -746,7 +884,19 @@
"hubCatalog": "Catalog & rares", "hubCatalog": "Catalog & rares",
"hubShop": "Shop & payments", "hubShop": "Shop & payments",
"hubTools": "Tools", "hubTools": "Tools",
"hubObservability": "Observability" "hubObservability": "Observability",
"helpTickets": "Help-center tickets",
"marketplace": "Marketplace",
"expandAll": "Expand all",
"collapseAll": "Collapse all",
"community": "Community",
"monitoring": "Monitoring",
"staffAccess": "Ranks & permissions",
"multiAccounts": "Multi-accounts",
"chatLog": "Chat log",
"commandLog": "Command log",
"tradeLog": "Trade log",
"tools": "Tools"
}, },
"dashboard": { "dashboard": {
"title": "Panel", "title": "Panel",
@@ -899,7 +1049,14 @@
"saving": "Guardando…", "saving": "Guardando…",
"deleteAd": "Eliminar anuncio", "deleteAd": "Eliminar anuncio",
"cancel": "Cancelar" "cancel": "Cancelar"
} },
"deleteSuccess": "Advertisement deleted!",
"deleteError": "Failed to delete advertisement.",
"adsCount": "Total ads",
"latest": "Latest",
"mostRecentAd": "Most recent ad",
"allAds": "All advertisements",
"colPreview": "Preview"
}, },
"writeableBoxes": { "writeableBoxes": {
"title": "Cajas editables", "title": "Cajas editables",
@@ -1270,7 +1427,9 @@
"colPosition": "Position", "colPosition": "Position",
"colTransaction": "Transaction", "colTransaction": "Transaction",
"colUser": "User", "colUser": "User",
"colDescription": "Description" "colDescription": "Description",
"pageOf": "Page {page} of {lastPage}",
"packagesTotal": "{count} packages"
}, },
"transactions": { "transactions": {
"title": "Transacciones", "title": "Transacciones",
@@ -1858,7 +2017,35 @@
"userPrefix": "user", "userPrefix": "user",
"pagination": "Page {page} of {pages} · {total} total", "pagination": "Page {page} of {pages} · {total} total",
"next": "Next", "next": "Next",
"prev": "Previous" "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"
},
"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…"
}
}, },
"wordfilter": { "wordfilter": {
"title": "Filtro de palabras", "title": "Filtro de palabras",
@@ -2205,7 +2392,15 @@
"pets": "Pets", "pets": "Pets",
"petsDescription": "Import pet data and icons.", "petsDescription": "Import pet data and icons.",
"clone": "Clone", "clone": "Clone",
"cloneDescription": "Clone existing items from one source to another." "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": { "translations": {
"title": "Translations", "title": "Translations",
@@ -2352,7 +2547,247 @@
"devops": "DevOps", "devops": "DevOps",
"errors": "Errors", "errors": "Errors",
"alerts": "Alerts", "alerts": "Alerts",
"toolsGroup": "Tools" "toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
},
"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"
},
"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."
}
},
"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"
} }
} }
}, },
@@ -2390,7 +2825,169 @@
"colStatus": "Status", "colStatus": "Status",
"statusPending": "Pending", "statusPending": "Pending",
"statusApproved": "Approved", "statusApproved": "Approved",
"statusPlayed": "Played" "statusPlayed": "Played",
"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."
}
},
"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"
}
},
"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:"
} }
} }
} }
+619 -22
View File
@@ -21,7 +21,9 @@
"admin": "Admin", "admin": "Admin",
"openMenu": "Open menu", "openMenu": "Open menu",
"closeMenu": "Close menu", "closeMenu": "Close menu",
"drawBadge": "Dessiner un badge" "drawBadge": "Dessiner un badge",
"events": "Events",
"polls": "Polls"
}, },
"header": { "header": {
"online": "{count} {hotel} en ligne", "online": "{count} {hotel} en ligne",
@@ -71,7 +73,16 @@
"emptySubtitle": "Vous n'avez encore aucun ami ajouté", "emptySubtitle": "Vous n'avez encore aucun ami ajouté",
"subtitle": "{count, plural, one {Vous avez # ami} other {Vous avez # amis}}", "subtitle": "{count, plural, one {Vous avez # ami} other {Vous avez # amis}}",
"emptyState": "Ajoutez des amis dans l'hôtel et ils apparaîtront ici.", "emptyState": "Ajoutez des amis dans l'hôtel et ils apparaîtront ici.",
"noMotto": "Aucune devise" "noMotto": "Aucune devise",
"remove": "Remove",
"success": {
"removed": "Friend removed."
},
"errors": {
"notFound": "That friendship was not found.",
"invalid": "Invalid friend.",
"error": "Something went wrong. Please try again."
}
}, },
"messages": { "messages": {
"title": "Messages", "title": "Messages",
@@ -86,7 +97,30 @@
"offlineEmptySubtitle": "Votre boîte de réception est vide", "offlineEmptySubtitle": "Votre boîte de réception est vide",
"offlineSubtitle": "{count, plural, one {# message reçu} other {# messages reçus}}", "offlineSubtitle": "{count, plural, one {# message reçu} other {# messages reçus}}",
"offlineEmptyState": "Vous n'avez aucun message hors ligne.", "offlineEmptyState": "Vous n'avez aucun message hors ligne.",
"unknownUser": "Utilisateur #{id}" "unknownUser": "Utilisateur #{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": { "profile": {
"noMotto": "Aucune devise", "noMotto": "Aucune devise",
@@ -114,7 +148,26 @@
"roomsTitle": "Salons", "roomsTitle": "Salons",
"roomsSubtitle": "Salons qu'il/elle possède", "roomsSubtitle": "Salons qu'il/elle possède",
"roomsEmpty": "Aucun salon à afficher.", "roomsEmpty": "Aucun salon à afficher.",
"roomUntitled": "Salon sans titre" "roomUntitled": "Salon sans titre",
"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": { "rankings": {
"title": "Classements", "title": "Classements",
@@ -180,7 +233,19 @@
"addComment": "Ajouter un commentaire", "addComment": "Ajouter un commentaire",
"commentPlaceholder": "Écrivez votre commentaire…", "commentPlaceholder": "Écrivez votre commentaire…",
"postComment": "Publier le commentaire", "postComment": "Publier le commentaire",
"toComment": "pour laisser un commentaire." "toComment": "pour laisser un commentaire.",
"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": { "photos": {
"title": "Photos", "title": "Photos",
@@ -264,7 +329,10 @@
"pinned": "Épinglé", "pinned": "Épinglé",
"locked": "Verrouillé", "locked": "Verrouillé",
"userNumber": "Utilisateur #{id}", "userNumber": "Utilisateur #{id}",
"unknown": "Inconnu" "unknown": "Inconnu",
"success": {
"posted": "Thread posted."
}
}, },
"guildForumNew": { "guildForumNew": {
"backToForum": "← Retour au forum", "backToForum": "← Retour au forum",
@@ -276,7 +344,13 @@
"messageLabel": "Message", "messageLabel": "Message",
"messagePlaceholder": "Écrivez votre premier message…", "messagePlaceholder": "Écrivez votre premier message…",
"postThread": "Publier le sujet", "postThread": "Publier le sujet",
"cancel": "Annuler" "cancel": "Annuler",
"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": { "shop": {
"title": "Boutique", "title": "Boutique",
@@ -286,7 +360,22 @@
"allPackages": "Tous les packs", "allPackages": "Tous les packs",
"packagesAvailable": "{count, plural, one {# pack disponible} other {# packs disponibles}}", "packagesAvailable": "{count, plural, one {# pack disponible} other {# packs disponibles}}",
"empty": "Aucun pack disponible pour le moment.", "empty": "Aucun pack disponible pour le moment.",
"buy": "Acheter" "buy": "Acheter",
"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": { "topup": {
"title": "Recharger avec PayPal", "title": "Recharger avec PayPal",
@@ -390,7 +479,16 @@
"colStatus": "Statut", "colStatus": "Statut",
"colCreated": "Créé", "colCreated": "Créé",
"statusOpen": "Ouvert", "statusOpen": "Ouvert",
"statusClosed": "Fermé" "statusClosed": "Fermé",
"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."
}
}, },
"applyStaff": { "applyStaff": {
"title": "Postuler pour {hotel}", "title": "Postuler pour {hotel}",
@@ -402,7 +500,17 @@
"alreadyApplied": "Vous avez déjà postulé pour {rank}", "alreadyApplied": "Vous avez déjà postulé pour {rank}",
"aboutYou": "À propos de vous", "aboutYou": "À propos de vous",
"aboutPlaceholder": "Dites-nous pourquoi vous seriez un excellent {rank}…", "aboutPlaceholder": "Dites-nous pourquoi vous seriez un excellent {rank}…",
"applyFor": "Postuler pour {rank}" "applyFor": "Postuler pour {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": { "applyTeam": {
"title": "Postuler pour rejoindre l'équipe {hotel}", "title": "Postuler pour rejoindre l'équipe {hotel}",
@@ -412,7 +520,17 @@
"pending": "Votre candidature est en attente", "pending": "Votre candidature est en attente",
"aboutYou": "À propos de vous", "aboutYou": "À propos de vous",
"aboutPlaceholder": "Dites-nous pourquoi vous seriez un excellent choix pour {rank}…", "aboutPlaceholder": "Dites-nous pourquoi vous seriez un excellent choix pour {rank}…",
"applyFor": "Postuler pour {rank}" "applyFor": "Postuler pour {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": { "radio": {
"title": "Radio", "title": "Radio",
@@ -467,7 +585,16 @@
"loginToPost": "Connectez-vous pour publier une dédicace.", "loginToPost": "Connectez-vous pour publier une dédicace.",
"latestTitle": "Dernières dédicaces", "latestTitle": "Dernières dédicaces",
"latestSubtitle": "Les messages les plus récents des auditeurs", "latestSubtitle": "Les messages les plus récents des auditeurs",
"empty": "Pas encore de dédicaces. Soyez le premier !" "empty": "Pas encore de dédicaces. Soyez le premier !",
"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": { "radioContests": {
"title": "Concours radio", "title": "Concours radio",
@@ -513,7 +640,15 @@
"experiencePlaceholder": "Une expérience préalable en tant que DJ ou animateur ?", "experiencePlaceholder": "Une expérience préalable en tant que DJ ou animateur ?",
"motivationLabel": "Motivation", "motivationLabel": "Motivation",
"motivationPlaceholder": "Pourquoi voulez-vous rejoindre l'équipe radio ?", "motivationPlaceholder": "Pourquoi voulez-vous rejoindre l'équipe radio ?",
"submitButton": "Soumettre la candidature" "submitButton": "Soumettre la candidature",
"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": { "settings": {
"accountSettings": "Paramètres du compte", "accountSettings": "Paramètres du compte",
@@ -588,7 +723,9 @@
"errorInvalidCredentials": "Nom d'utilisateur ou mot de passe invalide", "errorInvalidCredentials": "Nom d'utilisateur ou mot de passe invalide",
"errorInvalid2fa": "Code A2F invalide", "errorInvalid2fa": "Code A2F invalide",
"welcomeBack": "Bon retour", "welcomeBack": "Bon retour",
"welcomeBackSub": "Connecte-toi pour continuer vers {hotelName}" "welcomeBackSub": "Connecte-toi pour continuer vers {hotelName}",
"errorUnverified": "Please verify your email before signing in.",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"register": { "register": {
"title": "Créer un compte", "title": "Créer un compte",
@@ -628,7 +765,8 @@
"sentNotice": "Si cet e-mail est enregistré, un lien de réinitialisation a été envoyé. Vérifiez votre boîte de réception.", "sentNotice": "Si cet e-mail est enregistré, un lien de réinitialisation a été envoyé. Vérifiez votre boîte de réception.",
"emailPlaceholder": "Votre e-mail", "emailPlaceholder": "Votre e-mail",
"sendResetLink": "Envoyer le lien de réinitialisation", "sendResetLink": "Envoyer le lien de réinitialisation",
"backToLogin": "Retour à la connexion" "backToLogin": "Retour à la connexion",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"reset": { "reset": {
"title": "Définir un nouveau mot de passe", "title": "Définir un nouveau mot de passe",
@@ -746,7 +884,19 @@
"hubCatalog": "Catalog & rares", "hubCatalog": "Catalog & rares",
"hubShop": "Shop & payments", "hubShop": "Shop & payments",
"hubTools": "Tools", "hubTools": "Tools",
"hubObservability": "Observability" "hubObservability": "Observability",
"helpTickets": "Help-center tickets",
"marketplace": "Marketplace",
"expandAll": "Expand all",
"collapseAll": "Collapse all",
"community": "Community",
"monitoring": "Monitoring",
"staffAccess": "Ranks & permissions",
"multiAccounts": "Multi-accounts",
"chatLog": "Chat log",
"commandLog": "Command log",
"tradeLog": "Trade log",
"tools": "Tools"
}, },
"dashboard": { "dashboard": {
"title": "Tableau de bord", "title": "Tableau de bord",
@@ -899,7 +1049,14 @@
"saving": "Enregistrement…", "saving": "Enregistrement…",
"deleteAd": "Supprimer la pub", "deleteAd": "Supprimer la pub",
"cancel": "Annuler" "cancel": "Annuler"
} },
"deleteSuccess": "Advertisement deleted!",
"deleteError": "Failed to delete advertisement.",
"adsCount": "Total ads",
"latest": "Latest",
"mostRecentAd": "Most recent ad",
"allAds": "All advertisements",
"colPreview": "Preview"
}, },
"writeableBoxes": { "writeableBoxes": {
"title": "Boîtes modifiables", "title": "Boîtes modifiables",
@@ -1270,7 +1427,9 @@
"colPosition": "Position", "colPosition": "Position",
"colTransaction": "Transaction", "colTransaction": "Transaction",
"colUser": "User", "colUser": "User",
"colDescription": "Description" "colDescription": "Description",
"pageOf": "Page {page} of {lastPage}",
"packagesTotal": "{count} packages"
}, },
"transactions": { "transactions": {
"title": "Transactions", "title": "Transactions",
@@ -1858,7 +2017,35 @@
"userPrefix": "user", "userPrefix": "user",
"pagination": "Page {page} of {pages} · {total} total", "pagination": "Page {page} of {pages} · {total} total",
"next": "Next", "next": "Next",
"prev": "Previous" "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"
},
"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…"
}
}, },
"wordfilter": { "wordfilter": {
"title": "Filtre de mots", "title": "Filtre de mots",
@@ -2205,7 +2392,15 @@
"pets": "Pets", "pets": "Pets",
"petsDescription": "Import pet data and icons.", "petsDescription": "Import pet data and icons.",
"clone": "Clone", "clone": "Clone",
"cloneDescription": "Clone existing items from one source to another." "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": { "translations": {
"title": "Translations", "title": "Translations",
@@ -2352,7 +2547,247 @@
"devops": "DevOps", "devops": "DevOps",
"errors": "Errors", "errors": "Errors",
"alerts": "Alerts", "alerts": "Alerts",
"toolsGroup": "Tools" "toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
},
"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"
},
"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."
}
},
"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"
} }
} }
}, },
@@ -2390,7 +2825,169 @@
"colStatus": "Status", "colStatus": "Status",
"statusPending": "Pending", "statusPending": "Pending",
"statusApproved": "Approved", "statusApproved": "Approved",
"statusPlayed": "Played" "statusPlayed": "Played",
"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."
}
},
"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"
}
},
"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:"
} }
} }
} }
+619 -22
View File
@@ -21,7 +21,9 @@
"admin": "Administrator", "admin": "Administrator",
"openMenu": "Otvori izbornik", "openMenu": "Otvori izbornik",
"closeMenu": "Zatvori izbornik", "closeMenu": "Zatvori izbornik",
"drawBadge": "Nacrtajte značku" "drawBadge": "Nacrtajte značku",
"events": "Events",
"polls": "Polls"
}, },
"header": { "header": {
"online": "{count} {hotel} online", "online": "{count} {hotel} online",
@@ -71,7 +73,16 @@
"emptySubtitle": "Još nemate dodanih prijatelja", "emptySubtitle": "Još nemate dodanih prijatelja",
"subtitle": "{count, plural, one {You have # friend} other {You have # friends}}", "subtitle": "{count, plural, one {You have # friend} other {You have # friends}}",
"emptyState": "Dodajte prijatelje u hotel i oni će se pojaviti ovdje.", "emptyState": "Dodajte prijatelje u hotel i oni će se pojaviti ovdje.",
"noMotto": "Bez mota" "noMotto": "Bez mota",
"remove": "Remove",
"success": {
"removed": "Friend removed."
},
"errors": {
"notFound": "That friendship was not found.",
"invalid": "Invalid friend.",
"error": "Something went wrong. Please try again."
}
}, },
"messages": { "messages": {
"title": "Poruke", "title": "Poruke",
@@ -86,7 +97,30 @@
"offlineEmptySubtitle": "Vaš inbox je prazan", "offlineEmptySubtitle": "Vaš inbox je prazan",
"offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}", "offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}",
"offlineEmptyState": "Nemate nijednu izvanmrežnu poruku.", "offlineEmptyState": "Nemate nijednu izvanmrežnu poruku.",
"unknownUser": "Korisnik #{id}" "unknownUser": "Korisnik #{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": { "profile": {
"noMotto": "Bez mota", "noMotto": "Bez mota",
@@ -114,7 +148,26 @@
"roomsTitle": "Sobe", "roomsTitle": "Sobe",
"roomsSubtitle": "Sobe koje posjeduju", "roomsSubtitle": "Sobe koje posjeduju",
"roomsEmpty": "Nema soba za pokazati.", "roomsEmpty": "Nema soba za pokazati.",
"roomUntitled": "Soba bez naslova" "roomUntitled": "Soba bez naslova",
"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": { "rankings": {
"title": "rangiranje", "title": "rangiranje",
@@ -180,7 +233,19 @@
"addComment": "Dodajte komentar", "addComment": "Dodajte komentar",
"commentPlaceholder": "Napišite svoj komentar…", "commentPlaceholder": "Napišite svoj komentar…",
"postComment": "Objavite komentar", "postComment": "Objavite komentar",
"toComment": "ostaviti komentar." "toComment": "ostaviti komentar.",
"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": { "photos": {
"title": "Fotografije", "title": "Fotografije",
@@ -264,7 +329,10 @@
"pinned": "Prikvačeno", "pinned": "Prikvačeno",
"locked": "Zaključano", "locked": "Zaključano",
"userNumber": "Korisnik #{id}", "userNumber": "Korisnik #{id}",
"unknown": "Nepoznato" "unknown": "Nepoznato",
"success": {
"posted": "Thread posted."
}
}, },
"guildForumNew": { "guildForumNew": {
"backToForum": "← Povratak na forum", "backToForum": "← Povratak na forum",
@@ -276,7 +344,13 @@
"messageLabel": "Poruka", "messageLabel": "Poruka",
"messagePlaceholder": "Napišite svoj uvodni post...", "messagePlaceholder": "Napišite svoj uvodni post...",
"postThread": "Objavi nit", "postThread": "Objavi nit",
"cancel": "Odustani" "cancel": "Odustani",
"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": { "shop": {
"title": "Trgovina", "title": "Trgovina",
@@ -286,7 +360,22 @@
"allPackages": "Svi paketi", "allPackages": "Svi paketi",
"packagesAvailable": "{count, plural, one {# package available} other {# packages available}}", "packagesAvailable": "{count, plural, one {# package available} other {# packages available}}",
"empty": "Trenutačno nema dostupnih paketa.", "empty": "Trenutačno nema dostupnih paketa.",
"buy": "Kupiti" "buy": "Kupiti",
"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": { "topup": {
"title": "Nadoplatite PayPal", "title": "Nadoplatite PayPal",
@@ -390,7 +479,16 @@
"colStatus": "Status", "colStatus": "Status",
"colCreated": "Stvoreno", "colCreated": "Stvoreno",
"statusOpen": "Otvoreno", "statusOpen": "Otvoreno",
"statusClosed": "Zatvoreno" "statusClosed": "Zatvoreno",
"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."
}
}, },
"applyStaff": { "applyStaff": {
"title": "Prijavite se za osoblje {hotel}", "title": "Prijavite se za osoblje {hotel}",
@@ -402,7 +500,17 @@
"alreadyApplied": "Već ste se prijavili za {rank}", "alreadyApplied": "Već ste se prijavili za {rank}",
"aboutYou": "O tebi", "aboutYou": "O tebi",
"aboutPlaceholder": "Recite nam zašto biste bili izvrstan {rank}…", "aboutPlaceholder": "Recite nam zašto biste bili izvrstan {rank}…",
"applyFor": "Prijavite se za {rank}" "applyFor": "Prijavite se za {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": { "applyTeam": {
"title": "Prijavite se za {hotel} tim", "title": "Prijavite se za {hotel} tim",
@@ -412,7 +520,17 @@
"pending": "Vaša prijava je na čekanju", "pending": "Vaša prijava je na čekanju",
"aboutYou": "O tebi", "aboutYou": "O tebi",
"aboutPlaceholder": "Recite nam zašto bi baš vama odgovarao {rank}…", "aboutPlaceholder": "Recite nam zašto bi baš vama odgovarao {rank}…",
"applyFor": "Prijavite se za {rank}" "applyFor": "Prijavite se za {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": { "radio": {
"title": "radio", "title": "radio",
@@ -467,7 +585,16 @@
"loginToPost": "Prijavite se da biste objavili shout.", "loginToPost": "Prijavite se da biste objavili shout.",
"latestTitle": "Najnoviji uzvici", "latestTitle": "Najnoviji uzvici",
"latestSubtitle": "Najnovije poruke slušatelja", "latestSubtitle": "Najnovije poruke slušatelja",
"empty": "Još nema povika. Budite prvi!" "empty": "Još nema povika. Budite prvi!",
"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": { "radioContests": {
"title": "Radijska natjecanja", "title": "Radijska natjecanja",
@@ -511,7 +638,16 @@
"colStatus": "Status", "colStatus": "Status",
"statusPending": "Na čekanju", "statusPending": "Na čekanju",
"statusApproved": "Odobreno", "statusApproved": "Odobreno",
"statusPlayed": "Igrano" "statusPlayed": "Igrano",
"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."
}
}, },
"client": { "client": {
"title": "Nitro klijent", "title": "Nitro klijent",
@@ -549,7 +685,15 @@
"experiencePlaceholder": "Ima li prethodnog iskustva s DJ-em ili hostingom?", "experiencePlaceholder": "Ima li prethodnog iskustva s DJ-em ili hostingom?",
"motivationLabel": "Motivacija", "motivationLabel": "Motivacija",
"motivationPlaceholder": "Zašto se želiš pridružiti radijskom timu?", "motivationPlaceholder": "Zašto se želiš pridružiti radijskom timu?",
"submitButton": "Pošaljite prijavu" "submitButton": "Pošaljite prijavu",
"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": { "settings": {
"accountSettings": "Postavke računa", "accountSettings": "Postavke računa",
@@ -624,7 +768,9 @@
"errorInvalidCredentials": "Nevažeće korisničko ime ili lozinka", "errorInvalidCredentials": "Nevažeće korisničko ime ili lozinka",
"errorInvalid2fa": "Nevažeći 2FA kod", "errorInvalid2fa": "Nevažeći 2FA kod",
"welcomeBack": "Dobrodošao natrag", "welcomeBack": "Dobrodošao natrag",
"welcomeBackSub": "Prijavi se za nastavak u {hotelName}" "welcomeBackSub": "Prijavi se za nastavak u {hotelName}",
"errorUnverified": "Please verify your email before signing in.",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"register": { "register": {
"title": "Napravi račun", "title": "Napravi račun",
@@ -664,7 +810,8 @@
"sentNotice": "Ako je ta e-pošta registrirana, poslana je veza za poništavanje. Provjerite svoju pristiglu poštu.", "sentNotice": "Ako je ta e-pošta registrirana, poslana je veza za poništavanje. Provjerite svoju pristiglu poštu.",
"emailPlaceholder": "Vaš email", "emailPlaceholder": "Vaš email",
"sendResetLink": "Pošalji link za resetiranje", "sendResetLink": "Pošalji link za resetiranje",
"backToLogin": "Natrag na prijavu" "backToLogin": "Natrag na prijavu",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"reset": { "reset": {
"title": "Postavite novu lozinku", "title": "Postavite novu lozinku",
@@ -782,7 +929,19 @@
"hubCatalog": "Catalog & rares", "hubCatalog": "Catalog & rares",
"hubShop": "Shop & payments", "hubShop": "Shop & payments",
"hubTools": "Tools", "hubTools": "Tools",
"hubObservability": "Observability" "hubObservability": "Observability",
"helpTickets": "Help-center tickets",
"marketplace": "Marketplace",
"expandAll": "Expand all",
"collapseAll": "Collapse all",
"community": "Community",
"monitoring": "Monitoring",
"staffAccess": "Ranks & permissions",
"multiAccounts": "Multi-accounts",
"chatLog": "Chat log",
"commandLog": "Command log",
"tradeLog": "Trade log",
"tools": "Tools"
}, },
"dashboard": { "dashboard": {
"title": "Nadzorna ploča", "title": "Nadzorna ploča",
@@ -935,7 +1094,14 @@
"saving": "Spremanje...", "saving": "Spremanje...",
"deleteAd": "Izbriši oglas", "deleteAd": "Izbriši oglas",
"cancel": "Odustani" "cancel": "Odustani"
} },
"deleteSuccess": "Advertisement deleted!",
"deleteError": "Failed to delete advertisement.",
"adsCount": "Total ads",
"latest": "Latest",
"mostRecentAd": "Most recent ad",
"allAds": "All advertisements",
"colPreview": "Preview"
}, },
"writeableBoxes": { "writeableBoxes": {
"title": "Kutije za pisanje", "title": "Kutije za pisanje",
@@ -1306,7 +1472,9 @@
"colPosition": "Position", "colPosition": "Position",
"colTransaction": "Transaction", "colTransaction": "Transaction",
"colUser": "User", "colUser": "User",
"colDescription": "Description" "colDescription": "Description",
"pageOf": "Page {page} of {lastPage}",
"packagesTotal": "{count} packages"
}, },
"transactions": { "transactions": {
"title": "Transakcije", "title": "Transakcije",
@@ -1894,7 +2062,35 @@
"userPrefix": "user", "userPrefix": "user",
"pagination": "Page {page} of {pages} · {total} total", "pagination": "Page {page} of {pages} · {total} total",
"next": "Next", "next": "Next",
"prev": "Previous" "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"
},
"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…"
}
}, },
"wordfilter": { "wordfilter": {
"title": "Filtar riječi", "title": "Filtar riječi",
@@ -2241,7 +2437,15 @@
"pets": "Pets", "pets": "Pets",
"petsDescription": "Import pet data and icons.", "petsDescription": "Import pet data and icons.",
"clone": "Clone", "clone": "Clone",
"cloneDescription": "Clone existing items from one source to another." "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": { "translations": {
"title": "Translations", "title": "Translations",
@@ -2388,9 +2592,402 @@
"devops": "DevOps", "devops": "DevOps",
"errors": "Errors", "errors": "Errors",
"alerts": "Alerts", "alerts": "Alerts",
"toolsGroup": "Tools" "toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
},
"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"
},
"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."
}
},
"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"
} }
} }
},
"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"
}
},
"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:"
} }
} }
} }
+619 -22
View File
@@ -21,7 +21,9 @@
"admin": "Admin", "admin": "Admin",
"openMenu": "Menü megnyitása", "openMenu": "Menü megnyitása",
"closeMenu": "Menü bezárása", "closeMenu": "Menü bezárása",
"drawBadge": "Rajzolj jelvényt" "drawBadge": "Rajzolj jelvényt",
"events": "Events",
"polls": "Polls"
}, },
"header": { "header": {
"online": "{count} {hotel} online", "online": "{count} {hotel} online",
@@ -71,7 +73,16 @@
"emptySubtitle": "Még nincsenek hozzáadott barátaid", "emptySubtitle": "Még nincsenek hozzáadott barátaid",
"subtitle": "{count, plural, one {You have # friend} other {You have # friends}}", "subtitle": "{count, plural, one {You have # friend} other {You have # friends}}",
"emptyState": "Adjon hozzá barátokat a szállodában, és itt megjelennek.", "emptyState": "Adjon hozzá barátokat a szállodában, és itt megjelennek.",
"noMotto": "Nincs mottó" "noMotto": "Nincs mottó",
"remove": "Remove",
"success": {
"removed": "Friend removed."
},
"errors": {
"notFound": "That friendship was not found.",
"invalid": "Invalid friend.",
"error": "Something went wrong. Please try again."
}
}, },
"messages": { "messages": {
"title": "Üzenetek", "title": "Üzenetek",
@@ -86,7 +97,30 @@
"offlineEmptySubtitle": "Beérkezett üzenetei üresek", "offlineEmptySubtitle": "Beérkezett üzenetei üresek",
"offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}", "offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}",
"offlineEmptyState": "Nincsenek offline üzenetei.", "offlineEmptyState": "Nincsenek offline üzenetei.",
"unknownUser": "Felhasználó #{id}" "unknownUser": "Felhasználó #{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": { "profile": {
"noMotto": "Nincs mottó", "noMotto": "Nincs mottó",
@@ -114,7 +148,26 @@
"roomsTitle": "Szobák", "roomsTitle": "Szobák",
"roomsSubtitle": "Saját szobák", "roomsSubtitle": "Saját szobák",
"roomsEmpty": "Nincs megjeleníthető szoba.", "roomsEmpty": "Nincs megjeleníthető szoba.",
"roomUntitled": "Névtelen szoba" "roomUntitled": "Névtelen szoba",
"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": { "rankings": {
"title": "Rangsorok", "title": "Rangsorok",
@@ -180,7 +233,19 @@
"addComment": "Megjegyzés hozzáadása", "addComment": "Megjegyzés hozzáadása",
"commentPlaceholder": "Írja meg véleményét…", "commentPlaceholder": "Írja meg véleményét…",
"postComment": "Megjegyzés közzététele", "postComment": "Megjegyzés közzététele",
"toComment": "megjegyzést hagyni." "toComment": "megjegyzést hagyni.",
"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": { "photos": {
"title": "Fényképek", "title": "Fényképek",
@@ -264,7 +329,10 @@
"pinned": "Rögzítve", "pinned": "Rögzítve",
"locked": "Lezárva", "locked": "Lezárva",
"userNumber": "Felhasználó #{id}", "userNumber": "Felhasználó #{id}",
"unknown": "Ismeretlen" "unknown": "Ismeretlen",
"success": {
"posted": "Thread posted."
}
}, },
"guildForumNew": { "guildForumNew": {
"backToForum": "← Vissza a fórumhoz", "backToForum": "← Vissza a fórumhoz",
@@ -276,7 +344,13 @@
"messageLabel": "Üzenet", "messageLabel": "Üzenet",
"messagePlaceholder": "Írd meg a nyitó bejegyzésedet…", "messagePlaceholder": "Írd meg a nyitó bejegyzésedet…",
"postThread": "Tegye fel a szálat", "postThread": "Tegye fel a szálat",
"cancel": "Mégse" "cancel": "Mégse",
"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": { "shop": {
"title": "Bolt", "title": "Bolt",
@@ -286,7 +360,22 @@
"allPackages": "Minden csomag", "allPackages": "Minden csomag",
"packagesAvailable": "{count, plural, one {# package available} other {# packages available}}", "packagesAvailable": "{count, plural, one {# package available} other {# packages available}}",
"empty": "Jelenleg nincs elérhető csomag.", "empty": "Jelenleg nincs elérhető csomag.",
"buy": "Vásároljon" "buy": "Vásároljon",
"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": { "topup": {
"title": "Töltse fel PayPal-lal", "title": "Töltse fel PayPal-lal",
@@ -390,7 +479,16 @@
"colStatus": "Állapot", "colStatus": "Állapot",
"colCreated": "Létrehozva", "colCreated": "Létrehozva",
"statusOpen": "Nyissa meg", "statusOpen": "Nyissa meg",
"statusClosed": "Zárva" "statusClosed": "Zárva",
"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."
}
}, },
"applyStaff": { "applyStaff": {
"title": "Jelentkezzen a {hotel} személyzetére", "title": "Jelentkezzen a {hotel} személyzetére",
@@ -402,7 +500,17 @@
"alreadyApplied": "Már jelentkezett a(z) {rank}", "alreadyApplied": "Már jelentkezett a(z) {rank}",
"aboutYou": "Rólad", "aboutYou": "Rólad",
"aboutPlaceholder": "Mondd el, miért lennél jó {rank}…", "aboutPlaceholder": "Mondd el, miért lennél jó {rank}…",
"applyFor": "Jelentkezés {rank}" "applyFor": "Jelentkezés {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": { "applyTeam": {
"title": "Jelentkezzen a {hotel} csapatába", "title": "Jelentkezzen a {hotel} csapatába",
@@ -412,7 +520,17 @@
"pending": "Jelentkezése függőben van", "pending": "Jelentkezése függőben van",
"aboutYou": "Rólad", "aboutYou": "Rólad",
"aboutPlaceholder": "Mondd el, miért lennél kiválóan alkalmas {rank}…", "aboutPlaceholder": "Mondd el, miért lennél kiválóan alkalmas {rank}…",
"applyFor": "Jelentkezés {rank}" "applyFor": "Jelentkezés {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": { "radio": {
"title": "Rádió", "title": "Rádió",
@@ -467,7 +585,16 @@
"loginToPost": "Jelentkezzen be, hogy kiabálást küldjön.", "loginToPost": "Jelentkezzen be, hogy kiabálást küldjön.",
"latestTitle": "Legújabb kiáltások", "latestTitle": "Legújabb kiáltások",
"latestSubtitle": "A hallgatók legújabb üzenetei", "latestSubtitle": "A hallgatók legújabb üzenetei",
"empty": "Még nincs kiáltás. Legyen Ön az első!" "empty": "Még nincs kiáltás. Legyen Ön az első!",
"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": { "radioContests": {
"title": "Rádióversenyek", "title": "Rádióversenyek",
@@ -511,7 +638,16 @@
"colStatus": "Állapot", "colStatus": "Állapot",
"statusPending": "Függőben", "statusPending": "Függőben",
"statusApproved": "Jóváhagyva", "statusApproved": "Jóváhagyva",
"statusPlayed": "Játszott" "statusPlayed": "Játszott",
"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."
}
}, },
"client": { "client": {
"title": "Nitro kliens", "title": "Nitro kliens",
@@ -549,7 +685,15 @@
"experiencePlaceholder": "Van előzetes DJ-s vagy házigazdai tapasztalatod?", "experiencePlaceholder": "Van előzetes DJ-s vagy házigazdai tapasztalatod?",
"motivationLabel": "Motiváció", "motivationLabel": "Motiváció",
"motivationPlaceholder": "Miért akarsz csatlakozni a rádió csapatához?", "motivationPlaceholder": "Miért akarsz csatlakozni a rádió csapatához?",
"submitButton": "Pályázat benyújtása" "submitButton": "Pályázat benyújtása",
"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": { "settings": {
"accountSettings": "Fiókbeállítások", "accountSettings": "Fiókbeállítások",
@@ -624,7 +768,9 @@
"errorInvalidCredentials": "Érvénytelen felhasználónév vagy jelszó", "errorInvalidCredentials": "Érvénytelen felhasználónév vagy jelszó",
"errorInvalid2fa": "Érvénytelen 2FA kód", "errorInvalid2fa": "Érvénytelen 2FA kód",
"welcomeBack": "Üdvözöllek újra", "welcomeBack": "Üdvözöllek újra",
"welcomeBackSub": "Jelentkezz be a {hotelName} folytatáshoz" "welcomeBackSub": "Jelentkezz be a {hotelName} folytatáshoz",
"errorUnverified": "Please verify your email before signing in.",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"register": { "register": {
"title": "Hozzon létre fiókot", "title": "Hozzon létre fiókot",
@@ -664,7 +810,8 @@
"sentNotice": "Ha ez az e-mail regisztrálva van, akkor visszaállítási hivatkozást küldtek. Ellenőrizze a beérkező leveleket.", "sentNotice": "Ha ez az e-mail regisztrálva van, akkor visszaállítási hivatkozást küldtek. Ellenőrizze a beérkező leveleket.",
"emailPlaceholder": "Az Ön email címe", "emailPlaceholder": "Az Ön email címe",
"sendResetLink": "Reset link küldése", "sendResetLink": "Reset link küldése",
"backToLogin": "Vissza a bejelentkezéshez" "backToLogin": "Vissza a bejelentkezéshez",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"reset": { "reset": {
"title": "Állítson be új jelszót", "title": "Állítson be új jelszót",
@@ -782,7 +929,19 @@
"hubCatalog": "Catalog & rares", "hubCatalog": "Catalog & rares",
"hubShop": "Shop & payments", "hubShop": "Shop & payments",
"hubTools": "Tools", "hubTools": "Tools",
"hubObservability": "Observability" "hubObservability": "Observability",
"helpTickets": "Help-center tickets",
"marketplace": "Marketplace",
"expandAll": "Expand all",
"collapseAll": "Collapse all",
"community": "Community",
"monitoring": "Monitoring",
"staffAccess": "Ranks & permissions",
"multiAccounts": "Multi-accounts",
"chatLog": "Chat log",
"commandLog": "Command log",
"tradeLog": "Trade log",
"tools": "Tools"
}, },
"dashboard": { "dashboard": {
"title": "Irányítópult", "title": "Irányítópult",
@@ -935,7 +1094,14 @@
"saving": "Mentés…", "saving": "Mentés…",
"deleteAd": "Hirdetés törlése", "deleteAd": "Hirdetés törlése",
"cancel": "Mégse" "cancel": "Mégse"
} },
"deleteSuccess": "Advertisement deleted!",
"deleteError": "Failed to delete advertisement.",
"adsCount": "Total ads",
"latest": "Latest",
"mostRecentAd": "Most recent ad",
"allAds": "All advertisements",
"colPreview": "Preview"
}, },
"writeableBoxes": { "writeableBoxes": {
"title": "Írható dobozok", "title": "Írható dobozok",
@@ -1306,7 +1472,9 @@
"colPosition": "Position", "colPosition": "Position",
"colTransaction": "Transaction", "colTransaction": "Transaction",
"colUser": "User", "colUser": "User",
"colDescription": "Description" "colDescription": "Description",
"pageOf": "Page {page} of {lastPage}",
"packagesTotal": "{count} packages"
}, },
"transactions": { "transactions": {
"title": "Tranzakciók", "title": "Tranzakciók",
@@ -1894,7 +2062,35 @@
"userPrefix": "user", "userPrefix": "user",
"pagination": "Page {page} of {pages} · {total} total", "pagination": "Page {page} of {pages} · {total} total",
"next": "Next", "next": "Next",
"prev": "Previous" "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"
},
"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…"
}
}, },
"wordfilter": { "wordfilter": {
"title": "Szószűrő", "title": "Szószűrő",
@@ -2241,7 +2437,15 @@
"pets": "Pets", "pets": "Pets",
"petsDescription": "Import pet data and icons.", "petsDescription": "Import pet data and icons.",
"clone": "Clone", "clone": "Clone",
"cloneDescription": "Clone existing items from one source to another." "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": { "translations": {
"title": "Translations", "title": "Translations",
@@ -2388,9 +2592,402 @@
"devops": "DevOps", "devops": "DevOps",
"errors": "Errors", "errors": "Errors",
"alerts": "Alerts", "alerts": "Alerts",
"toolsGroup": "Tools" "toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
},
"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"
},
"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."
}
},
"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"
} }
} }
},
"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"
}
},
"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:"
} }
} }
} }
+619 -22
View File
@@ -21,7 +21,9 @@
"admin": "Admin", "admin": "Admin",
"openMenu": "Åpne menyen", "openMenu": "Åpne menyen",
"closeMenu": "Lukk menyen", "closeMenu": "Lukk menyen",
"drawBadge": "Tegn merke" "drawBadge": "Tegn merke",
"events": "Events",
"polls": "Polls"
}, },
"header": { "header": {
"online": "{count} {hotel} online", "online": "{count} {hotel} online",
@@ -71,7 +73,16 @@
"emptySubtitle": "Du har ingen venner lagt til ennå", "emptySubtitle": "Du har ingen venner lagt til ennå",
"subtitle": "{count, plural, one {You have # friend} other {You have # friends}}", "subtitle": "{count, plural, one {You have # friend} other {You have # friends}}",
"emptyState": "Legg til venner på hotellet, så dukker de opp her.", "emptyState": "Legg til venner på hotellet, så dukker de opp her.",
"noMotto": "Ingen motto" "noMotto": "Ingen 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": { "messages": {
"title": "Meldinger", "title": "Meldinger",
@@ -86,7 +97,30 @@
"offlineEmptySubtitle": "Innboksen din er tom", "offlineEmptySubtitle": "Innboksen din er tom",
"offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}", "offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}",
"offlineEmptyState": "Du har ingen frakoblede meldinger.", "offlineEmptyState": "Du har ingen frakoblede meldinger.",
"unknownUser": "Bruker nr. {id}" "unknownUser": "Bruker nr. {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": { "profile": {
"noMotto": "Ingen motto", "noMotto": "Ingen motto",
@@ -114,7 +148,26 @@
"roomsTitle": "Rom", "roomsTitle": "Rom",
"roomsSubtitle": "Rom de eier", "roomsSubtitle": "Rom de eier",
"roomsEmpty": "Ingen rom å vise.", "roomsEmpty": "Ingen rom å vise.",
"roomUntitled": "Rom uten tittel" "roomUntitled": "Rom uten tittel",
"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": { "rankings": {
"title": "Rangeringer", "title": "Rangeringer",
@@ -180,7 +233,19 @@
"addComment": "Legg til en kommentar", "addComment": "Legg til en kommentar",
"commentPlaceholder": "Skriv din kommentar...", "commentPlaceholder": "Skriv din kommentar...",
"postComment": "Legg inn kommentar", "postComment": "Legg inn kommentar",
"toComment": "for å legge igjen en kommentar." "toComment": "for å legge igjen 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": { "photos": {
"title": "Bilder", "title": "Bilder",
@@ -264,7 +329,10 @@
"pinned": "Festet", "pinned": "Festet",
"locked": "Låst", "locked": "Låst",
"userNumber": "Bruker nr. {id}", "userNumber": "Bruker nr. {id}",
"unknown": "Ukjent" "unknown": "Ukjent",
"success": {
"posted": "Thread posted."
}
}, },
"guildForumNew": { "guildForumNew": {
"backToForum": "← Tilbake til forumet", "backToForum": "← Tilbake til forumet",
@@ -276,7 +344,13 @@
"messageLabel": "Melding", "messageLabel": "Melding",
"messagePlaceholder": "Skriv åpningsinnlegget ditt...", "messagePlaceholder": "Skriv åpningsinnlegget ditt...",
"postThread": "Post tråd", "postThread": "Post tråd",
"cancel": "Avbryt" "cancel": "Avbryt",
"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": { "shop": {
"title": "Handle", "title": "Handle",
@@ -286,7 +360,22 @@
"allPackages": "Alle pakker", "allPackages": "Alle pakker",
"packagesAvailable": "{count, plural, one {# package available} other {# packages available}}", "packagesAvailable": "{count, plural, one {# package available} other {# packages available}}",
"empty": "Ingen tilgjengelige pakker akkurat nå.", "empty": "Ingen tilgjengelige pakker akkurat nå.",
"buy": "Kjøp" "buy": "Kjøp",
"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": { "topup": {
"title": "Fyll på med PayPal", "title": "Fyll på med PayPal",
@@ -390,7 +479,16 @@
"colStatus": "Status", "colStatus": "Status",
"colCreated": "Opprettet", "colCreated": "Opprettet",
"statusOpen": "Åpne", "statusOpen": "Åpne",
"statusClosed": "Stengt" "statusClosed": "Stengt",
"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."
}
}, },
"applyStaff": { "applyStaff": {
"title": "Søk på {hotel}-ansatte", "title": "Søk på {hotel}-ansatte",
@@ -402,7 +500,17 @@
"alreadyApplied": "Du har allerede søkt om {rank}", "alreadyApplied": "Du har allerede søkt om {rank}",
"aboutYou": "Om deg", "aboutYou": "Om deg",
"aboutPlaceholder": "Fortell oss hvorfor du ville være en stor {rank}...", "aboutPlaceholder": "Fortell oss hvorfor du ville være en stor {rank}...",
"applyFor": "Søk om {rank}" "applyFor": "Søk 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": { "applyTeam": {
"title": "Søk på {hotel}-teamet", "title": "Søk på {hotel}-teamet",
@@ -412,7 +520,17 @@
"pending": "Søknaden din er under behandling", "pending": "Søknaden din er under behandling",
"aboutYou": "Om deg", "aboutYou": "Om deg",
"aboutPlaceholder": "Fortell oss hvorfor du vil passe godt for {rank}...", "aboutPlaceholder": "Fortell oss hvorfor du vil passe godt for {rank}...",
"applyFor": "Søk om {rank}" "applyFor": "Søk 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": { "radio": {
"title": "Radio", "title": "Radio",
@@ -467,7 +585,16 @@
"loginToPost": "Logg inn for å legge ut et rop.", "loginToPost": "Logg inn for å legge ut et rop.",
"latestTitle": "Siste rop", "latestTitle": "Siste rop",
"latestSubtitle": "De siste meldingene fra lytterne", "latestSubtitle": "De siste meldingene fra lytterne",
"empty": "Ingen rop ennå. Vær den første!" "empty": "Ingen rop ennå. 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": { "radioContests": {
"title": "Radiokonkurranser", "title": "Radiokonkurranser",
@@ -511,7 +638,16 @@
"colStatus": "Status", "colStatus": "Status",
"statusPending": "Venter", "statusPending": "Venter",
"statusApproved": "Godkjent", "statusApproved": "Godkjent",
"statusPlayed": "Spilt" "statusPlayed": "Spilt",
"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."
}
}, },
"client": { "client": {
"title": "Nitro klient", "title": "Nitro klient",
@@ -549,7 +685,15 @@
"experiencePlaceholder": "Noen tidligere DJ eller vertserfaring?", "experiencePlaceholder": "Noen tidligere DJ eller vertserfaring?",
"motivationLabel": "Motivasjon", "motivationLabel": "Motivasjon",
"motivationPlaceholder": "Hvorfor vil du bli med i radioteamet?", "motivationPlaceholder": "Hvorfor vil du bli med i radioteamet?",
"submitButton": "Send inn søknad" "submitButton": "Send inn søknad",
"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": { "settings": {
"accountSettings": "Kontoinnstillinger", "accountSettings": "Kontoinnstillinger",
@@ -624,7 +768,9 @@
"errorInvalidCredentials": "Ugyldig brukernavn eller passord", "errorInvalidCredentials": "Ugyldig brukernavn eller passord",
"errorInvalid2fa": "Ugyldig 2FA-kode", "errorInvalid2fa": "Ugyldig 2FA-kode",
"welcomeBack": "Velkommen tilbake", "welcomeBack": "Velkommen tilbake",
"welcomeBackSub": "Logg inn for å fortsette til {hotelName}" "welcomeBackSub": "Logg inn for å fortsette til {hotelName}",
"errorUnverified": "Please verify your email before signing in.",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"register": { "register": {
"title": "Opprett konto", "title": "Opprett konto",
@@ -664,7 +810,8 @@
"sentNotice": "Hvis den e-posten er registrert, har en tilbakestillingslenke blitt sendt. Sjekk innboksen din.", "sentNotice": "Hvis den e-posten er registrert, har en tilbakestillingslenke blitt sendt. Sjekk innboksen din.",
"emailPlaceholder": "Din e-post", "emailPlaceholder": "Din e-post",
"sendResetLink": "Send tilbakestillingslink", "sendResetLink": "Send tilbakestillingslink",
"backToLogin": "Tilbake til innlogging" "backToLogin": "Tilbake til innlogging",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"reset": { "reset": {
"title": "Angi et nytt passord", "title": "Angi et nytt passord",
@@ -782,7 +929,19 @@
"hubCatalog": "Catalog & rares", "hubCatalog": "Catalog & rares",
"hubShop": "Shop & payments", "hubShop": "Shop & payments",
"hubTools": "Tools", "hubTools": "Tools",
"hubObservability": "Observability" "hubObservability": "Observability",
"helpTickets": "Help-center tickets",
"marketplace": "Marketplace",
"expandAll": "Expand all",
"collapseAll": "Collapse all",
"community": "Community",
"monitoring": "Monitoring",
"staffAccess": "Ranks & permissions",
"multiAccounts": "Multi-accounts",
"chatLog": "Chat log",
"commandLog": "Command log",
"tradeLog": "Trade log",
"tools": "Tools"
}, },
"dashboard": { "dashboard": {
"title": "Dashbord", "title": "Dashbord",
@@ -935,7 +1094,14 @@
"saving": "Lagrer …", "saving": "Lagrer …",
"deleteAd": "Slett annonse", "deleteAd": "Slett annonse",
"cancel": "Avbryt" "cancel": "Avbryt"
} },
"deleteSuccess": "Advertisement deleted!",
"deleteError": "Failed to delete advertisement.",
"adsCount": "Total ads",
"latest": "Latest",
"mostRecentAd": "Most recent ad",
"allAds": "All advertisements",
"colPreview": "Preview"
}, },
"writeableBoxes": { "writeableBoxes": {
"title": "Skrivbare bokser", "title": "Skrivbare bokser",
@@ -1306,7 +1472,9 @@
"colPosition": "Position", "colPosition": "Position",
"colTransaction": "Transaction", "colTransaction": "Transaction",
"colUser": "User", "colUser": "User",
"colDescription": "Description" "colDescription": "Description",
"pageOf": "Page {page} of {lastPage}",
"packagesTotal": "{count} packages"
}, },
"transactions": { "transactions": {
"title": "Transaksjoner", "title": "Transaksjoner",
@@ -1894,7 +2062,35 @@
"userPrefix": "user", "userPrefix": "user",
"pagination": "Page {page} of {pages} · {total} total", "pagination": "Page {page} of {pages} · {total} total",
"next": "Next", "next": "Next",
"prev": "Previous" "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"
},
"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…"
}
}, },
"wordfilter": { "wordfilter": {
"title": "Ordfilter", "title": "Ordfilter",
@@ -2241,7 +2437,15 @@
"pets": "Pets", "pets": "Pets",
"petsDescription": "Import pet data and icons.", "petsDescription": "Import pet data and icons.",
"clone": "Clone", "clone": "Clone",
"cloneDescription": "Clone existing items from one source to another." "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": { "translations": {
"title": "Translations", "title": "Translations",
@@ -2388,9 +2592,402 @@
"devops": "DevOps", "devops": "DevOps",
"errors": "Errors", "errors": "Errors",
"alerts": "Alerts", "alerts": "Alerts",
"toolsGroup": "Tools" "toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
},
"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"
},
"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."
}
},
"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"
} }
} }
},
"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"
}
},
"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:"
} }
} }
} }
+619 -22
View File
@@ -21,7 +21,9 @@
"admin": "Administrator", "admin": "Administrator",
"openMenu": "Otwórz menu", "openMenu": "Otwórz menu",
"closeMenu": "Zamknij menu", "closeMenu": "Zamknij menu",
"drawBadge": "Narysuj odznakę" "drawBadge": "Narysuj odznakę",
"events": "Events",
"polls": "Polls"
}, },
"header": { "header": {
"online": "{count} {hotel} online", "online": "{count} {hotel} online",
@@ -71,7 +73,16 @@
"emptySubtitle": "Nie masz jeszcze dodanych znajomych", "emptySubtitle": "Nie masz jeszcze dodanych znajomych",
"subtitle": "{count, plural, one {You have # friend} other {You have # friends}}", "subtitle": "{count, plural, one {You have # friend} other {You have # friends}}",
"emptyState": "Dodaj znajomych w hotelu, a oni się tutaj pojawią.", "emptyState": "Dodaj znajomych w hotelu, a oni się tutaj pojawią.",
"noMotto": "Żadnego motta" "noMotto": "Żadnego motta",
"remove": "Remove",
"success": {
"removed": "Friend removed."
},
"errors": {
"notFound": "That friendship was not found.",
"invalid": "Invalid friend.",
"error": "Something went wrong. Please try again."
}
}, },
"messages": { "messages": {
"title": "Wiadomości", "title": "Wiadomości",
@@ -86,7 +97,30 @@
"offlineEmptySubtitle": "Twoja skrzynka odbiorcza jest pusta", "offlineEmptySubtitle": "Twoja skrzynka odbiorcza jest pusta",
"offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}", "offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}",
"offlineEmptyState": "Nie masz żadnych wiadomości offline.", "offlineEmptyState": "Nie masz żadnych wiadomości offline.",
"unknownUser": "Użytkownik nr {id}" "unknownUser": "Użytkownik nr {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": { "profile": {
"noMotto": "Żadnego motta", "noMotto": "Żadnego motta",
@@ -114,7 +148,26 @@
"roomsTitle": "Pokoje", "roomsTitle": "Pokoje",
"roomsSubtitle": "Pokoje, które są ich własnością", "roomsSubtitle": "Pokoje, które są ich własnością",
"roomsEmpty": "Brak pokoi do pokazania.", "roomsEmpty": "Brak pokoi do pokazania.",
"roomUntitled": "Pokój bez tytułu" "roomUntitled": "Pokój bez tytułu",
"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": { "rankings": {
"title": "Rankingi", "title": "Rankingi",
@@ -180,7 +233,19 @@
"addComment": "Dodaj komentarz", "addComment": "Dodaj komentarz",
"commentPlaceholder": "Napisz swój komentarz…", "commentPlaceholder": "Napisz swój komentarz…",
"postComment": "Opublikuj komentarz", "postComment": "Opublikuj komentarz",
"toComment": "aby zostawić komentarz." "toComment": "aby zostawić komentarz.",
"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": { "photos": {
"title": "Zdjęcia", "title": "Zdjęcia",
@@ -264,7 +329,10 @@
"pinned": "Przypięty", "pinned": "Przypięty",
"locked": "Zablokowane", "locked": "Zablokowane",
"userNumber": "Użytkownik nr {id}", "userNumber": "Użytkownik nr {id}",
"unknown": "Nieznany" "unknown": "Nieznany",
"success": {
"posted": "Thread posted."
}
}, },
"guildForumNew": { "guildForumNew": {
"backToForum": "← Powrót do forum", "backToForum": "← Powrót do forum",
@@ -276,7 +344,13 @@
"messageLabel": "Wiadomość", "messageLabel": "Wiadomość",
"messagePlaceholder": "Napisz swój post otwierający…", "messagePlaceholder": "Napisz swój post otwierający…",
"postThread": "Opublikuj wątek", "postThread": "Opublikuj wątek",
"cancel": "Anuluj" "cancel": "Anuluj",
"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": { "shop": {
"title": "Sklep", "title": "Sklep",
@@ -286,7 +360,22 @@
"allPackages": "Wszystkie pakiety", "allPackages": "Wszystkie pakiety",
"packagesAvailable": "{count, plural, one {# package available} other {# packages available}}", "packagesAvailable": "{count, plural, one {# package available} other {# packages available}}",
"empty": "W tej chwili nie są dostępne żadne pakiety.", "empty": "W tej chwili nie są dostępne żadne pakiety.",
"buy": "Kup" "buy": "Kup",
"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": { "topup": {
"title": "Doładuj za pomocą PayPal", "title": "Doładuj za pomocą PayPal",
@@ -390,7 +479,16 @@
"colStatus": "Stan", "colStatus": "Stan",
"colCreated": "Utworzono", "colCreated": "Utworzono",
"statusOpen": "Otwórz", "statusOpen": "Otwórz",
"statusClosed": "Zamknięte" "statusClosed": "Zamknięte",
"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."
}
}, },
"applyStaff": { "applyStaff": {
"title": "Aplikuj na pracownika {hotel}", "title": "Aplikuj na pracownika {hotel}",
@@ -402,7 +500,17 @@
"alreadyApplied": "Aplikowałeś już na {rank}", "alreadyApplied": "Aplikowałeś już na {rank}",
"aboutYou": "O tobie", "aboutYou": "O tobie",
"aboutPlaceholder": "Powiedz nam, dlaczego byłbyś świetnym {rank}…", "aboutPlaceholder": "Powiedz nam, dlaczego byłbyś świetnym {rank}…",
"applyFor": "Złóż wniosek o {rank}" "applyFor": "Złóż wniosek o {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": { "applyTeam": {
"title": "Aplikuj do zespołu {hotel}", "title": "Aplikuj do zespołu {hotel}",
@@ -412,7 +520,17 @@
"pending": "Twoje zgłoszenie oczekuje na realizację", "pending": "Twoje zgłoszenie oczekuje na realizację",
"aboutYou": "O tobie", "aboutYou": "O tobie",
"aboutPlaceholder": "Powiedz nam, dlaczego świetnie nadajesz się na stanowisko {rank}…", "aboutPlaceholder": "Powiedz nam, dlaczego świetnie nadajesz się na stanowisko {rank}…",
"applyFor": "Złóż wniosek o {rank}" "applyFor": "Złóż wniosek o {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": { "radio": {
"title": "Radia", "title": "Radia",
@@ -467,7 +585,16 @@
"loginToPost": "Zaloguj się, aby opublikować krzyk.", "loginToPost": "Zaloguj się, aby opublikować krzyk.",
"latestTitle": "Najnowsze krzyki", "latestTitle": "Najnowsze krzyki",
"latestSubtitle": "Najnowsze wiadomości od słuchaczy", "latestSubtitle": "Najnowsze wiadomości od słuchaczy",
"empty": "Nie ma jeszcze żadnych krzyków. Bądź pierwszy!" "empty": "Nie ma jeszcze żadnych krzyków. Bądź pierwszy!",
"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": { "radioContests": {
"title": "Konkursy radiowe", "title": "Konkursy radiowe",
@@ -511,7 +638,16 @@
"colStatus": "Stan", "colStatus": "Stan",
"statusPending": "Oczekujące", "statusPending": "Oczekujące",
"statusApproved": "Zatwierdzone", "statusApproved": "Zatwierdzone",
"statusPlayed": "Zagrał" "statusPlayed": "Zagrał",
"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."
}
}, },
"client": { "client": {
"title": "Klient nitro", "title": "Klient nitro",
@@ -549,7 +685,15 @@
"experiencePlaceholder": "Jakieś wcześniejsze doświadczenia z DJ-em lub hostingiem?", "experiencePlaceholder": "Jakieś wcześniejsze doświadczenia z DJ-em lub hostingiem?",
"motivationLabel": "Motywacja", "motivationLabel": "Motywacja",
"motivationPlaceholder": "Dlaczego chcesz dołączyć do zespołu radia?", "motivationPlaceholder": "Dlaczego chcesz dołączyć do zespołu radia?",
"submitButton": "Prześlij wniosek" "submitButton": "Prześlij wniosek",
"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": { "settings": {
"accountSettings": "Ustawienia konta", "accountSettings": "Ustawienia konta",
@@ -624,7 +768,9 @@
"errorInvalidCredentials": "Nieprawidłowa nazwa użytkownika lub hasło", "errorInvalidCredentials": "Nieprawidłowa nazwa użytkownika lub hasło",
"errorInvalid2fa": "Nieprawidłowy kod 2FA", "errorInvalid2fa": "Nieprawidłowy kod 2FA",
"welcomeBack": "Witaj z powrotem", "welcomeBack": "Witaj z powrotem",
"welcomeBackSub": "Zaloguj się, aby kontynuować w {hotelName}" "welcomeBackSub": "Zaloguj się, aby kontynuować w {hotelName}",
"errorUnverified": "Please verify your email before signing in.",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"register": { "register": {
"title": "Utwórz konto", "title": "Utwórz konto",
@@ -664,7 +810,8 @@
"sentNotice": "Jeśli ten adres e-mail jest zarejestrowany, został wysłany link resetujący. Sprawdź swoją skrzynkę odbiorczą.", "sentNotice": "Jeśli ten adres e-mail jest zarejestrowany, został wysłany link resetujący. Sprawdź swoją skrzynkę odbiorczą.",
"emailPlaceholder": "Twój e-mail", "emailPlaceholder": "Twój e-mail",
"sendResetLink": "Wyślij link resetujący", "sendResetLink": "Wyślij link resetujący",
"backToLogin": "Powrót do logowania" "backToLogin": "Powrót do logowania",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"reset": { "reset": {
"title": "Ustaw nowe hasło", "title": "Ustaw nowe hasło",
@@ -782,7 +929,19 @@
"hubCatalog": "Catalog & rares", "hubCatalog": "Catalog & rares",
"hubShop": "Shop & payments", "hubShop": "Shop & payments",
"hubTools": "Tools", "hubTools": "Tools",
"hubObservability": "Observability" "hubObservability": "Observability",
"helpTickets": "Help-center tickets",
"marketplace": "Marketplace",
"expandAll": "Expand all",
"collapseAll": "Collapse all",
"community": "Community",
"monitoring": "Monitoring",
"staffAccess": "Ranks & permissions",
"multiAccounts": "Multi-accounts",
"chatLog": "Chat log",
"commandLog": "Command log",
"tradeLog": "Trade log",
"tools": "Tools"
}, },
"dashboard": { "dashboard": {
"title": "Pulpit nawigacyjny", "title": "Pulpit nawigacyjny",
@@ -935,7 +1094,14 @@
"saving": "Zapisuję…", "saving": "Zapisuję…",
"deleteAd": "Usuń reklamę", "deleteAd": "Usuń reklamę",
"cancel": "Anuluj" "cancel": "Anuluj"
} },
"deleteSuccess": "Advertisement deleted!",
"deleteError": "Failed to delete advertisement.",
"adsCount": "Total ads",
"latest": "Latest",
"mostRecentAd": "Most recent ad",
"allAds": "All advertisements",
"colPreview": "Preview"
}, },
"writeableBoxes": { "writeableBoxes": {
"title": "Pudełka z możliwością zapisu", "title": "Pudełka z możliwością zapisu",
@@ -1306,7 +1472,9 @@
"colPosition": "Position", "colPosition": "Position",
"colTransaction": "Transaction", "colTransaction": "Transaction",
"colUser": "User", "colUser": "User",
"colDescription": "Description" "colDescription": "Description",
"pageOf": "Page {page} of {lastPage}",
"packagesTotal": "{count} packages"
}, },
"transactions": { "transactions": {
"title": "Transakcje", "title": "Transakcje",
@@ -1894,7 +2062,35 @@
"userPrefix": "user", "userPrefix": "user",
"pagination": "Page {page} of {pages} · {total} total", "pagination": "Page {page} of {pages} · {total} total",
"next": "Next", "next": "Next",
"prev": "Previous" "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"
},
"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…"
}
}, },
"wordfilter": { "wordfilter": {
"title": "Filtr słów", "title": "Filtr słów",
@@ -2241,7 +2437,15 @@
"pets": "Pets", "pets": "Pets",
"petsDescription": "Import pet data and icons.", "petsDescription": "Import pet data and icons.",
"clone": "Clone", "clone": "Clone",
"cloneDescription": "Clone existing items from one source to another." "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": { "translations": {
"title": "Translations", "title": "Translations",
@@ -2388,9 +2592,402 @@
"devops": "DevOps", "devops": "DevOps",
"errors": "Errors", "errors": "Errors",
"alerts": "Alerts", "alerts": "Alerts",
"toolsGroup": "Tools" "toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
},
"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"
},
"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."
}
},
"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"
} }
} }
},
"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"
}
},
"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:"
} }
} }
} }
+619 -22
View File
@@ -21,7 +21,9 @@
"admin": "Administrador", "admin": "Administrador",
"openMenu": "Abrir menu", "openMenu": "Abrir menu",
"closeMenu": "Fechar menu", "closeMenu": "Fechar menu",
"drawBadge": "Desenhar distintivo" "drawBadge": "Desenhar distintivo",
"events": "Events",
"polls": "Polls"
}, },
"header": { "header": {
"online": "{count} {hotel} on-line", "online": "{count} {hotel} on-line",
@@ -71,7 +73,16 @@
"emptySubtitle": "Você ainda não adicionou amigos", "emptySubtitle": "Você ainda não adicionou amigos",
"subtitle": "{count, plural, one {You have # friend} other {You have # friends}}", "subtitle": "{count, plural, one {You have # friend} other {You have # friends}}",
"emptyState": "Adicione amigos no hotel e eles aparecerão aqui.", "emptyState": "Adicione amigos no hotel e eles aparecerão aqui.",
"noMotto": "Sem lema" "noMotto": "Sem lema",
"remove": "Remove",
"success": {
"removed": "Friend removed."
},
"errors": {
"notFound": "That friendship was not found.",
"invalid": "Invalid friend.",
"error": "Something went wrong. Please try again."
}
}, },
"messages": { "messages": {
"title": "Mensagens", "title": "Mensagens",
@@ -86,7 +97,30 @@
"offlineEmptySubtitle": "Sua caixa de entrada está vazia", "offlineEmptySubtitle": "Sua caixa de entrada está vazia",
"offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}", "offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}",
"offlineEmptyState": "Você não tem mensagens off-line.", "offlineEmptyState": "Você não tem mensagens off-line.",
"unknownUser": "Usuário #{id}" "unknownUser": "Usuário #{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": { "profile": {
"noMotto": "Sem lema", "noMotto": "Sem lema",
@@ -114,7 +148,26 @@
"roomsTitle": "Quartos", "roomsTitle": "Quartos",
"roomsSubtitle": "Quartos que eles possuem", "roomsSubtitle": "Quartos que eles possuem",
"roomsEmpty": "Não há quartos para mostrar.", "roomsEmpty": "Não há quartos para mostrar.",
"roomUntitled": "Sala sem título" "roomUntitled": "Sala sem título",
"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": { "rankings": {
"title": "Classificações", "title": "Classificações",
@@ -180,7 +233,19 @@
"addComment": "Adicione um comentário", "addComment": "Adicione um comentário",
"commentPlaceholder": "Escreva seu comentário…", "commentPlaceholder": "Escreva seu comentário…",
"postComment": "Postar comentário", "postComment": "Postar comentário",
"toComment": "para deixar um comentário." "toComment": "para deixar um comentário.",
"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": { "photos": {
"title": "Fotos", "title": "Fotos",
@@ -264,7 +329,10 @@
"pinned": "Fixado", "pinned": "Fixado",
"locked": "Bloqueado", "locked": "Bloqueado",
"userNumber": "Usuário #{id}", "userNumber": "Usuário #{id}",
"unknown": "Desconhecido" "unknown": "Desconhecido",
"success": {
"posted": "Thread posted."
}
}, },
"guildForumNew": { "guildForumNew": {
"backToForum": "← Voltar ao fórum", "backToForum": "← Voltar ao fórum",
@@ -276,7 +344,13 @@
"messageLabel": "Mensagem", "messageLabel": "Mensagem",
"messagePlaceholder": "Escreva sua postagem de abertura…", "messagePlaceholder": "Escreva sua postagem de abertura…",
"postThread": "Postar tópico", "postThread": "Postar tópico",
"cancel": "Cancelar" "cancel": "Cancelar",
"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": { "shop": {
"title": "Loja", "title": "Loja",
@@ -286,7 +360,22 @@
"allPackages": "Todos os pacotes", "allPackages": "Todos os pacotes",
"packagesAvailable": "{count, plural, one {# package available} other {# packages available}}", "packagesAvailable": "{count, plural, one {# package available} other {# packages available}}",
"empty": "Nenhum pacote disponível no momento.", "empty": "Nenhum pacote disponível no momento.",
"buy": "Comprar" "buy": "Comprar",
"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": { "topup": {
"title": "Recarregue com PayPal", "title": "Recarregue com PayPal",
@@ -390,7 +479,16 @@
"colStatus": "Estado", "colStatus": "Estado",
"colCreated": "Criado", "colCreated": "Criado",
"statusOpen": "Abrir", "statusOpen": "Abrir",
"statusClosed": "Fechado" "statusClosed": "Fechado",
"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."
}
}, },
"applyStaff": { "applyStaff": {
"title": "Inscreva-se para funcionários de {hotel}", "title": "Inscreva-se para funcionários de {hotel}",
@@ -402,7 +500,17 @@
"alreadyApplied": "Você já se inscreveu para {rank}", "alreadyApplied": "Você já se inscreveu para {rank}",
"aboutYou": "Sobre você", "aboutYou": "Sobre você",
"aboutPlaceholder": "Diga-nos por que você seria um ótimo {rank}…", "aboutPlaceholder": "Diga-nos por que você seria um ótimo {rank}…",
"applyFor": "Inscreva-se para {rank}" "applyFor": "Inscreva-se para {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": { "applyTeam": {
"title": "Inscreva-se na equipe do {hotel}", "title": "Inscreva-se na equipe do {hotel}",
@@ -412,7 +520,17 @@
"pending": "Sua inscrição está pendente", "pending": "Sua inscrição está pendente",
"aboutYou": "Sobre você", "aboutYou": "Sobre você",
"aboutPlaceholder": "Conte-nos por que você seria uma ótima opção para {rank}…", "aboutPlaceholder": "Conte-nos por que você seria uma ótima opção para {rank}…",
"applyFor": "Inscreva-se para {rank}" "applyFor": "Inscreva-se para {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": { "radio": {
"title": "Rádio", "title": "Rádio",
@@ -467,7 +585,16 @@
"loginToPost": "Faça login para postar uma mensagem.", "loginToPost": "Faça login para postar uma mensagem.",
"latestTitle": "Últimos gritos", "latestTitle": "Últimos gritos",
"latestSubtitle": "As mensagens mais recentes dos ouvintes", "latestSubtitle": "As mensagens mais recentes dos ouvintes",
"empty": "Nenhum grito ainda. Seja o primeiro!" "empty": "Nenhum grito ainda. Seja o primeiro!",
"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": { "radioContests": {
"title": "Concursos de Rádio", "title": "Concursos de Rádio",
@@ -511,7 +638,16 @@
"colStatus": "Estado", "colStatus": "Estado",
"statusPending": "Pendente", "statusPending": "Pendente",
"statusApproved": "Aprovado", "statusApproved": "Aprovado",
"statusPlayed": "Jogado" "statusPlayed": "Jogado",
"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."
}
}, },
"client": { "client": {
"title": "Cliente Nitro", "title": "Cliente Nitro",
@@ -549,7 +685,15 @@
"experiencePlaceholder": "Alguma experiência anterior de DJ ou hospedagem?", "experiencePlaceholder": "Alguma experiência anterior de DJ ou hospedagem?",
"motivationLabel": "Motivação", "motivationLabel": "Motivação",
"motivationPlaceholder": "Por que você quer se juntar à equipe de rádio?", "motivationPlaceholder": "Por que você quer se juntar à equipe de rádio?",
"submitButton": "Enviar inscrição" "submitButton": "Enviar inscrição",
"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": { "settings": {
"accountSettings": "Configurações da conta", "accountSettings": "Configurações da conta",
@@ -624,7 +768,9 @@
"errorInvalidCredentials": "Nome de usuário ou senha inválidos", "errorInvalidCredentials": "Nome de usuário ou senha inválidos",
"errorInvalid2fa": "Código 2FA inválido", "errorInvalid2fa": "Código 2FA inválido",
"welcomeBack": "Bem-vindo de volta", "welcomeBack": "Bem-vindo de volta",
"welcomeBackSub": "Entre para continuar em {hotelName}" "welcomeBackSub": "Entre para continuar em {hotelName}",
"errorUnverified": "Please verify your email before signing in.",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"register": { "register": {
"title": "Criar conta", "title": "Criar conta",
@@ -664,7 +810,8 @@
"sentNotice": "Se esse e-mail estiver registrado, um link de redefinição foi enviado. Verifique sua caixa de entrada.", "sentNotice": "Se esse e-mail estiver registrado, um link de redefinição foi enviado. Verifique sua caixa de entrada.",
"emailPlaceholder": "Seu e-mail", "emailPlaceholder": "Seu e-mail",
"sendResetLink": "Enviar link de redefinição", "sendResetLink": "Enviar link de redefinição",
"backToLogin": "Voltar ao login" "backToLogin": "Voltar ao login",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"reset": { "reset": {
"title": "Defina uma nova senha", "title": "Defina uma nova senha",
@@ -782,7 +929,19 @@
"hubCatalog": "Catalog & rares", "hubCatalog": "Catalog & rares",
"hubShop": "Shop & payments", "hubShop": "Shop & payments",
"hubTools": "Tools", "hubTools": "Tools",
"hubObservability": "Observability" "hubObservability": "Observability",
"helpTickets": "Help-center tickets",
"marketplace": "Marketplace",
"expandAll": "Expand all",
"collapseAll": "Collapse all",
"community": "Community",
"monitoring": "Monitoring",
"staffAccess": "Ranks & permissions",
"multiAccounts": "Multi-accounts",
"chatLog": "Chat log",
"commandLog": "Command log",
"tradeLog": "Trade log",
"tools": "Tools"
}, },
"dashboard": { "dashboard": {
"title": "Painel", "title": "Painel",
@@ -935,7 +1094,14 @@
"saving": "Salvando…", "saving": "Salvando…",
"deleteAd": "Excluir anúncio", "deleteAd": "Excluir anúncio",
"cancel": "Cancelar" "cancel": "Cancelar"
} },
"deleteSuccess": "Advertisement deleted!",
"deleteError": "Failed to delete advertisement.",
"adsCount": "Total ads",
"latest": "Latest",
"mostRecentAd": "Most recent ad",
"allAds": "All advertisements",
"colPreview": "Preview"
}, },
"writeableBoxes": { "writeableBoxes": {
"title": "Caixas graváveis", "title": "Caixas graváveis",
@@ -1306,7 +1472,9 @@
"colPosition": "Position", "colPosition": "Position",
"colTransaction": "Transaction", "colTransaction": "Transaction",
"colUser": "User", "colUser": "User",
"colDescription": "Description" "colDescription": "Description",
"pageOf": "Page {page} of {lastPage}",
"packagesTotal": "{count} packages"
}, },
"transactions": { "transactions": {
"title": "Transações", "title": "Transações",
@@ -1894,7 +2062,35 @@
"userPrefix": "user", "userPrefix": "user",
"pagination": "Page {page} of {pages} · {total} total", "pagination": "Page {page} of {pages} · {total} total",
"next": "Next", "next": "Next",
"prev": "Previous" "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"
},
"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…"
}
}, },
"wordfilter": { "wordfilter": {
"title": "Filtro de palavras", "title": "Filtro de palavras",
@@ -2241,7 +2437,15 @@
"pets": "Pets", "pets": "Pets",
"petsDescription": "Import pet data and icons.", "petsDescription": "Import pet data and icons.",
"clone": "Clone", "clone": "Clone",
"cloneDescription": "Clone existing items from one source to another." "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": { "translations": {
"title": "Translations", "title": "Translations",
@@ -2388,9 +2592,402 @@
"devops": "DevOps", "devops": "DevOps",
"errors": "Errors", "errors": "Errors",
"alerts": "Alerts", "alerts": "Alerts",
"toolsGroup": "Tools" "toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
},
"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"
},
"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."
}
},
"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"
} }
} }
},
"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"
}
},
"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:"
} }
} }
} }
+619 -22
View File
@@ -21,7 +21,9 @@
"admin": "Admin", "admin": "Admin",
"openMenu": "Deschide meniul", "openMenu": "Deschide meniul",
"closeMenu": "Închide meniul", "closeMenu": "Închide meniul",
"drawBadge": "Trage insigna" "drawBadge": "Trage insigna",
"events": "Events",
"polls": "Polls"
}, },
"header": { "header": {
"online": "{count} {hotel} online", "online": "{count} {hotel} online",
@@ -71,7 +73,16 @@
"emptySubtitle": "Nu ai niciun prieten adăugat încă", "emptySubtitle": "Nu ai niciun prieten adăugat încă",
"subtitle": "{count, plural, one {You have # friend} other {You have # friends}}", "subtitle": "{count, plural, one {You have # friend} other {You have # friends}}",
"emptyState": "Adăugați prieteni în hotel și aceștia vor apărea aici.", "emptyState": "Adăugați prieteni în hotel și aceștia vor apărea aici.",
"noMotto": "Niciun motto" "noMotto": "Niciun 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": { "messages": {
"title": "Mesaje", "title": "Mesaje",
@@ -86,7 +97,30 @@
"offlineEmptySubtitle": "Căsuța dvs. de e-mail este goală", "offlineEmptySubtitle": "Căsuța dvs. de e-mail este goală",
"offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}", "offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}",
"offlineEmptyState": "Nu aveți mesaje offline.", "offlineEmptyState": "Nu aveți mesaje offline.",
"unknownUser": "Utilizatorul #{id}" "unknownUser": "Utilizatorul #{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": { "profile": {
"noMotto": "Niciun motto", "noMotto": "Niciun motto",
@@ -114,7 +148,26 @@
"roomsTitle": "Camerele", "roomsTitle": "Camerele",
"roomsSubtitle": "Camerele pe care le dețin", "roomsSubtitle": "Camerele pe care le dețin",
"roomsEmpty": "Nu există camere de afișat.", "roomsEmpty": "Nu există camere de afișat.",
"roomUntitled": "Cameră fără titlu" "roomUntitled": "Cameră fără titlu",
"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": { "rankings": {
"title": "Clasamente", "title": "Clasamente",
@@ -180,7 +233,19 @@
"addComment": "Adaugă un comentariu", "addComment": "Adaugă un comentariu",
"commentPlaceholder": "Scrie comentariul tau...", "commentPlaceholder": "Scrie comentariul tau...",
"postComment": "Postează comentariu", "postComment": "Postează comentariu",
"toComment": "sa lasi un comentariu." "toComment": "sa lasi un comentariu.",
"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": { "photos": {
"title": "Fotografii", "title": "Fotografii",
@@ -264,7 +329,10 @@
"pinned": "Fixat", "pinned": "Fixat",
"locked": "Blocat", "locked": "Blocat",
"userNumber": "Utilizatorul #{id}", "userNumber": "Utilizatorul #{id}",
"unknown": "Necunoscut" "unknown": "Necunoscut",
"success": {
"posted": "Thread posted."
}
}, },
"guildForumNew": { "guildForumNew": {
"backToForum": "← Înapoi la forum", "backToForum": "← Înapoi la forum",
@@ -276,7 +344,13 @@
"messageLabel": "Mesaj", "messageLabel": "Mesaj",
"messagePlaceholder": "Scrieți postarea de deschidere...", "messagePlaceholder": "Scrieți postarea de deschidere...",
"postThread": "Postează subiectul", "postThread": "Postează subiectul",
"cancel": "Anulează" "cancel": "Anulează",
"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": { "shop": {
"title": "Magazin", "title": "Magazin",
@@ -286,7 +360,22 @@
"allPackages": "Toate pachetele", "allPackages": "Toate pachetele",
"packagesAvailable": "{count, plural, one {# package available} other {# packages available}}", "packagesAvailable": "{count, plural, one {# package available} other {# packages available}}",
"empty": "Nu există pachete disponibile momentan.", "empty": "Nu există pachete disponibile momentan.",
"buy": "Cumpără" "buy": "Cumpără",
"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": { "topup": {
"title": "Încărcați cu PayPal", "title": "Încărcați cu PayPal",
@@ -390,7 +479,16 @@
"colStatus": "Stare", "colStatus": "Stare",
"colCreated": "Creat", "colCreated": "Creat",
"statusOpen": "Deschide", "statusOpen": "Deschide",
"statusClosed": "Închis" "statusClosed": "Închis",
"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."
}
}, },
"applyStaff": { "applyStaff": {
"title": "Aplicați pentru personalul {hotel}", "title": "Aplicați pentru personalul {hotel}",
@@ -402,7 +500,17 @@
"alreadyApplied": "Ați aplicat deja pentru {rank}", "alreadyApplied": "Ați aplicat deja pentru {rank}",
"aboutYou": "Despre tine", "aboutYou": "Despre tine",
"aboutPlaceholder": "Spune-ne de ce ai fi un {rank} grozav...", "aboutPlaceholder": "Spune-ne de ce ai fi un {rank} grozav...",
"applyFor": "Aplicați pentru {rank}" "applyFor": "Aplicați pentru {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": { "applyTeam": {
"title": "Aplicați pentru echipa {hotel}", "title": "Aplicați pentru echipa {hotel}",
@@ -412,7 +520,17 @@
"pending": "Aplicația dvs. este în așteptare", "pending": "Aplicația dvs. este în așteptare",
"aboutYou": "Despre tine", "aboutYou": "Despre tine",
"aboutPlaceholder": "Spune-ne de ce ai fi potrivit pentru {rank}...", "aboutPlaceholder": "Spune-ne de ce ai fi potrivit pentru {rank}...",
"applyFor": "Aplicați pentru {rank}" "applyFor": "Aplicați pentru {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": { "radio": {
"title": "Radio", "title": "Radio",
@@ -467,7 +585,16 @@
"loginToPost": "Conectați-vă pentru a posta un strigăt.", "loginToPost": "Conectați-vă pentru a posta un strigăt.",
"latestTitle": "Ultimele strigăte", "latestTitle": "Ultimele strigăte",
"latestSubtitle": "Cele mai recente mesaje de la ascultători", "latestSubtitle": "Cele mai recente mesaje de la ascultători",
"empty": "Niciun strigăt încă. Fii primul!" "empty": "Niciun strigăt încă. Fii primul!",
"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": { "radioContests": {
"title": "Concursuri Radio", "title": "Concursuri Radio",
@@ -511,7 +638,16 @@
"colStatus": "Stare", "colStatus": "Stare",
"statusPending": "În așteptare", "statusPending": "În așteptare",
"statusApproved": "Aprobat", "statusApproved": "Aprobat",
"statusPlayed": "Jucat" "statusPlayed": "Jucat",
"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."
}
}, },
"client": { "client": {
"title": "Client Nitro", "title": "Client Nitro",
@@ -549,7 +685,15 @@
"experiencePlaceholder": "Vreo experiență anterioară de DJ sau hosting?", "experiencePlaceholder": "Vreo experiență anterioară de DJ sau hosting?",
"motivationLabel": "Motivația", "motivationLabel": "Motivația",
"motivationPlaceholder": "De ce vrei să te alături echipei radio?", "motivationPlaceholder": "De ce vrei să te alături echipei radio?",
"submitButton": "Trimiteți cererea" "submitButton": "Trimiteți cererea",
"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": { "settings": {
"accountSettings": "Setările contului", "accountSettings": "Setările contului",
@@ -624,7 +768,9 @@
"errorInvalidCredentials": "Nume de utilizator sau parolă nevalidă", "errorInvalidCredentials": "Nume de utilizator sau parolă nevalidă",
"errorInvalid2fa": "Cod 2FA nevalid", "errorInvalid2fa": "Cod 2FA nevalid",
"welcomeBack": "Bine ai revenit", "welcomeBack": "Bine ai revenit",
"welcomeBackSub": "Autentifică-te pentru a continua pe {hotelName}" "welcomeBackSub": "Autentifică-te pentru a continua pe {hotelName}",
"errorUnverified": "Please verify your email before signing in.",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"register": { "register": {
"title": "Creați cont", "title": "Creați cont",
@@ -664,7 +810,8 @@
"sentNotice": "Dacă acel e-mail este înregistrat, a fost trimis un link de resetare. Verificați-vă căsuța de e-mail.", "sentNotice": "Dacă acel e-mail este înregistrat, a fost trimis un link de resetare. Verificați-vă căsuța de e-mail.",
"emailPlaceholder": "E-mailul dvs", "emailPlaceholder": "E-mailul dvs",
"sendResetLink": "Trimite linkul de resetare", "sendResetLink": "Trimite linkul de resetare",
"backToLogin": "Înapoi la autentificare" "backToLogin": "Înapoi la autentificare",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"reset": { "reset": {
"title": "Setați o nouă parolă", "title": "Setați o nouă parolă",
@@ -782,7 +929,19 @@
"hubCatalog": "Catalog & rares", "hubCatalog": "Catalog & rares",
"hubShop": "Shop & payments", "hubShop": "Shop & payments",
"hubTools": "Tools", "hubTools": "Tools",
"hubObservability": "Observability" "hubObservability": "Observability",
"helpTickets": "Help-center tickets",
"marketplace": "Marketplace",
"expandAll": "Expand all",
"collapseAll": "Collapse all",
"community": "Community",
"monitoring": "Monitoring",
"staffAccess": "Ranks & permissions",
"multiAccounts": "Multi-accounts",
"chatLog": "Chat log",
"commandLog": "Command log",
"tradeLog": "Trade log",
"tools": "Tools"
}, },
"dashboard": { "dashboard": {
"title": "Tabloul de bord", "title": "Tabloul de bord",
@@ -935,7 +1094,14 @@
"saving": "Se salvează…", "saving": "Se salvează…",
"deleteAd": "Șterge anunțul", "deleteAd": "Șterge anunțul",
"cancel": "Anulează" "cancel": "Anulează"
} },
"deleteSuccess": "Advertisement deleted!",
"deleteError": "Failed to delete advertisement.",
"adsCount": "Total ads",
"latest": "Latest",
"mostRecentAd": "Most recent ad",
"allAds": "All advertisements",
"colPreview": "Preview"
}, },
"writeableBoxes": { "writeableBoxes": {
"title": "Cutii inscriptibile", "title": "Cutii inscriptibile",
@@ -1306,7 +1472,9 @@
"colPosition": "Position", "colPosition": "Position",
"colTransaction": "Transaction", "colTransaction": "Transaction",
"colUser": "User", "colUser": "User",
"colDescription": "Description" "colDescription": "Description",
"pageOf": "Page {page} of {lastPage}",
"packagesTotal": "{count} packages"
}, },
"transactions": { "transactions": {
"title": "Tranzacții", "title": "Tranzacții",
@@ -1894,7 +2062,35 @@
"userPrefix": "user", "userPrefix": "user",
"pagination": "Page {page} of {pages} · {total} total", "pagination": "Page {page} of {pages} · {total} total",
"next": "Next", "next": "Next",
"prev": "Previous" "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"
},
"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…"
}
}, },
"wordfilter": { "wordfilter": {
"title": "Filtru de cuvinte", "title": "Filtru de cuvinte",
@@ -2241,7 +2437,15 @@
"pets": "Pets", "pets": "Pets",
"petsDescription": "Import pet data and icons.", "petsDescription": "Import pet data and icons.",
"clone": "Clone", "clone": "Clone",
"cloneDescription": "Clone existing items from one source to another." "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": { "translations": {
"title": "Translations", "title": "Translations",
@@ -2388,9 +2592,402 @@
"devops": "DevOps", "devops": "DevOps",
"errors": "Errors", "errors": "Errors",
"alerts": "Alerts", "alerts": "Alerts",
"toolsGroup": "Tools" "toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
},
"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"
},
"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."
}
},
"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"
} }
} }
},
"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"
}
},
"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:"
} }
} }
} }
+619 -22
View File
@@ -21,7 +21,9 @@
"admin": "Администратор", "admin": "Администратор",
"openMenu": "Открыть меню", "openMenu": "Открыть меню",
"closeMenu": "Закрыть меню", "closeMenu": "Закрыть меню",
"drawBadge": "Нарисуйте значок" "drawBadge": "Нарисуйте значок",
"events": "Events",
"polls": "Polls"
}, },
"header": { "header": {
"online": "{count} {hotel} онлайн", "online": "{count} {hotel} онлайн",
@@ -71,7 +73,16 @@
"emptySubtitle": "У вас еще нет добавленных друзей", "emptySubtitle": "У вас еще нет добавленных друзей",
"subtitle": "{count, plural, one {You have # friend} other {You have # friends}}", "subtitle": "{count, plural, one {You have # friend} other {You have # friends}}",
"emptyState": "Добавьте друзей в отель, и они появятся здесь.", "emptyState": "Добавьте друзей в отель, и они появятся здесь.",
"noMotto": "Нет девиза" "noMotto": "Нет девиза",
"remove": "Remove",
"success": {
"removed": "Friend removed."
},
"errors": {
"notFound": "That friendship was not found.",
"invalid": "Invalid friend.",
"error": "Something went wrong. Please try again."
}
}, },
"messages": { "messages": {
"title": "Сообщения", "title": "Сообщения",
@@ -86,7 +97,30 @@
"offlineEmptySubtitle": "Ваш почтовый ящик пуст", "offlineEmptySubtitle": "Ваш почтовый ящик пуст",
"offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}", "offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}",
"offlineEmptyState": "У вас нет сообщений в автономном режиме.", "offlineEmptyState": "У вас нет сообщений в автономном режиме.",
"unknownUser": "Пользователь #{id}" "unknownUser": "Пользователь #{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": { "profile": {
"noMotto": "Нет девиза", "noMotto": "Нет девиза",
@@ -114,7 +148,26 @@
"roomsTitle": "Номера", "roomsTitle": "Номера",
"roomsSubtitle": "Комнаты, которыми они владеют", "roomsSubtitle": "Комнаты, которыми они владеют",
"roomsEmpty": "Нет комнат для показа.", "roomsEmpty": "Нет комнат для показа.",
"roomUntitled": "Комната без названия" "roomUntitled": "Комната без названия",
"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": { "rankings": {
"title": "Рейтинг", "title": "Рейтинг",
@@ -180,7 +233,19 @@
"addComment": "Добавить комментарий", "addComment": "Добавить комментарий",
"commentPlaceholder": "Напишите свой комментарий...", "commentPlaceholder": "Напишите свой комментарий...",
"postComment": "Оставить комментарий", "postComment": "Оставить комментарий",
"toComment": "чтобы оставить комментарий." "toComment": "чтобы оставить комментарий.",
"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": { "photos": {
"title": "Фото", "title": "Фото",
@@ -264,7 +329,10 @@
"pinned": "Закреплено", "pinned": "Закреплено",
"locked": "Заблокировано", "locked": "Заблокировано",
"userNumber": "Пользователь #{id}", "userNumber": "Пользователь #{id}",
"unknown": "Неизвестно" "unknown": "Неизвестно",
"success": {
"posted": "Thread posted."
}
}, },
"guildForumNew": { "guildForumNew": {
"backToForum": "← Вернуться на форум", "backToForum": "← Вернуться на форум",
@@ -276,7 +344,13 @@
"messageLabel": "Сообщение", "messageLabel": "Сообщение",
"messagePlaceholder": "Напишите свою вступительную запись...", "messagePlaceholder": "Напишите свою вступительную запись...",
"postThread": "Post thread", "postThread": "Post thread",
"cancel": "Отмена" "cancel": "Отмена",
"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": { "shop": {
"title": "Магазин", "title": "Магазин",
@@ -286,7 +360,22 @@
"allPackages": "Все пакеты", "allPackages": "Все пакеты",
"packagesAvailable": "{count, plural, one {# package available} other {# packages available}}", "packagesAvailable": "{count, plural, one {# package available} other {# packages available}}",
"empty": "На данный момент нет доступных пакетов.", "empty": "На данный момент нет доступных пакетов.",
"buy": "Купить" "buy": "Купить",
"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": { "topup": {
"title": "Пополнить с помощью PayPal", "title": "Пополнить с помощью PayPal",
@@ -390,7 +479,16 @@
"colStatus": "Статус", "colStatus": "Статус",
"colCreated": "Создано", "colCreated": "Создано",
"statusOpen": "Открыть", "statusOpen": "Открыть",
"statusClosed": "Закрыто" "statusClosed": "Закрыто",
"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."
}
}, },
"applyStaff": { "applyStaff": {
"title": "Подать заявку на персонал {hotel}", "title": "Подать заявку на персонал {hotel}",
@@ -402,7 +500,17 @@
"alreadyApplied": "Вы уже подали заявку на {rank}", "alreadyApplied": "Вы уже подали заявку на {rank}",
"aboutYou": "О вас", "aboutYou": "О вас",
"aboutPlaceholder": "Расскажите нам, почему вы были бы отличным {rank}...", "aboutPlaceholder": "Расскажите нам, почему вы были бы отличным {rank}...",
"applyFor": "Применить для {rank}" "applyFor": "Применить для {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": { "applyTeam": {
"title": "Подать заявку на команду {hotel}", "title": "Подать заявку на команду {hotel}",
@@ -412,7 +520,17 @@
"pending": "Ваша заявка на рассмотрении", "pending": "Ваша заявка на рассмотрении",
"aboutYou": "О вас", "aboutYou": "О вас",
"aboutPlaceholder": "Расскажите нам, почему вы отлично подходите для {rank}...", "aboutPlaceholder": "Расскажите нам, почему вы отлично подходите для {rank}...",
"applyFor": "Применить для {rank}" "applyFor": "Применить для {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": { "radio": {
"title": "Радио", "title": "Радио",
@@ -467,7 +585,16 @@
"loginToPost": "Войдите, чтобы опубликовать сообщение.", "loginToPost": "Войдите, чтобы опубликовать сообщение.",
"latestTitle": "Последние крики", "latestTitle": "Последние крики",
"latestSubtitle": "Самые свежие сообщения от слушателей", "latestSubtitle": "Самые свежие сообщения от слушателей",
"empty": "Пока никаких криков. Будьте первыми!" "empty": "Пока никаких криков. Будьте первыми!",
"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": { "radioContests": {
"title": "Конкурсы радио", "title": "Конкурсы радио",
@@ -511,7 +638,16 @@
"colStatus": "Статус", "colStatus": "Статус",
"statusPending": "В ожидании", "statusPending": "В ожидании",
"statusApproved": "Утвердил", "statusApproved": "Утвердил",
"statusPlayed": "Сыграно" "statusPlayed": "Сыграно",
"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."
}
}, },
"client": { "client": {
"title": "Клиент Nitro", "title": "Клиент Nitro",
@@ -549,7 +685,15 @@
"experiencePlaceholder": "Есть ли у вас опыт диджея или приема гостей?", "experiencePlaceholder": "Есть ли у вас опыт диджея или приема гостей?",
"motivationLabel": "Мотивация", "motivationLabel": "Мотивация",
"motivationPlaceholder": "Почему вы хотите присоединиться к команде радио?", "motivationPlaceholder": "Почему вы хотите присоединиться к команде радио?",
"submitButton": "Подать заявку" "submitButton": "Подать заявку",
"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": { "settings": {
"accountSettings": "Настройки аккаунта", "accountSettings": "Настройки аккаунта",
@@ -624,7 +768,9 @@
"errorInvalidCredentials": "Неверное имя пользователя или пароль", "errorInvalidCredentials": "Неверное имя пользователя или пароль",
"errorInvalid2fa": "Недействительный код 2FA", "errorInvalid2fa": "Недействительный код 2FA",
"welcomeBack": "С возвращением", "welcomeBack": "С возвращением",
"welcomeBackSub": "Войди, чтобы продолжить в {hotelName}" "welcomeBackSub": "Войди, чтобы продолжить в {hotelName}",
"errorUnverified": "Please verify your email before signing in.",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"register": { "register": {
"title": "Создать аккаунт", "title": "Создать аккаунт",
@@ -664,7 +810,8 @@
"sentNotice": "Если это письмо зарегистрировано, ссылка для сброса отправлена. Проверьте папку «Входящие».", "sentNotice": "Если это письмо зарегистрировано, ссылка для сброса отправлена. Проверьте папку «Входящие».",
"emailPlaceholder": "Ваш адрес электронной почты", "emailPlaceholder": "Ваш адрес электронной почты",
"sendResetLink": "Отправить ссылку для сброса", "sendResetLink": "Отправить ссылку для сброса",
"backToLogin": "Назад к входу" "backToLogin": "Назад к входу",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"reset": { "reset": {
"title": "Установить новый пароль", "title": "Установить новый пароль",
@@ -782,7 +929,19 @@
"hubCatalog": "Catalog & rares", "hubCatalog": "Catalog & rares",
"hubShop": "Shop & payments", "hubShop": "Shop & payments",
"hubTools": "Tools", "hubTools": "Tools",
"hubObservability": "Observability" "hubObservability": "Observability",
"helpTickets": "Help-center tickets",
"marketplace": "Marketplace",
"expandAll": "Expand all",
"collapseAll": "Collapse all",
"community": "Community",
"monitoring": "Monitoring",
"staffAccess": "Ranks & permissions",
"multiAccounts": "Multi-accounts",
"chatLog": "Chat log",
"commandLog": "Command log",
"tradeLog": "Trade log",
"tools": "Tools"
}, },
"dashboard": { "dashboard": {
"title": "Панель управления", "title": "Панель управления",
@@ -935,7 +1094,14 @@
"saving": "Сохранение...", "saving": "Сохранение...",
"deleteAd": "Удалить объявление", "deleteAd": "Удалить объявление",
"cancel": "Отмена" "cancel": "Отмена"
} },
"deleteSuccess": "Advertisement deleted!",
"deleteError": "Failed to delete advertisement.",
"adsCount": "Total ads",
"latest": "Latest",
"mostRecentAd": "Most recent ad",
"allAds": "All advertisements",
"colPreview": "Preview"
}, },
"writeableBoxes": { "writeableBoxes": {
"title": "Записываемые коробки", "title": "Записываемые коробки",
@@ -1306,7 +1472,9 @@
"colPosition": "Position", "colPosition": "Position",
"colTransaction": "Transaction", "colTransaction": "Transaction",
"colUser": "User", "colUser": "User",
"colDescription": "Description" "colDescription": "Description",
"pageOf": "Page {page} of {lastPage}",
"packagesTotal": "{count} packages"
}, },
"transactions": { "transactions": {
"title": "Transactions", "title": "Transactions",
@@ -1894,7 +2062,35 @@
"userPrefix": "user", "userPrefix": "user",
"pagination": "Page {page} of {pages} · {total} total", "pagination": "Page {page} of {pages} · {total} total",
"next": "Next", "next": "Next",
"prev": "Previous" "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"
},
"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…"
}
}, },
"wordfilter": { "wordfilter": {
"title": "Word Filter", "title": "Word Filter",
@@ -2241,7 +2437,15 @@
"pets": "Pets", "pets": "Pets",
"petsDescription": "Import pet data and icons.", "petsDescription": "Import pet data and icons.",
"clone": "Clone", "clone": "Clone",
"cloneDescription": "Clone existing items from one source to another." "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": { "translations": {
"title": "Translations", "title": "Translations",
@@ -2388,9 +2592,402 @@
"devops": "DevOps", "devops": "DevOps",
"errors": "Errors", "errors": "Errors",
"alerts": "Alerts", "alerts": "Alerts",
"toolsGroup": "Tools" "toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
},
"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"
},
"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."
}
},
"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"
} }
} }
},
"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"
}
},
"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:"
} }
} }
} }
+619 -22
View File
@@ -21,7 +21,9 @@
"admin": "Admin", "admin": "Admin",
"openMenu": "Otvoriť menu", "openMenu": "Otvoriť menu",
"closeMenu": "Zatvoriť ponuku", "closeMenu": "Zatvoriť ponuku",
"drawBadge": "Nakreslite odznak" "drawBadge": "Nakreslite odznak",
"events": "Events",
"polls": "Polls"
}, },
"header": { "header": {
"online": "{count} {hotel} online", "online": "{count} {hotel} online",
@@ -71,7 +73,16 @@
"emptySubtitle": "Zatiaľ ste nepridali žiadnych priateľov", "emptySubtitle": "Zatiaľ ste nepridali žiadnych priateľov",
"subtitle": "{count, plural, one {You have # friend} other {You have # friends}}", "subtitle": "{count, plural, one {You have # friend} other {You have # friends}}",
"emptyState": "Pridajte priateľov do hotela a zobrazia sa tu.", "emptyState": "Pridajte priateľov do hotela a zobrazia sa tu.",
"noMotto": "Žiadne motto" "noMotto": "Žiadne 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": { "messages": {
"title": "Správy", "title": "Správy",
@@ -86,7 +97,30 @@
"offlineEmptySubtitle": "Vaša doručená pošta je prázdna", "offlineEmptySubtitle": "Vaša doručená pošta je prázdna",
"offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}", "offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}",
"offlineEmptyState": "Nemáte žiadne offline správy.", "offlineEmptyState": "Nemáte žiadne offline správy.",
"unknownUser": "Používateľ #{id}" "unknownUser": "Používateľ #{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": { "profile": {
"noMotto": "Žiadne motto", "noMotto": "Žiadne motto",
@@ -114,7 +148,26 @@
"roomsTitle": "Izby", "roomsTitle": "Izby",
"roomsSubtitle": "Izby, ktoré vlastnia", "roomsSubtitle": "Izby, ktoré vlastnia",
"roomsEmpty": "Žiadne miestnosti na zobrazenie.", "roomsEmpty": "Žiadne miestnosti na zobrazenie.",
"roomUntitled": "Izba bez názvu" "roomUntitled": "Izba bez názvu",
"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": { "rankings": {
"title": "Rebríček", "title": "Rebríček",
@@ -180,7 +233,19 @@
"addComment": "Pridať komentár", "addComment": "Pridať komentár",
"commentPlaceholder": "Napíšte svoj komentár…", "commentPlaceholder": "Napíšte svoj komentár…",
"postComment": "Uverejniť komentár", "postComment": "Uverejniť komentár",
"toComment": "zanechať komentár." "toComment": "zanechať komentár.",
"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": { "photos": {
"title": "Fotografie", "title": "Fotografie",
@@ -264,7 +329,10 @@
"pinned": "Pripnuté", "pinned": "Pripnuté",
"locked": "Zamknuté", "locked": "Zamknuté",
"userNumber": "Používateľ #{id}", "userNumber": "Používateľ #{id}",
"unknown": "Neznámy" "unknown": "Neznámy",
"success": {
"posted": "Thread posted."
}
}, },
"guildForumNew": { "guildForumNew": {
"backToForum": "← Späť na fórum", "backToForum": "← Späť na fórum",
@@ -276,7 +344,13 @@
"messageLabel": "Správa", "messageLabel": "Správa",
"messagePlaceholder": "Napíšte svoj úvodný príspevok...", "messagePlaceholder": "Napíšte svoj úvodný príspevok...",
"postThread": "Uverejniť vlákno", "postThread": "Uverejniť vlákno",
"cancel": "Zrušiť" "cancel": "Zrušiť",
"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": { "shop": {
"title": "Obchod", "title": "Obchod",
@@ -286,7 +360,22 @@
"allPackages": "Všetky balíčky", "allPackages": "Všetky balíčky",
"packagesAvailable": "{count, plural, one {# package available} other {# packages available}}", "packagesAvailable": "{count, plural, one {# package available} other {# packages available}}",
"empty": "Momentálne nie sú k dispozícii žiadne balíčky.", "empty": "Momentálne nie sú k dispozícii žiadne balíčky.",
"buy": "Kúpiť" "buy": "Kúpiť",
"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": { "topup": {
"title": "Doplňte cez PayPal", "title": "Doplňte cez PayPal",
@@ -390,7 +479,16 @@
"colStatus": "Stav", "colStatus": "Stav",
"colCreated": "Vytvorené", "colCreated": "Vytvorené",
"statusOpen": "Otvorte", "statusOpen": "Otvorte",
"statusClosed": "Zatvorené" "statusClosed": "Zatvorené",
"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."
}
}, },
"applyStaff": { "applyStaff": {
"title": "Požiadajte o personál {hotel}", "title": "Požiadajte o personál {hotel}",
@@ -402,7 +500,17 @@
"alreadyApplied": "Už ste požiadali o {rank}", "alreadyApplied": "Už ste požiadali o {rank}",
"aboutYou": "O vás", "aboutYou": "O vás",
"aboutPlaceholder": "Povedzte nám, prečo by ste boli skvelým {rank}…", "aboutPlaceholder": "Povedzte nám, prečo by ste boli skvelým {rank}…",
"applyFor": "Požiadať o {rank}" "applyFor": "Požiadať o {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": { "applyTeam": {
"title": "Prihláste sa do tímu {hotel}", "title": "Prihláste sa do tímu {hotel}",
@@ -412,7 +520,17 @@
"pending": "Vaša žiadosť čaká na spracovanie", "pending": "Vaša žiadosť čaká na spracovanie",
"aboutYou": "O vás", "aboutYou": "O vás",
"aboutPlaceholder": "Povedzte nám, prečo by ste sa skvele hodili na {rank}…", "aboutPlaceholder": "Povedzte nám, prečo by ste sa skvele hodili na {rank}…",
"applyFor": "Požiadať o {rank}" "applyFor": "Požiadať o {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": { "radio": {
"title": "Rádio", "title": "Rádio",
@@ -467,7 +585,16 @@
"loginToPost": "Ak chcete uverejniť výkrik, prihláste sa.", "loginToPost": "Ak chcete uverejniť výkrik, prihláste sa.",
"latestTitle": "Najnovšie výkriky", "latestTitle": "Najnovšie výkriky",
"latestSubtitle": "Najnovšie správy od poslucháčov", "latestSubtitle": "Najnovšie správy od poslucháčov",
"empty": "Zatiaľ žiadne výkriky. Buďte prvý!" "empty": "Zatiaľ žiadne výkriky. Buďte prvý!",
"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": { "radioContests": {
"title": "Rádiové súťaže", "title": "Rádiové súťaže",
@@ -511,7 +638,16 @@
"colStatus": "Stav", "colStatus": "Stav",
"statusPending": "Čaká na spracovanie", "statusPending": "Čaká na spracovanie",
"statusApproved": "Schválené", "statusApproved": "Schválené",
"statusPlayed": "Hrané" "statusPlayed": "Hrané",
"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."
}
}, },
"client": { "client": {
"title": "Nitro klient", "title": "Nitro klient",
@@ -549,7 +685,15 @@
"experiencePlaceholder": "Máte nejaké predchádzajúce skúsenosti s DJ-om alebo hosťovaním?", "experiencePlaceholder": "Máte nejaké predchádzajúce skúsenosti s DJ-om alebo hosťovaním?",
"motivationLabel": "Motivácia", "motivationLabel": "Motivácia",
"motivationPlaceholder": "Prečo sa chceš stať členom rozhlasového tímu?", "motivationPlaceholder": "Prečo sa chceš stať členom rozhlasového tímu?",
"submitButton": "Odoslať žiadosť" "submitButton": "Odoslať žiadosť",
"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": { "settings": {
"accountSettings": "Nastavenia účtu", "accountSettings": "Nastavenia účtu",
@@ -624,7 +768,9 @@
"errorInvalidCredentials": "Neplatné používateľské meno alebo heslo", "errorInvalidCredentials": "Neplatné používateľské meno alebo heslo",
"errorInvalid2fa": "Neplatný kód 2FA", "errorInvalid2fa": "Neplatný kód 2FA",
"welcomeBack": "Vitaj späť", "welcomeBack": "Vitaj späť",
"welcomeBackSub": "Prihlás sa pre pokračovanie do {hotelName}" "welcomeBackSub": "Prihlás sa pre pokračovanie do {hotelName}",
"errorUnverified": "Please verify your email before signing in.",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"register": { "register": {
"title": "Vytvoriť účet", "title": "Vytvoriť účet",
@@ -664,7 +810,8 @@
"sentNotice": "Ak je tento e-mail zaregistrovaný, bol odoslaný odkaz na obnovenie. Skontrolujte si doručenú poštu.", "sentNotice": "Ak je tento e-mail zaregistrovaný, bol odoslaný odkaz na obnovenie. Skontrolujte si doručenú poštu.",
"emailPlaceholder": "Váš email", "emailPlaceholder": "Váš email",
"sendResetLink": "Odoslať odkaz na obnovenie", "sendResetLink": "Odoslať odkaz na obnovenie",
"backToLogin": "Späť na prihlásenie" "backToLogin": "Späť na prihlásenie",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"reset": { "reset": {
"title": "Nastavte si nové heslo", "title": "Nastavte si nové heslo",
@@ -782,7 +929,19 @@
"hubCatalog": "Catalog & rares", "hubCatalog": "Catalog & rares",
"hubShop": "Shop & payments", "hubShop": "Shop & payments",
"hubTools": "Tools", "hubTools": "Tools",
"hubObservability": "Observability" "hubObservability": "Observability",
"helpTickets": "Help-center tickets",
"marketplace": "Marketplace",
"expandAll": "Expand all",
"collapseAll": "Collapse all",
"community": "Community",
"monitoring": "Monitoring",
"staffAccess": "Ranks & permissions",
"multiAccounts": "Multi-accounts",
"chatLog": "Chat log",
"commandLog": "Command log",
"tradeLog": "Trade log",
"tools": "Tools"
}, },
"dashboard": { "dashboard": {
"title": "Dashboard", "title": "Dashboard",
@@ -935,7 +1094,14 @@
"saving": "Ukladá sa…", "saving": "Ukladá sa…",
"deleteAd": "Odstrániť inzerát", "deleteAd": "Odstrániť inzerát",
"cancel": "Zrušiť" "cancel": "Zrušiť"
} },
"deleteSuccess": "Advertisement deleted!",
"deleteError": "Failed to delete advertisement.",
"adsCount": "Total ads",
"latest": "Latest",
"mostRecentAd": "Most recent ad",
"allAds": "All advertisements",
"colPreview": "Preview"
}, },
"writeableBoxes": { "writeableBoxes": {
"title": "Zapisovateľné boxy", "title": "Zapisovateľné boxy",
@@ -1306,7 +1472,9 @@
"colPosition": "Position", "colPosition": "Position",
"colTransaction": "Transaction", "colTransaction": "Transaction",
"colUser": "User", "colUser": "User",
"colDescription": "Description" "colDescription": "Description",
"pageOf": "Page {page} of {lastPage}",
"packagesTotal": "{count} packages"
}, },
"transactions": { "transactions": {
"title": "Transakcie", "title": "Transakcie",
@@ -1894,7 +2062,35 @@
"userPrefix": "user", "userPrefix": "user",
"pagination": "Page {page} of {pages} · {total} total", "pagination": "Page {page} of {pages} · {total} total",
"next": "Next", "next": "Next",
"prev": "Previous" "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"
},
"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…"
}
}, },
"wordfilter": { "wordfilter": {
"title": "Filter slov", "title": "Filter slov",
@@ -2241,7 +2437,15 @@
"pets": "Pets", "pets": "Pets",
"petsDescription": "Import pet data and icons.", "petsDescription": "Import pet data and icons.",
"clone": "Clone", "clone": "Clone",
"cloneDescription": "Clone existing items from one source to another." "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": { "translations": {
"title": "Translations", "title": "Translations",
@@ -2388,9 +2592,402 @@
"devops": "DevOps", "devops": "DevOps",
"errors": "Errors", "errors": "Errors",
"alerts": "Alerts", "alerts": "Alerts",
"toolsGroup": "Tools" "toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
},
"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"
},
"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."
}
},
"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"
} }
} }
},
"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"
}
},
"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:"
} }
} }
} }
+619 -22
View File
@@ -21,7 +21,9 @@
"admin": "Админ", "admin": "Админ",
"openMenu": "Отворите мени", "openMenu": "Отворите мени",
"closeMenu": "Затвори мени", "closeMenu": "Затвори мени",
"drawBadge": "Нацртај значку" "drawBadge": "Нацртај значку",
"events": "Events",
"polls": "Polls"
}, },
"header": { "header": {
"online": "{count} {hotel} на мрежи", "online": "{count} {hotel} на мрежи",
@@ -71,7 +73,16 @@
"emptySubtitle": "You have no friends added yet", "emptySubtitle": "You have no friends added yet",
"subtitle": "{count, plural, one {You have # friend} other {You have # friends}}", "subtitle": "{count, plural, one {You have # friend} other {You have # friends}}",
"emptyState": "Add friends in the hotel and they will show up here.", "emptyState": "Add friends in the hotel and they will show up here.",
"noMotto": "Нема мото" "noMotto": "Нема мото",
"remove": "Remove",
"success": {
"removed": "Friend removed."
},
"errors": {
"notFound": "That friendship was not found.",
"invalid": "Invalid friend.",
"error": "Something went wrong. Please try again."
}
}, },
"messages": { "messages": {
"title": "Поруке", "title": "Поруке",
@@ -86,7 +97,30 @@
"offlineEmptySubtitle": "Ваше пријемно сандуче је празно", "offlineEmptySubtitle": "Ваше пријемно сандуче је празно",
"offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}", "offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}",
"offlineEmptyState": "You have no offline messages.", "offlineEmptyState": "You have no offline messages.",
"unknownUser": "Корисник #{id}" "unknownUser": "Корисник #{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": { "profile": {
"noMotto": "Нема мото", "noMotto": "Нема мото",
@@ -114,7 +148,26 @@
"roomsTitle": "Собе", "roomsTitle": "Собе",
"roomsSubtitle": "Собе које поседују", "roomsSubtitle": "Собе које поседују",
"roomsEmpty": "Нема соба за приказ.", "roomsEmpty": "Нема соба за приказ.",
"roomUntitled": "Унтитлед роом" "roomUntitled": "Унтитлед роом",
"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": { "rankings": {
"title": "Ранкингс", "title": "Ранкингс",
@@ -180,7 +233,19 @@
"addComment": "Додајте коментар", "addComment": "Додајте коментар",
"commentPlaceholder": "Напишите свој коментар…", "commentPlaceholder": "Напишите свој коментар…",
"postComment": "Објавите коментар", "postComment": "Објавите коментар",
"toComment": "да оставите коментар." "toComment": "да оставите коментар.",
"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": { "photos": {
"title": "Фотографије", "title": "Фотографије",
@@ -264,7 +329,10 @@
"pinned": "Закачен", "pinned": "Закачен",
"locked": "Закључано", "locked": "Закључано",
"userNumber": "Корисник #{id}", "userNumber": "Корисник #{id}",
"unknown": "Непознато" "unknown": "Непознато",
"success": {
"posted": "Thread posted."
}
}, },
"guildForumNew": { "guildForumNew": {
"backToForum": "← Назад на форум", "backToForum": "← Назад на форум",
@@ -276,7 +344,13 @@
"messageLabel": "Порука", "messageLabel": "Порука",
"messagePlaceholder": "Write your opening post…", "messagePlaceholder": "Write your opening post…",
"postThread": "Пост тхреад", "postThread": "Пост тхреад",
"cancel": "Откажи" "cancel": "Откажи",
"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": { "shop": {
"title": "Схоп", "title": "Схоп",
@@ -286,7 +360,22 @@
"allPackages": "Сви пакети", "allPackages": "Сви пакети",
"packagesAvailable": "{count, plural, one {# package available} other {# packages available}}", "packagesAvailable": "{count, plural, one {# package available} other {# packages available}}",
"empty": "No packages available right now.", "empty": "No packages available right now.",
"buy": "Купи" "buy": "Купи",
"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": { "topup": {
"title": "Допуните преко ПаиПал-а", "title": "Допуните преко ПаиПал-а",
@@ -390,7 +479,16 @@
"colStatus": "Статус", "colStatus": "Статус",
"colCreated": "Цреатед", "colCreated": "Цреатед",
"statusOpen": "Отвори", "statusOpen": "Отвори",
"statusClosed": "Затворено" "statusClosed": "Затворено",
"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."
}
}, },
"applyStaff": { "applyStaff": {
"title": "Пријавите се за особље {hotel}", "title": "Пријавите се за особље {hotel}",
@@ -402,7 +500,17 @@
"alreadyApplied": "You have already applied for {rank}", "alreadyApplied": "You have already applied for {rank}",
"aboutYou": "О теби", "aboutYou": "О теби",
"aboutPlaceholder": "Tell us why you'd be a great {rank}…", "aboutPlaceholder": "Tell us why you'd be a great {rank}…",
"applyFor": "Пријавите се за {rank}" "applyFor": "Пријавите се за {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": { "applyTeam": {
"title": "Пријавите се за {hotel} тим", "title": "Пријавите се за {hotel} тим",
@@ -412,7 +520,17 @@
"pending": "Your application is pending", "pending": "Your application is pending",
"aboutYou": "О теби", "aboutYou": "О теби",
"aboutPlaceholder": "Tell us why you'd be a great fit for {rank}…", "aboutPlaceholder": "Tell us why you'd be a great fit for {rank}…",
"applyFor": "Пријавите се за {rank}" "applyFor": "Пријавите се за {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": { "radio": {
"title": "Радио", "title": "Радио",
@@ -467,7 +585,16 @@
"loginToPost": "Пријавите се да бисте објавили узвик.", "loginToPost": "Пријавите се да бисте објавили узвик.",
"latestTitle": "Најновији узвици", "latestTitle": "Најновији узвици",
"latestSubtitle": "Најновије поруке слушалаца", "latestSubtitle": "Најновије поруке слушалаца",
"empty": "Још нема вике. Будите први!" "empty": "Још нема вике. Будите први!",
"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": { "radioContests": {
"title": "Радио Цонтестс", "title": "Радио Цонтестс",
@@ -511,7 +638,16 @@
"colStatus": "Статус", "colStatus": "Статус",
"statusPending": "На чекању", "statusPending": "На чекању",
"statusApproved": "Одобрено", "statusApproved": "Одобрено",
"statusPlayed": "Играо" "statusPlayed": "Играо",
"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."
}
}, },
"client": { "client": {
"title": "Нитро клијент", "title": "Нитро клијент",
@@ -549,7 +685,15 @@
"experiencePlaceholder": "Any prior DJ or hosting experience?", "experiencePlaceholder": "Any prior DJ or hosting experience?",
"motivationLabel": "Мотивација", "motivationLabel": "Мотивација",
"motivationPlaceholder": "Why do you want to join the radio team?", "motivationPlaceholder": "Why do you want to join the radio team?",
"submitButton": "Пошаљите пријаву" "submitButton": "Пошаљите пријаву",
"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": { "settings": {
"accountSettings": "Подешавања налога", "accountSettings": "Подешавања налога",
@@ -624,7 +768,9 @@
"errorInvalidCredentials": "Неважеће корисничко име или лозинка", "errorInvalidCredentials": "Неважеће корисничко име или лозинка",
"errorInvalid2fa": "Неважећи 2ФА код", "errorInvalid2fa": "Неважећи 2ФА код",
"welcomeBack": "Добродошао назад", "welcomeBack": "Добродошао назад",
"welcomeBackSub": "Пријави се да наставиш ка {hotelName}" "welcomeBackSub": "Пријави се да наставиш ка {hotelName}",
"errorUnverified": "Please verify your email before signing in.",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"register": { "register": {
"title": "Креирајте налог", "title": "Креирајте налог",
@@ -664,7 +810,8 @@
"sentNotice": "Ако је тај емаил регистрован, послата је веза за ресетовање. Проверите пријемно сандуче.", "sentNotice": "Ако је тај емаил регистрован, послата је веза за ресетовање. Проверите пријемно сандуче.",
"emailPlaceholder": "Ваш емаил", "emailPlaceholder": "Ваш емаил",
"sendResetLink": "Пошаљи везу за ресетовање", "sendResetLink": "Пошаљи везу за ресетовање",
"backToLogin": "Назад на пријаву" "backToLogin": "Назад на пријаву",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"reset": { "reset": {
"title": "Поставите нову лозинку", "title": "Поставите нову лозинку",
@@ -782,7 +929,19 @@
"hubCatalog": "Catalog & rares", "hubCatalog": "Catalog & rares",
"hubShop": "Shop & payments", "hubShop": "Shop & payments",
"hubTools": "Tools", "hubTools": "Tools",
"hubObservability": "Observability" "hubObservability": "Observability",
"helpTickets": "Help-center tickets",
"marketplace": "Marketplace",
"expandAll": "Expand all",
"collapseAll": "Collapse all",
"community": "Community",
"monitoring": "Monitoring",
"staffAccess": "Ranks & permissions",
"multiAccounts": "Multi-accounts",
"chatLog": "Chat log",
"commandLog": "Command log",
"tradeLog": "Trade log",
"tools": "Tools"
}, },
"dashboard": { "dashboard": {
"title": "Дасхбоард", "title": "Дасхбоард",
@@ -935,7 +1094,14 @@
"saving": "Чување…", "saving": "Чување…",
"deleteAd": "Избриши оглас", "deleteAd": "Избриши оглас",
"cancel": "Откажи" "cancel": "Откажи"
} },
"deleteSuccess": "Advertisement deleted!",
"deleteError": "Failed to delete advertisement.",
"adsCount": "Total ads",
"latest": "Latest",
"mostRecentAd": "Most recent ad",
"allAds": "All advertisements",
"colPreview": "Preview"
}, },
"writeableBoxes": { "writeableBoxes": {
"title": "Кутије за писање", "title": "Кутије за писање",
@@ -1306,7 +1472,9 @@
"colPosition": "Position", "colPosition": "Position",
"colTransaction": "Transaction", "colTransaction": "Transaction",
"colUser": "User", "colUser": "User",
"colDescription": "Description" "colDescription": "Description",
"pageOf": "Page {page} of {lastPage}",
"packagesTotal": "{count} packages"
}, },
"transactions": { "transactions": {
"title": "Трансакције", "title": "Трансакције",
@@ -1894,7 +2062,35 @@
"userPrefix": "user", "userPrefix": "user",
"pagination": "Page {page} of {pages} · {total} total", "pagination": "Page {page} of {pages} · {total} total",
"next": "Next", "next": "Next",
"prev": "Previous" "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"
},
"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…"
}
}, },
"wordfilter": { "wordfilter": {
"title": "Филтер речи", "title": "Филтер речи",
@@ -2241,7 +2437,15 @@
"pets": "Pets", "pets": "Pets",
"petsDescription": "Import pet data and icons.", "petsDescription": "Import pet data and icons.",
"clone": "Clone", "clone": "Clone",
"cloneDescription": "Clone existing items from one source to another." "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": { "translations": {
"title": "Translations", "title": "Translations",
@@ -2388,9 +2592,402 @@
"devops": "DevOps", "devops": "DevOps",
"errors": "Errors", "errors": "Errors",
"alerts": "Alerts", "alerts": "Alerts",
"toolsGroup": "Tools" "toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
},
"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"
},
"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."
}
},
"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"
} }
} }
},
"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"
}
},
"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:"
} }
} }
} }
+619 -22
View File
@@ -21,7 +21,9 @@
"admin": "Admin", "admin": "Admin",
"openMenu": "Öppna menyn", "openMenu": "Öppna menyn",
"closeMenu": "Stäng menyn", "closeMenu": "Stäng menyn",
"drawBadge": "Rita märke" "drawBadge": "Rita märke",
"events": "Events",
"polls": "Polls"
}, },
"header": { "header": {
"online": "{count} {hotel} online", "online": "{count} {hotel} online",
@@ -71,7 +73,16 @@
"emptySubtitle": "Du har inga vänner lagt till än", "emptySubtitle": "Du har inga vänner lagt till än",
"subtitle": "{count, plural, one {You have # friend} other {You have # friends}}", "subtitle": "{count, plural, one {You have # friend} other {You have # friends}}",
"emptyState": "Lägg till vänner på hotellet så dyker de upp här.", "emptyState": "Lägg till vänner på hotellet så dyker de upp här.",
"noMotto": "Inget motto" "noMotto": "Inget 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": { "messages": {
"title": "Meddelanden", "title": "Meddelanden",
@@ -86,7 +97,30 @@
"offlineEmptySubtitle": "Din inkorg är tom", "offlineEmptySubtitle": "Din inkorg är tom",
"offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}", "offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}",
"offlineEmptyState": "Du har inga offlinemeddelanden.", "offlineEmptyState": "Du har inga offlinemeddelanden.",
"unknownUser": "Användare #{id}" "unknownUser": "Användare #{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": { "profile": {
"noMotto": "Inget motto", "noMotto": "Inget motto",
@@ -114,7 +148,26 @@
"roomsTitle": "Rum", "roomsTitle": "Rum",
"roomsSubtitle": "Rum de äger", "roomsSubtitle": "Rum de äger",
"roomsEmpty": "Inga rum att visa.", "roomsEmpty": "Inga rum att visa.",
"roomUntitled": "Namnlöst rum" "roomUntitled": "Namnlöst rum",
"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": { "rankings": {
"title": "Ranking", "title": "Ranking",
@@ -180,7 +233,19 @@
"addComment": "Lägg till en kommentar", "addComment": "Lägg till en kommentar",
"commentPlaceholder": "Skriv din kommentar...", "commentPlaceholder": "Skriv din kommentar...",
"postComment": "Skriv kommentar", "postComment": "Skriv kommentar",
"toComment": "för att lämna en kommentar." "toComment": "för att lämna 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": { "photos": {
"title": "Foton", "title": "Foton",
@@ -264,7 +329,10 @@
"pinned": "Fäst", "pinned": "Fäst",
"locked": "Låst", "locked": "Låst",
"userNumber": "Användare #{id}", "userNumber": "Användare #{id}",
"unknown": "Okänd" "unknown": "Okänd",
"success": {
"posted": "Thread posted."
}
}, },
"guildForumNew": { "guildForumNew": {
"backToForum": "← Tillbaka till forumet", "backToForum": "← Tillbaka till forumet",
@@ -276,7 +344,13 @@
"messageLabel": "Meddelande", "messageLabel": "Meddelande",
"messagePlaceholder": "Skriv ditt inledande inlägg...", "messagePlaceholder": "Skriv ditt inledande inlägg...",
"postThread": "Inlägg tråd", "postThread": "Inlägg tråd",
"cancel": "Avbryt" "cancel": "Avbryt",
"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": { "shop": {
"title": "Handla", "title": "Handla",
@@ -286,7 +360,22 @@
"allPackages": "Alla paket", "allPackages": "Alla paket",
"packagesAvailable": "{count, plural, one {# package available} other {# packages available}}", "packagesAvailable": "{count, plural, one {# package available} other {# packages available}}",
"empty": "Inga paket tillgängliga just nu.", "empty": "Inga paket tillgängliga just nu.",
"buy": "Köp" "buy": "Köp",
"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": { "topup": {
"title": "Fyll på med PayPal", "title": "Fyll på med PayPal",
@@ -390,7 +479,16 @@
"colStatus": "Status", "colStatus": "Status",
"colCreated": "Skapad", "colCreated": "Skapad",
"statusOpen": "Öppna", "statusOpen": "Öppna",
"statusClosed": "Stängt" "statusClosed": "Stängt",
"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."
}
}, },
"applyStaff": { "applyStaff": {
"title": "Ansök om {hotel} personal", "title": "Ansök om {hotel} personal",
@@ -402,7 +500,17 @@
"alreadyApplied": "Du har redan ansökt om {rank}", "alreadyApplied": "Du har redan ansökt om {rank}",
"aboutYou": "Om dig", "aboutYou": "Om dig",
"aboutPlaceholder": "Berätta för oss varför du skulle vara en stor {rank}...", "aboutPlaceholder": "Berätta för oss varför du skulle vara en stor {rank}...",
"applyFor": "Ansök om {rank}" "applyFor": "Ansök 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": { "applyTeam": {
"title": "Ansök till {hotel}-teamet", "title": "Ansök till {hotel}-teamet",
@@ -412,7 +520,17 @@
"pending": "Din ansökan väntar", "pending": "Din ansökan väntar",
"aboutYou": "Om dig", "aboutYou": "Om dig",
"aboutPlaceholder": "Berätta för oss varför du skulle passa bra för {rank}...", "aboutPlaceholder": "Berätta för oss varför du skulle passa bra för {rank}...",
"applyFor": "Ansök om {rank}" "applyFor": "Ansök 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": { "radio": {
"title": "Radio", "title": "Radio",
@@ -467,7 +585,16 @@
"loginToPost": "Logga in för att skicka ett rop.", "loginToPost": "Logga in för att skicka ett rop.",
"latestTitle": "Senaste ropen", "latestTitle": "Senaste ropen",
"latestSubtitle": "De senaste meddelandena från lyssnare", "latestSubtitle": "De senaste meddelandena från lyssnare",
"empty": "Inga rop än. Bli först!" "empty": "Inga rop än. Bli först!",
"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": { "radioContests": {
"title": "Radiotävlingar", "title": "Radiotävlingar",
@@ -511,7 +638,16 @@
"colStatus": "Status", "colStatus": "Status",
"statusPending": "Väntar", "statusPending": "Väntar",
"statusApproved": "Godkänd", "statusApproved": "Godkänd",
"statusPlayed": "Spelade" "statusPlayed": "Spelade",
"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."
}
}, },
"client": { "client": {
"title": "Nitro klient", "title": "Nitro klient",
@@ -549,7 +685,15 @@
"experiencePlaceholder": "Någon tidigare erfarenhet av DJ eller hosting?", "experiencePlaceholder": "Någon tidigare erfarenhet av DJ eller hosting?",
"motivationLabel": "Motivation", "motivationLabel": "Motivation",
"motivationPlaceholder": "Varför vill du gå med i radioteamet?", "motivationPlaceholder": "Varför vill du gå med i radioteamet?",
"submitButton": "Skicka in ansökan" "submitButton": "Skicka in ansökan",
"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": { "settings": {
"accountSettings": "Kontoinställningar", "accountSettings": "Kontoinställningar",
@@ -624,7 +768,9 @@
"errorInvalidCredentials": "Ogiltigt användarnamn eller lösenord", "errorInvalidCredentials": "Ogiltigt användarnamn eller lösenord",
"errorInvalid2fa": "Ogiltig 2FA-kod", "errorInvalid2fa": "Ogiltig 2FA-kod",
"welcomeBack": "Välkommen tillbaka", "welcomeBack": "Välkommen tillbaka",
"welcomeBackSub": "Logga in för att fortsätta till {hotelName}" "welcomeBackSub": "Logga in för att fortsätta till {hotelName}",
"errorUnverified": "Please verify your email before signing in.",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"register": { "register": {
"title": "Skapa konto", "title": "Skapa konto",
@@ -664,7 +810,8 @@
"sentNotice": "Om det e-postmeddelandet är registrerat har en återställningslänk skickats. Kontrollera din inkorg.", "sentNotice": "Om det e-postmeddelandet är registrerat har en återställningslänk skickats. Kontrollera din inkorg.",
"emailPlaceholder": "Din e-post", "emailPlaceholder": "Din e-post",
"sendResetLink": "Skicka återställningslänk", "sendResetLink": "Skicka återställningslänk",
"backToLogin": "Tillbaka till inloggning" "backToLogin": "Tillbaka till inloggning",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"reset": { "reset": {
"title": "Ange ett nytt lösenord", "title": "Ange ett nytt lösenord",
@@ -782,7 +929,19 @@
"hubCatalog": "Catalog & rares", "hubCatalog": "Catalog & rares",
"hubShop": "Shop & payments", "hubShop": "Shop & payments",
"hubTools": "Tools", "hubTools": "Tools",
"hubObservability": "Observability" "hubObservability": "Observability",
"helpTickets": "Help-center tickets",
"marketplace": "Marketplace",
"expandAll": "Expand all",
"collapseAll": "Collapse all",
"community": "Community",
"monitoring": "Monitoring",
"staffAccess": "Ranks & permissions",
"multiAccounts": "Multi-accounts",
"chatLog": "Chat log",
"commandLog": "Command log",
"tradeLog": "Trade log",
"tools": "Tools"
}, },
"dashboard": { "dashboard": {
"title": "Instrumentbräda", "title": "Instrumentbräda",
@@ -935,7 +1094,14 @@
"saving": "Sparar...", "saving": "Sparar...",
"deleteAd": "Ta bort annonsen", "deleteAd": "Ta bort annonsen",
"cancel": "Avbryt" "cancel": "Avbryt"
} },
"deleteSuccess": "Advertisement deleted!",
"deleteError": "Failed to delete advertisement.",
"adsCount": "Total ads",
"latest": "Latest",
"mostRecentAd": "Most recent ad",
"allAds": "All advertisements",
"colPreview": "Preview"
}, },
"writeableBoxes": { "writeableBoxes": {
"title": "Skrivbara lådor", "title": "Skrivbara lådor",
@@ -1306,7 +1472,9 @@
"colPosition": "Position", "colPosition": "Position",
"colTransaction": "Transaction", "colTransaction": "Transaction",
"colUser": "User", "colUser": "User",
"colDescription": "Description" "colDescription": "Description",
"pageOf": "Page {page} of {lastPage}",
"packagesTotal": "{count} packages"
}, },
"transactions": { "transactions": {
"title": "Transaktioner", "title": "Transaktioner",
@@ -1894,7 +2062,35 @@
"userPrefix": "user", "userPrefix": "user",
"pagination": "Page {page} of {pages} · {total} total", "pagination": "Page {page} of {pages} · {total} total",
"next": "Next", "next": "Next",
"prev": "Previous" "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"
},
"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…"
}
}, },
"wordfilter": { "wordfilter": {
"title": "Ordfilter", "title": "Ordfilter",
@@ -2241,7 +2437,15 @@
"pets": "Pets", "pets": "Pets",
"petsDescription": "Import pet data and icons.", "petsDescription": "Import pet data and icons.",
"clone": "Clone", "clone": "Clone",
"cloneDescription": "Clone existing items from one source to another." "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": { "translations": {
"title": "Translations", "title": "Translations",
@@ -2388,9 +2592,402 @@
"devops": "DevOps", "devops": "DevOps",
"errors": "Errors", "errors": "Errors",
"alerts": "Alerts", "alerts": "Alerts",
"toolsGroup": "Tools" "toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
},
"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"
},
"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."
}
},
"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"
} }
} }
},
"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"
}
},
"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:"
} }
} }
} }
+619 -22
View File
@@ -21,7 +21,9 @@
"admin": "Yönetici", "admin": "Yönetici",
"openMenu": "Menüyü aç", "openMenu": "Menüyü aç",
"closeMenu": "Menüyü kapat", "closeMenu": "Menüyü kapat",
"drawBadge": "Rozet çiz" "drawBadge": "Rozet çiz",
"events": "Events",
"polls": "Polls"
}, },
"header": { "header": {
"online": "{count} {hotel} çevrimiçi", "online": "{count} {hotel} çevrimiçi",
@@ -71,7 +73,16 @@
"emptySubtitle": "Henüz hiç arkadaşınız eklenmedi", "emptySubtitle": "Henüz hiç arkadaşınız eklenmedi",
"subtitle": "{count, plural, one {You have # friend} other {You have # friends}}", "subtitle": "{count, plural, one {You have # friend} other {You have # friends}}",
"emptyState": "Otele arkadaşlarınızı ekleyin, burada görünecekler.", "emptyState": "Otele arkadaşlarınızı ekleyin, burada görünecekler.",
"noMotto": "Slogan yok" "noMotto": "Slogan yok",
"remove": "Remove",
"success": {
"removed": "Friend removed."
},
"errors": {
"notFound": "That friendship was not found.",
"invalid": "Invalid friend.",
"error": "Something went wrong. Please try again."
}
}, },
"messages": { "messages": {
"title": "Mesajlar", "title": "Mesajlar",
@@ -86,7 +97,30 @@
"offlineEmptySubtitle": "Gelen kutunuz boş", "offlineEmptySubtitle": "Gelen kutunuz boş",
"offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}", "offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}",
"offlineEmptyState": "Çevrimdışı mesajınız yok.", "offlineEmptyState": "Çevrimdışı mesajınız yok.",
"unknownUser": "Kullanıcı #{id}" "unknownUser": "Kullanıcı #{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": { "profile": {
"noMotto": "Slogan yok", "noMotto": "Slogan yok",
@@ -114,7 +148,26 @@
"roomsTitle": "Odalar", "roomsTitle": "Odalar",
"roomsSubtitle": "Sahip oldukları odalar", "roomsSubtitle": "Sahip oldukları odalar",
"roomsEmpty": "Gösterilecek oda yok.", "roomsEmpty": "Gösterilecek oda yok.",
"roomUntitled": "Başlıksız oda" "roomUntitled": "Başlıksız oda",
"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": { "rankings": {
"title": "Sıralamalar", "title": "Sıralamalar",
@@ -180,7 +233,19 @@
"addComment": "Yorum ekle", "addComment": "Yorum ekle",
"commentPlaceholder": "Yorumunuzu yazın…", "commentPlaceholder": "Yorumunuzu yazın…",
"postComment": "Yorum gönder", "postComment": "Yorum gönder",
"toComment": "Yorum bırakmak için." "toComment": "Yorum bırakmak için.",
"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": { "photos": {
"title": "Fotoğraflar", "title": "Fotoğraflar",
@@ -264,7 +329,10 @@
"pinned": "Sabitlendi", "pinned": "Sabitlendi",
"locked": "Kilitli", "locked": "Kilitli",
"userNumber": "Kullanıcı #{id}", "userNumber": "Kullanıcı #{id}",
"unknown": "Bilinmiyor" "unknown": "Bilinmiyor",
"success": {
"posted": "Thread posted."
}
}, },
"guildForumNew": { "guildForumNew": {
"backToForum": "← Foruma geri dön", "backToForum": "← Foruma geri dön",
@@ -276,7 +344,13 @@
"messageLabel": "Mesaj", "messageLabel": "Mesaj",
"messagePlaceholder": "Açılış yazınızı yazın…", "messagePlaceholder": "Açılış yazınızı yazın…",
"postThread": "Konuyu gönder", "postThread": "Konuyu gönder",
"cancel": "İptal" "cancel": "İptal",
"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": { "shop": {
"title": "Mağaza", "title": "Mağaza",
@@ -286,7 +360,22 @@
"allPackages": "Tüm paketler", "allPackages": "Tüm paketler",
"packagesAvailable": "{count, plural, one {# package available} other {# packages available}}", "packagesAvailable": "{count, plural, one {# package available} other {# packages available}}",
"empty": "Şu anda mevcut paket yok.", "empty": "Şu anda mevcut paket yok.",
"buy": "Satın al" "buy": "Satın al",
"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": { "topup": {
"title": "PayPal ile yükleme yapın", "title": "PayPal ile yükleme yapın",
@@ -390,7 +479,16 @@
"colStatus": "Durum", "colStatus": "Durum",
"colCreated": "Oluşturuldu", "colCreated": "Oluşturuldu",
"statusOpen": "Açık", "statusOpen": "Açık",
"statusClosed": "Kapalı" "statusClosed": "Kapalı",
"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."
}
}, },
"applyStaff": { "applyStaff": {
"title": "{hotel} personeli için başvur", "title": "{hotel} personeli için başvur",
@@ -402,7 +500,17 @@
"alreadyApplied": "{rank} için zaten başvuruda bulundunuz", "alreadyApplied": "{rank} için zaten başvuruda bulundunuz",
"aboutYou": "senin hakkında", "aboutYou": "senin hakkında",
"aboutPlaceholder": "Bize neden harika bir {rank} olacağınızı söyleyin…", "aboutPlaceholder": "Bize neden harika bir {rank} olacağınızı söyleyin…",
"applyFor": "{rank} için başvur" "applyFor": "{rank} için başvur",
"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": { "applyTeam": {
"title": "{hotel} ekibine başvurun", "title": "{hotel} ekibine başvurun",
@@ -412,7 +520,17 @@
"pending": "Başvurunuz beklemede", "pending": "Başvurunuz beklemede",
"aboutYou": "senin hakkında", "aboutYou": "senin hakkında",
"aboutPlaceholder": "Bize neden {rank} için çok uygun olduğunuzu anlatın…", "aboutPlaceholder": "Bize neden {rank} için çok uygun olduğunuzu anlatın…",
"applyFor": "{rank} için başvur" "applyFor": "{rank} için başvur",
"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": { "radio": {
"title": "Radyo", "title": "Radyo",
@@ -467,7 +585,16 @@
"loginToPost": "Bir duyuru göndermek için giriş yapın.", "loginToPost": "Bir duyuru göndermek için giriş yapın.",
"latestTitle": "En son bağırışlar", "latestTitle": "En son bağırışlar",
"latestSubtitle": "Dinleyicilerden gelen en son mesajlar", "latestSubtitle": "Dinleyicilerden gelen en son mesajlar",
"empty": "Henüz bağırış yok. İlk siz olun!" "empty": "Henüz bağırış yok. İlk siz olun!",
"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": { "radioContests": {
"title": "Radyo Yarışmaları", "title": "Radyo Yarışmaları",
@@ -511,7 +638,16 @@
"colStatus": "Durum", "colStatus": "Durum",
"statusPending": "Beklemede", "statusPending": "Beklemede",
"statusApproved": "Onaylandı", "statusApproved": "Onaylandı",
"statusPlayed": "Oynandı" "statusPlayed": "Oynandı",
"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."
}
}, },
"client": { "client": {
"title": "Nitro istemcisi", "title": "Nitro istemcisi",
@@ -549,7 +685,15 @@
"experiencePlaceholder": "Daha önce DJ veya hosting deneyiminiz var mı?", "experiencePlaceholder": "Daha önce DJ veya hosting deneyiminiz var mı?",
"motivationLabel": "Motivasyon", "motivationLabel": "Motivasyon",
"motivationPlaceholder": "Neden radyo ekibine katılmak istiyorsunuz?", "motivationPlaceholder": "Neden radyo ekibine katılmak istiyorsunuz?",
"submitButton": "Başvuruyu gönder" "submitButton": "Başvuruyu gönder",
"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": { "settings": {
"accountSettings": "Hesap ayarları", "accountSettings": "Hesap ayarları",
@@ -624,7 +768,9 @@
"errorInvalidCredentials": "Geçersiz kullanıcı adı veya şifre", "errorInvalidCredentials": "Geçersiz kullanıcı adı veya şifre",
"errorInvalid2fa": "Geçersiz 2FA kodu", "errorInvalid2fa": "Geçersiz 2FA kodu",
"welcomeBack": "Tekrar hoş geldin", "welcomeBack": "Tekrar hoş geldin",
"welcomeBackSub": "{hotelName} devam etmek için giriş yap" "welcomeBackSub": "{hotelName} devam etmek için giriş yap",
"errorUnverified": "Please verify your email before signing in.",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"register": { "register": {
"title": "Hesap oluştur", "title": "Hesap oluştur",
@@ -664,7 +810,8 @@
"sentNotice": "Bu e-posta kayıtlıysa, bir sıfırlama bağlantısı gönderilmiştir. Gelen kutunuzu kontrol edin.", "sentNotice": "Bu e-posta kayıtlıysa, bir sıfırlama bağlantısı gönderilmiştir. Gelen kutunuzu kontrol edin.",
"emailPlaceholder": "E-postanız", "emailPlaceholder": "E-postanız",
"sendResetLink": "Sıfırlama bağlantısını gönder", "sendResetLink": "Sıfırlama bağlantısını gönder",
"backToLogin": "Girişe geri dön" "backToLogin": "Girişe geri dön",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"reset": { "reset": {
"title": "Yeni bir şifre belirleyin", "title": "Yeni bir şifre belirleyin",
@@ -782,7 +929,19 @@
"hubCatalog": "Catalog & rares", "hubCatalog": "Catalog & rares",
"hubShop": "Shop & payments", "hubShop": "Shop & payments",
"hubTools": "Tools", "hubTools": "Tools",
"hubObservability": "Observability" "hubObservability": "Observability",
"helpTickets": "Help-center tickets",
"marketplace": "Marketplace",
"expandAll": "Expand all",
"collapseAll": "Collapse all",
"community": "Community",
"monitoring": "Monitoring",
"staffAccess": "Ranks & permissions",
"multiAccounts": "Multi-accounts",
"chatLog": "Chat log",
"commandLog": "Command log",
"tradeLog": "Trade log",
"tools": "Tools"
}, },
"dashboard": { "dashboard": {
"title": "Kontrol Paneli", "title": "Kontrol Paneli",
@@ -935,7 +1094,14 @@
"saving": "Kaydediliyor…", "saving": "Kaydediliyor…",
"deleteAd": "Reklamı sil", "deleteAd": "Reklamı sil",
"cancel": "İptal" "cancel": "İptal"
} },
"deleteSuccess": "Advertisement deleted!",
"deleteError": "Failed to delete advertisement.",
"adsCount": "Total ads",
"latest": "Latest",
"mostRecentAd": "Most recent ad",
"allAds": "All advertisements",
"colPreview": "Preview"
}, },
"writeableBoxes": { "writeableBoxes": {
"title": "Yazılabilir Kutular", "title": "Yazılabilir Kutular",
@@ -1306,7 +1472,9 @@
"colPosition": "Position", "colPosition": "Position",
"colTransaction": "Transaction", "colTransaction": "Transaction",
"colUser": "User", "colUser": "User",
"colDescription": "Description" "colDescription": "Description",
"pageOf": "Page {page} of {lastPage}",
"packagesTotal": "{count} packages"
}, },
"transactions": { "transactions": {
"title": "İşlemler", "title": "İşlemler",
@@ -1894,7 +2062,35 @@
"userPrefix": "user", "userPrefix": "user",
"pagination": "Page {page} of {pages} · {total} total", "pagination": "Page {page} of {pages} · {total} total",
"next": "Next", "next": "Next",
"prev": "Previous" "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"
},
"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…"
}
}, },
"wordfilter": { "wordfilter": {
"title": "Kelime Filtresi", "title": "Kelime Filtresi",
@@ -2241,7 +2437,15 @@
"pets": "Pets", "pets": "Pets",
"petsDescription": "Import pet data and icons.", "petsDescription": "Import pet data and icons.",
"clone": "Clone", "clone": "Clone",
"cloneDescription": "Clone existing items from one source to another." "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": { "translations": {
"title": "Translations", "title": "Translations",
@@ -2388,9 +2592,402 @@
"devops": "DevOps", "devops": "DevOps",
"errors": "Errors", "errors": "Errors",
"alerts": "Alerts", "alerts": "Alerts",
"toolsGroup": "Tools" "toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
},
"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"
},
"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."
}
},
"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"
} }
} }
},
"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"
}
},
"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:"
} }
} }
} }
+619 -22
View File
@@ -21,7 +21,9 @@
"admin": "адмін", "admin": "адмін",
"openMenu": "Відкрити меню", "openMenu": "Відкрити меню",
"closeMenu": "Закрити меню", "closeMenu": "Закрити меню",
"drawBadge": "Намалюйте значок" "drawBadge": "Намалюйте значок",
"events": "Events",
"polls": "Polls"
}, },
"header": { "header": {
"online": "{count} {hotel} онлайн", "online": "{count} {hotel} онлайн",
@@ -71,7 +73,16 @@
"emptySubtitle": "Ви ще не додали друзів", "emptySubtitle": "Ви ще не додали друзів",
"subtitle": "{count, plural, one {You have # friend} other {You have # friends}}", "subtitle": "{count, plural, one {You have # friend} other {You have # friends}}",
"emptyState": "Додайте друзів у готель, і вони з’являться тут.", "emptyState": "Додайте друзів у готель, і вони з’являться тут.",
"noMotto": "Без девізу" "noMotto": "Без девізу",
"remove": "Remove",
"success": {
"removed": "Friend removed."
},
"errors": {
"notFound": "That friendship was not found.",
"invalid": "Invalid friend.",
"error": "Something went wrong. Please try again."
}
}, },
"messages": { "messages": {
"title": "Повідомлення", "title": "Повідомлення",
@@ -86,7 +97,30 @@
"offlineEmptySubtitle": "Ваша папка \"Вхідні\" порожня", "offlineEmptySubtitle": "Ваша папка \"Вхідні\" порожня",
"offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}", "offlineSubtitle": "{count, plural, one {# message received} other {# messages received}}",
"offlineEmptyState": "У вас немає офлайн-повідомлень.", "offlineEmptyState": "У вас немає офлайн-повідомлень.",
"unknownUser": "Користувач #{id}" "unknownUser": "Користувач #{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": { "profile": {
"noMotto": "Без девізу", "noMotto": "Без девізу",
@@ -114,7 +148,26 @@
"roomsTitle": "Кімнати", "roomsTitle": "Кімнати",
"roomsSubtitle": "Кімнати у них є", "roomsSubtitle": "Кімнати у них є",
"roomsEmpty": "Немає кімнат для показу.", "roomsEmpty": "Немає кімнат для показу.",
"roomUntitled": "Кімната без назви" "roomUntitled": "Кімната без назви",
"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": { "rankings": {
"title": "Рейтинги", "title": "Рейтинги",
@@ -180,7 +233,19 @@
"addComment": "Додайте коментар", "addComment": "Додайте коментар",
"commentPlaceholder": "Напишіть свій коментар…", "commentPlaceholder": "Напишіть свій коментар…",
"postComment": "Опублікувати коментар", "postComment": "Опублікувати коментар",
"toComment": "щоб залишити коментар." "toComment": "щоб залишити коментар.",
"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": { "photos": {
"title": "Фотографії", "title": "Фотографії",
@@ -264,7 +329,10 @@
"pinned": "Закріплено", "pinned": "Закріплено",
"locked": "Заблоковано", "locked": "Заблоковано",
"userNumber": "Користувач #{id}", "userNumber": "Користувач #{id}",
"unknown": "Невідомий" "unknown": "Невідомий",
"success": {
"posted": "Thread posted."
}
}, },
"guildForumNew": { "guildForumNew": {
"backToForum": "← Повернутися на форум", "backToForum": "← Повернутися на форум",
@@ -276,7 +344,13 @@
"messageLabel": "повідомлення", "messageLabel": "повідомлення",
"messagePlaceholder": "Напишіть свій вступний пост…", "messagePlaceholder": "Напишіть свій вступний пост…",
"postThread": "Опублікувати тему", "postThread": "Опублікувати тему",
"cancel": "Скасувати" "cancel": "Скасувати",
"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": { "shop": {
"title": "Магазин", "title": "Магазин",
@@ -286,7 +360,22 @@
"allPackages": "Всі пакети", "allPackages": "Всі пакети",
"packagesAvailable": "{count, plural, one {# package available} other {# packages available}}", "packagesAvailable": "{count, plural, one {# package available} other {# packages available}}",
"empty": "Зараз немає доступних пакетів.", "empty": "Зараз немає доступних пакетів.",
"buy": "купити" "buy": "купити",
"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": { "topup": {
"title": "Поповнити через PayPal", "title": "Поповнити через PayPal",
@@ -390,7 +479,16 @@
"colStatus": "Статус", "colStatus": "Статус",
"colCreated": "Створено", "colCreated": "Створено",
"statusOpen": "відкритий", "statusOpen": "відкритий",
"statusClosed": "Закрито" "statusClosed": "Закрито",
"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."
}
}, },
"applyStaff": { "applyStaff": {
"title": "Подайте заявку на роботу в {hotel}", "title": "Подайте заявку на роботу в {hotel}",
@@ -402,7 +500,17 @@
"alreadyApplied": "Ви вже подали заявку на {rank}", "alreadyApplied": "Ви вже подали заявку на {rank}",
"aboutYou": "Про вас", "aboutYou": "Про вас",
"aboutPlaceholder": "Розкажіть нам, чому ви стали б чудовим {rank}…", "aboutPlaceholder": "Розкажіть нам, чому ви стали б чудовим {rank}…",
"applyFor": "Подати заявку на {rank}" "applyFor": "Подати заявку на {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": { "applyTeam": {
"title": "Подайте заявку в команду {hotel}", "title": "Подайте заявку в команду {hotel}",
@@ -412,7 +520,17 @@
"pending": "Ваша заявка очікує на розгляд", "pending": "Ваша заявка очікує на розгляд",
"aboutYou": "Про вас", "aboutYou": "Про вас",
"aboutPlaceholder": "Розкажіть нам, чому вам підійде {rank}…", "aboutPlaceholder": "Розкажіть нам, чому вам підійде {rank}…",
"applyFor": "Подати заявку на {rank}" "applyFor": "Подати заявку на {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": { "radio": {
"title": "радіо", "title": "радіо",
@@ -467,7 +585,16 @@
"loginToPost": "Увійдіть, щоб опублікувати крик.", "loginToPost": "Увійдіть, щоб опублікувати крик.",
"latestTitle": "Останні крики", "latestTitle": "Останні крики",
"latestSubtitle": "Найновіші повідомлення від слухачів", "latestSubtitle": "Найновіші повідомлення від слухачів",
"empty": "Ще немає криків. Будь першим!" "empty": "Ще немає криків. Будь першим!",
"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": { "radioContests": {
"title": "Радіоконкурси", "title": "Радіоконкурси",
@@ -511,7 +638,16 @@
"colStatus": "Статус", "colStatus": "Статус",
"statusPending": "В очікуванні", "statusPending": "В очікуванні",
"statusApproved": "Затверджено", "statusApproved": "Затверджено",
"statusPlayed": "Грав" "statusPlayed": "Грав",
"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."
}
}, },
"client": { "client": {
"title": "Клієнт Nitro", "title": "Клієнт Nitro",
@@ -549,7 +685,15 @@
"experiencePlaceholder": "Маєте попередній досвід ді-джея чи хостингу?", "experiencePlaceholder": "Маєте попередній досвід ді-джея чи хостингу?",
"motivationLabel": "Мотивація", "motivationLabel": "Мотивація",
"motivationPlaceholder": "Чому ви хочете приєднатися до команди радіо?", "motivationPlaceholder": "Чому ви хочете приєднатися до команди радіо?",
"submitButton": "Подати заявку" "submitButton": "Подати заявку",
"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": { "settings": {
"accountSettings": "Налаштування облікового запису", "accountSettings": "Налаштування облікового запису",
@@ -624,7 +768,9 @@
"errorInvalidCredentials": "Недійсне ім'я користувача або пароль", "errorInvalidCredentials": "Недійсне ім'я користувача або пароль",
"errorInvalid2fa": "Недійсний код 2FA", "errorInvalid2fa": "Недійсний код 2FA",
"welcomeBack": "З поверненням", "welcomeBack": "З поверненням",
"welcomeBackSub": "Увійди, щоб продовжити в {hotelName}" "welcomeBackSub": "Увійди, щоб продовжити в {hotelName}",
"errorUnverified": "Please verify your email before signing in.",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"register": { "register": {
"title": "Створити акаунт", "title": "Створити акаунт",
@@ -664,7 +810,8 @@
"sentNotice": "Якщо ця електронна адреса зареєстрована, буде надіслано посилання для скидання. Перевірте свою поштову скриньку.", "sentNotice": "Якщо ця електронна адреса зареєстрована, буде надіслано посилання для скидання. Перевірте свою поштову скриньку.",
"emailPlaceholder": "Ваш email", "emailPlaceholder": "Ваш email",
"sendResetLink": "Надіслати посилання для скидання", "sendResetLink": "Надіслати посилання для скидання",
"backToLogin": "Назад до входу" "backToLogin": "Назад до входу",
"errorCaptcha": "Captcha verification failed. Please try again."
}, },
"reset": { "reset": {
"title": "Встановіть новий пароль", "title": "Встановіть новий пароль",
@@ -782,7 +929,19 @@
"hubCatalog": "Catalog & rares", "hubCatalog": "Catalog & rares",
"hubShop": "Shop & payments", "hubShop": "Shop & payments",
"hubTools": "Tools", "hubTools": "Tools",
"hubObservability": "Observability" "hubObservability": "Observability",
"helpTickets": "Help-center tickets",
"marketplace": "Marketplace",
"expandAll": "Expand all",
"collapseAll": "Collapse all",
"community": "Community",
"monitoring": "Monitoring",
"staffAccess": "Ranks & permissions",
"multiAccounts": "Multi-accounts",
"chatLog": "Chat log",
"commandLog": "Command log",
"tradeLog": "Trade log",
"tools": "Tools"
}, },
"dashboard": { "dashboard": {
"title": "Приладова панель", "title": "Приладова панель",
@@ -935,7 +1094,14 @@
"saving": "Збереження…", "saving": "Збереження…",
"deleteAd": "Видалити оголошення", "deleteAd": "Видалити оголошення",
"cancel": "Скасувати" "cancel": "Скасувати"
} },
"deleteSuccess": "Advertisement deleted!",
"deleteError": "Failed to delete advertisement.",
"adsCount": "Total ads",
"latest": "Latest",
"mostRecentAd": "Most recent ad",
"allAds": "All advertisements",
"colPreview": "Preview"
}, },
"writeableBoxes": { "writeableBoxes": {
"title": "Коробки для запису", "title": "Коробки для запису",
@@ -1306,7 +1472,9 @@
"colPosition": "Position", "colPosition": "Position",
"colTransaction": "Transaction", "colTransaction": "Transaction",
"colUser": "User", "colUser": "User",
"colDescription": "Description" "colDescription": "Description",
"pageOf": "Page {page} of {lastPage}",
"packagesTotal": "{count} packages"
}, },
"transactions": { "transactions": {
"title": "транзакції", "title": "транзакції",
@@ -1894,7 +2062,35 @@
"userPrefix": "user", "userPrefix": "user",
"pagination": "Page {page} of {pages} · {total} total", "pagination": "Page {page} of {pages} · {total} total",
"next": "Next", "next": "Next",
"prev": "Previous" "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"
},
"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…"
}
}, },
"wordfilter": { "wordfilter": {
"title": "Фільтр Word", "title": "Фільтр Word",
@@ -2241,7 +2437,15 @@
"pets": "Pets", "pets": "Pets",
"petsDescription": "Import pet data and icons.", "petsDescription": "Import pet data and icons.",
"clone": "Clone", "clone": "Clone",
"cloneDescription": "Clone existing items from one source to another." "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": { "translations": {
"title": "Translations", "title": "Translations",
@@ -2388,9 +2592,402 @@
"devops": "DevOps", "devops": "DevOps",
"errors": "Errors", "errors": "Errors",
"alerts": "Alerts", "alerts": "Alerts",
"toolsGroup": "Tools" "toolsGroup": "Tools",
"helpTickets": "Help-center tickets"
},
"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"
},
"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."
}
},
"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"
} }
} }
},
"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"
}
},
"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:"
} }
} }
} }