From b78d6912813684fad8127e0452edf37c9dce2843 Mon Sep 17 00:00:00 2001 From: openhands Date: Fri, 17 Jul 2026 20:46:58 +0200 Subject: [PATCH] fix(i18n): add missing save/importTitle keys, sync admin keys across all languages --- src/messages/bg.json | 224 +++++++++++++++++++++++++++++++++++++++++-- src/messages/cs.json | 224 +++++++++++++++++++++++++++++++++++++++++-- src/messages/da.json | 224 +++++++++++++++++++++++++++++++++++++++++-- src/messages/de.json | 224 +++++++++++++++++++++++++++++++++++++++++-- src/messages/el.json | 224 +++++++++++++++++++++++++++++++++++++++++-- src/messages/en.json | 28 +++--- src/messages/es.json | 224 +++++++++++++++++++++++++++++++++++++++++-- src/messages/fr.json | 224 +++++++++++++++++++++++++++++++++++++++++-- src/messages/hr.json | 224 +++++++++++++++++++++++++++++++++++++++++-- src/messages/hu.json | 224 +++++++++++++++++++++++++++++++++++++++++-- src/messages/it.json | 25 ++++- src/messages/nl.json | 4 +- src/messages/no.json | 224 +++++++++++++++++++++++++++++++++++++++++-- src/messages/pl.json | 224 +++++++++++++++++++++++++++++++++++++++++-- src/messages/pt.json | 224 +++++++++++++++++++++++++++++++++++++++++-- src/messages/ro.json | 224 +++++++++++++++++++++++++++++++++++++++++-- src/messages/ru.json | 224 +++++++++++++++++++++++++++++++++++++++++-- src/messages/sk.json | 224 +++++++++++++++++++++++++++++++++++++++++-- src/messages/sr.json | 224 +++++++++++++++++++++++++++++++++++++++++-- src/messages/sv.json | 224 +++++++++++++++++++++++++++++++++++++++++-- src/messages/tr.json | 224 +++++++++++++++++++++++++++++++++++++++++-- src/messages/uk.json | 224 +++++++++++++++++++++++++++++++++++++++++-- 22 files changed, 4126 insertions(+), 187 deletions(-) diff --git a/src/messages/bg.json b/src/messages/bg.json index 336c6438..5b3c91a8 100644 --- a/src/messages/bg.json +++ b/src/messages/bg.json @@ -1277,7 +1277,18 @@ "save": "Запазване на пакета", "saving": "Запазва се...", "cancel": "Отказ" - } + }, + "recentOrders": "Recent orders", + "paidOrders": "Paid orders", + "ordersHint": "Latest PayPal transactions", + "colCredits": "Credits", + "colDuckets": "Duckets", + "colDiamonds": "Diamonds", + "colRank": "Rank", + "colPosition": "Position", + "colTransaction": "Transaction", + "colUser": "User", + "colDescription": "Description" }, "transactions": { "title": "Транзакции", @@ -1302,7 +1313,15 @@ "grossAmount": "Брутна сума", "fee": "Такса", "netAmount": "Нетна сума" - } + }, + "totalTransactions": "Total transactions", + "pagePaid": "Paid (this page)", + "pageFailed": "Failed (this page)", + "searchPlaceholder": "Search by user, transaction ID or package…", + "presetPaid": "Paid", + "presetFailed": "Failed", + "colPayer": "Payer", + "colTransaction": "Transaction ID" }, "vouchers": { "title": "Пазарувайте ваучери", @@ -1340,8 +1359,25 @@ "enabled": "Активирано", "save": "Запази ваучер", "saving": "Запазва се...", - "cancel": "Отказ" - } + "cancel": "Отказ", + "amount": "Credits amount", + "amountPlaceholder": "e.g. 100", + "create": "Create voucher" + }, + "vouchers": "Vouchers", + "active": "Active", + "usedUp": "Used up", + "expired": "Expired", + "confirmDeleteTitle": "Delete voucher", + "created": "Voucher created", + "deleted": "Voucher deleted", + "createError": "Could not create voucher", + "deleteError": "Could not delete voucher", + "statusActive": "Active", + "statusUsedUp": "Used up", + "statusExpired": "Expired", + "colAmount": "Amount", + "colStatus": "Status" }, "subscriptions": { "title": "Абонаменти", @@ -1821,7 +1857,26 @@ "colTimestamp": "Времево клеймо", "filterByUser": "Филтриране по потребител...", "filterByAction": "Филтриране по действие...", - "clearFilters": "Изчистване на филтрите" + "clearFilters": "Изчистване на филтрите", + "noResults": "No matching activities", + "colStaff": "Staff", + "colWhen": "When", + "searchPlaceholder": "Search action, description or IP…", + "totalActivities": "Total activities", + "onThisPage": "On this page", + "recent": "Last minute", + "authorizationErrors": "Authorization errors", + "authorizationOnly": "Auth errors only", + "allActivities": "All activities", + "staffId": "Staff ID", + "actionType": "Action type", + "filter": "Filter", + "activities": "{count} activities", + "staffWithId": "#{id} {name}", + "userPrefix": "user", + "pagination": "Page {page} of {pages} · {total} total", + "next": "Next", + "prev": "Previous" }, "wordfilter": { "title": "Филтър за думи", @@ -1842,7 +1897,15 @@ "save": "Добавяне към филтъра", "saving": "Запазва се...", "cancel": "Отказ" - } + }, + "filteredWords": "Filtered words", + "words": "Words", + "delete": "Delete", + "confirmDeleteTitle": "Remove word", + "added": "Word added to filter", + "deleted": "Word removed from filter", + "addError": "Could not add word (it may already exist)", + "deleteError": "Could not remove word" }, "maintenance": { "title": "Режим на поддръжка", @@ -1969,7 +2032,9 @@ "auditUser": "Потребител", "auditAction": "Действие", "auditTarget": "Цел", - "selectAllMatching": "Select all {count} matching" + "selectAllMatching": "Select all {count} matching", + "save": "Save", + "importTitle": "Import permissions" }, "rooms": { "title": "Стаи", @@ -2112,7 +2177,8 @@ "textColor": "Цвят на текста", "rounded": "Заоблени ъгли", "save": "Запазване като фавикон" - } + }, + "cancel": "Cancel" }, "settings": { "title": "Настройки на CMS", @@ -2134,7 +2200,14 @@ "save": "Запазване на настройката", "saving": "Запазва се...", "cancel": "Отказ" - } + }, + "keysInDatabase": "{count} keys in database", + "managedInForm": "{count} managed in form", + "documented": "{count} documented", + "saved": "Settings saved.", + "saveFailed": "Could not save settings.", + "saveSettings": "Save settings", + "viewOnly": "You can view settings but need edit permission to change them." }, "import": { "title": "Import", @@ -2166,6 +2239,139 @@ "infoBox": "Configuration settings (ports, timeouts, IDs) do not appear here — use the full settings link. Saved changes are synced to the emulator via RCON.", "fullSettings": "Full settings" } + }, + "tickets": { + "title": "Tickets", + "subtitle": "Support tickets from players", + "noTickets": "No active tickets", + "searchPlaceholder": "Search subject, user, category or ID…", + "presetActive": "Active", + "statusOpen": "Open", + "statusInProgress": "In progress", + "statusWaiting": "Waiting", + "statusClosed": "Closed", + "colTicket": "Ticket", + "colStatus": "Status", + "colPriority": "Priority", + "colAssigned": "Assigned", + "colDate": "Date", + "meta": "by {user} · {count} msg · {category}" + }, + "cfh": { + "title": "Call for Help", + "subtitle": "In-game CFH / support tickets", + "noTickets": "No CFH tickets", + "searchPlaceholder": "Search issue, user or ID…", + "noDescription": "No description", + "roomMeta": "Room #{room} · {when}", + "stateOpen": "Open", + "statePicked": "Picked", + "stateClosed": "Closed", + "colId": "ID", + "colIssue": "Issue", + "colSender": "Sender", + "colReported": "Reported", + "colMod": "Mod", + "colStatus": "Status" + }, + "hubs": { + "newsMedia": "News & media", + "newsMediaSubtitle": "Articles, photos, banners, ads and media library", + "siteContent": "Site content", + "siteContentSubtitle": "Navigation, help center, boxes, tags and prefixes", + "engagement": "Engagement", + "engagementSubtitle": "Events, polls and support tickets", + "users": "Users", + "usersSubtitle": "Directory, online players, applications and teams", + "access": "Access & security", + "accessSubtitle": "Bans, IP, VPN, permissions and word filter", + "moderation": "Moderation", + "moderationSubtitle": "Reports, actions and moderation team", + "catalog": "Catalog & rares", + "catalogSubtitle": "Catalog, rares, badges, achievements and sounds", + "shop": "Shop & payments", + "shopSubtitle": "Shop, transactions, vouchers, subscriptions and calendar", + "radio": "Radio", + "radioSubtitle": "Stream, DJ tools, embed and monitoring", + "settings": "Settings", + "settingsSubtitle": "CMS config, theme, maintenance and related tools", + "tools": "Tools", + "toolsSubtitle": "RCON, rooms, import and translations", + "observability": "Observability", + "observabilitySubtitle": "Logs, analytics, DevOps and hotel alerts", + "tabs": { + "articles": "Articles", + "photos": "Photos", + "banners": "Banners", + "ads": "Ads", + "media": "Media", + "navigator": "Navigator", + "help": "Help", + "boxes": "Boxes", + "tags": "Tags", + "prefixes": "Prefixes", + "events": "Events", + "eventTypes": "Event types", + "polls": "Polls", + "tickets": "Tickets", + "templates": "Templates", + "directory": "Directory", + "multiAccounts": "Multi-accounts", + "online": "Online", + "applications": "Applications", + "teams": "Teams", + "bans": "Bans", + "ip": "IP", + "vpn": "VPN", + "permissions": "Permissions", + "wordFilter": "Word filter", + "overview": "Overview", + "actions": "Actions", + "cfh": "CFH", + "team": "Team", + "catalogTab": "Catalog", + "rares": "Rares", + "badges": "Badges", + "achievements": "Achievements", + "sounds": "Sounds", + "shopTab": "Shop", + "transactions": "Transactions", + "vouchers": "Vouchers", + "subscriptions": "Subscriptions", + "calendar": "Calendar", + "history": "History", + "moderationTab": "Moderation", + "monitoring": "Monitoring", + "settingsTab": "Settings", + "embed": "Embed", + "apiKeys": "API keys", + "points": "Points", + "ranks": "Ranks", + "autoDj": "Auto DJ", + "cms": "CMS", + "theme": "Theme", + "maintenance": "Maintenance", + "favicon": "Favicon", + "emulator": "Emulator", + "email": "Email", + "housekeeping": "Housekeeping", + "commando": "Commando", + "rooms": "Rooms", + "import": "Import", + "translations": "Translations", + "logs": "Logs", + "audit": "Audit", + "chat": "Chat", + "commands": "Commands", + "trades": "Trades", + "analytics": "Analytics", + "activity": "Activity", + "economy": "Economy", + "devops": "DevOps", + "errors": "Errors", + "alerts": "Alerts", + "toolsGroup": "Tools" + } } } } diff --git a/src/messages/cs.json b/src/messages/cs.json index ea2132c8..44debe43 100644 --- a/src/messages/cs.json +++ b/src/messages/cs.json @@ -1277,7 +1277,18 @@ "save": "Uložit balíček", "saving": "Ukládání…", "cancel": "Zrušit" - } + }, + "recentOrders": "Recent orders", + "paidOrders": "Paid orders", + "ordersHint": "Latest PayPal transactions", + "colCredits": "Credits", + "colDuckets": "Duckets", + "colDiamonds": "Diamonds", + "colRank": "Rank", + "colPosition": "Position", + "colTransaction": "Transaction", + "colUser": "User", + "colDescription": "Description" }, "transactions": { "title": "Transakce", @@ -1302,7 +1313,15 @@ "grossAmount": "Hrubá částka", "fee": "Poplatek", "netAmount": "Čistá částka" - } + }, + "totalTransactions": "Total transactions", + "pagePaid": "Paid (this page)", + "pageFailed": "Failed (this page)", + "searchPlaceholder": "Search by user, transaction ID or package…", + "presetPaid": "Paid", + "presetFailed": "Failed", + "colPayer": "Payer", + "colTransaction": "Transaction ID" }, "vouchers": { "title": "Nakupujte poukázky", @@ -1340,8 +1359,25 @@ "enabled": "Povoleno", "save": "Uložit voucher", "saving": "Ukládání…", - "cancel": "Zrušit" - } + "cancel": "Zrušit", + "amount": "Credits amount", + "amountPlaceholder": "e.g. 100", + "create": "Create voucher" + }, + "vouchers": "Vouchers", + "active": "Active", + "usedUp": "Used up", + "expired": "Expired", + "confirmDeleteTitle": "Delete voucher", + "created": "Voucher created", + "deleted": "Voucher deleted", + "createError": "Could not create voucher", + "deleteError": "Could not delete voucher", + "statusActive": "Active", + "statusUsedUp": "Used up", + "statusExpired": "Expired", + "colAmount": "Amount", + "colStatus": "Status" }, "subscriptions": { "title": "Předplatné", @@ -1821,7 +1857,26 @@ "colTimestamp": "Časové razítko", "filterByUser": "Filtrovat podle uživatele…", "filterByAction": "Filtrovat podle akce…", - "clearFilters": "Vymazat filtry" + "clearFilters": "Vymazat filtry", + "noResults": "No matching activities", + "colStaff": "Staff", + "colWhen": "When", + "searchPlaceholder": "Search action, description or IP…", + "totalActivities": "Total activities", + "onThisPage": "On this page", + "recent": "Last minute", + "authorizationErrors": "Authorization errors", + "authorizationOnly": "Auth errors only", + "allActivities": "All activities", + "staffId": "Staff ID", + "actionType": "Action type", + "filter": "Filter", + "activities": "{count} activities", + "staffWithId": "#{id} {name}", + "userPrefix": "user", + "pagination": "Page {page} of {pages} · {total} total", + "next": "Next", + "prev": "Previous" }, "wordfilter": { "title": "Filtr slov", @@ -1842,7 +1897,15 @@ "save": "Přidat do filtru", "saving": "Ukládání…", "cancel": "Zrušit" - } + }, + "filteredWords": "Filtered words", + "words": "Words", + "delete": "Delete", + "confirmDeleteTitle": "Remove word", + "added": "Word added to filter", + "deleted": "Word removed from filter", + "addError": "Could not add word (it may already exist)", + "deleteError": "Could not remove word" }, "maintenance": { "title": "Režim údržby", @@ -1969,7 +2032,9 @@ "auditUser": "Uživatel", "auditAction": "Akce", "auditTarget": "Cíl", - "selectAllMatching": "Select all {count} matching" + "selectAllMatching": "Select all {count} matching", + "save": "Save", + "importTitle": "Import permissions" }, "rooms": { "title": "Pokoje", @@ -2112,7 +2177,8 @@ "textColor": "Barva textu", "rounded": "Zaoblené rohy", "save": "Uložit jako favicon" - } + }, + "cancel": "Cancel" }, "settings": { "title": "Nastavení CMS", @@ -2134,7 +2200,14 @@ "save": "Uložit nastavení", "saving": "Ukládání…", "cancel": "Zrušit" - } + }, + "keysInDatabase": "{count} keys in database", + "managedInForm": "{count} managed in form", + "documented": "{count} documented", + "saved": "Settings saved.", + "saveFailed": "Could not save settings.", + "saveSettings": "Save settings", + "viewOnly": "You can view settings but need edit permission to change them." }, "import": { "title": "Import", @@ -2166,6 +2239,139 @@ "infoBox": "Configuration settings (ports, timeouts, IDs) do not appear here — use the full settings link. Saved changes are synced to the emulator via RCON.", "fullSettings": "Full settings" } + }, + "tickets": { + "title": "Tickets", + "subtitle": "Support tickets from players", + "noTickets": "No active tickets", + "searchPlaceholder": "Search subject, user, category or ID…", + "presetActive": "Active", + "statusOpen": "Open", + "statusInProgress": "In progress", + "statusWaiting": "Waiting", + "statusClosed": "Closed", + "colTicket": "Ticket", + "colStatus": "Status", + "colPriority": "Priority", + "colAssigned": "Assigned", + "colDate": "Date", + "meta": "by {user} · {count} msg · {category}" + }, + "cfh": { + "title": "Call for Help", + "subtitle": "In-game CFH / support tickets", + "noTickets": "No CFH tickets", + "searchPlaceholder": "Search issue, user or ID…", + "noDescription": "No description", + "roomMeta": "Room #{room} · {when}", + "stateOpen": "Open", + "statePicked": "Picked", + "stateClosed": "Closed", + "colId": "ID", + "colIssue": "Issue", + "colSender": "Sender", + "colReported": "Reported", + "colMod": "Mod", + "colStatus": "Status" + }, + "hubs": { + "newsMedia": "News & media", + "newsMediaSubtitle": "Articles, photos, banners, ads and media library", + "siteContent": "Site content", + "siteContentSubtitle": "Navigation, help center, boxes, tags and prefixes", + "engagement": "Engagement", + "engagementSubtitle": "Events, polls and support tickets", + "users": "Users", + "usersSubtitle": "Directory, online players, applications and teams", + "access": "Access & security", + "accessSubtitle": "Bans, IP, VPN, permissions and word filter", + "moderation": "Moderation", + "moderationSubtitle": "Reports, actions and moderation team", + "catalog": "Catalog & rares", + "catalogSubtitle": "Catalog, rares, badges, achievements and sounds", + "shop": "Shop & payments", + "shopSubtitle": "Shop, transactions, vouchers, subscriptions and calendar", + "radio": "Radio", + "radioSubtitle": "Stream, DJ tools, embed and monitoring", + "settings": "Settings", + "settingsSubtitle": "CMS config, theme, maintenance and related tools", + "tools": "Tools", + "toolsSubtitle": "RCON, rooms, import and translations", + "observability": "Observability", + "observabilitySubtitle": "Logs, analytics, DevOps and hotel alerts", + "tabs": { + "articles": "Articles", + "photos": "Photos", + "banners": "Banners", + "ads": "Ads", + "media": "Media", + "navigator": "Navigator", + "help": "Help", + "boxes": "Boxes", + "tags": "Tags", + "prefixes": "Prefixes", + "events": "Events", + "eventTypes": "Event types", + "polls": "Polls", + "tickets": "Tickets", + "templates": "Templates", + "directory": "Directory", + "multiAccounts": "Multi-accounts", + "online": "Online", + "applications": "Applications", + "teams": "Teams", + "bans": "Bans", + "ip": "IP", + "vpn": "VPN", + "permissions": "Permissions", + "wordFilter": "Word filter", + "overview": "Overview", + "actions": "Actions", + "cfh": "CFH", + "team": "Team", + "catalogTab": "Catalog", + "rares": "Rares", + "badges": "Badges", + "achievements": "Achievements", + "sounds": "Sounds", + "shopTab": "Shop", + "transactions": "Transactions", + "vouchers": "Vouchers", + "subscriptions": "Subscriptions", + "calendar": "Calendar", + "history": "History", + "moderationTab": "Moderation", + "monitoring": "Monitoring", + "settingsTab": "Settings", + "embed": "Embed", + "apiKeys": "API keys", + "points": "Points", + "ranks": "Ranks", + "autoDj": "Auto DJ", + "cms": "CMS", + "theme": "Theme", + "maintenance": "Maintenance", + "favicon": "Favicon", + "emulator": "Emulator", + "email": "Email", + "housekeeping": "Housekeeping", + "commando": "Commando", + "rooms": "Rooms", + "import": "Import", + "translations": "Translations", + "logs": "Logs", + "audit": "Audit", + "chat": "Chat", + "commands": "Commands", + "trades": "Trades", + "analytics": "Analytics", + "activity": "Activity", + "economy": "Economy", + "devops": "DevOps", + "errors": "Errors", + "alerts": "Alerts", + "toolsGroup": "Tools" + } } } } diff --git a/src/messages/da.json b/src/messages/da.json index 94d5e921..b323d2d2 100644 --- a/src/messages/da.json +++ b/src/messages/da.json @@ -1277,7 +1277,18 @@ "save": "Gem pakken", "saving": "Gemmer...", "cancel": "Annuller" - } + }, + "recentOrders": "Recent orders", + "paidOrders": "Paid orders", + "ordersHint": "Latest PayPal transactions", + "colCredits": "Credits", + "colDuckets": "Duckets", + "colDiamonds": "Diamonds", + "colRank": "Rank", + "colPosition": "Position", + "colTransaction": "Transaction", + "colUser": "User", + "colDescription": "Description" }, "transactions": { "title": "Transaktioner", @@ -1302,7 +1313,15 @@ "grossAmount": "Bruttobeløb", "fee": "Gebyr", "netAmount": "Netto beløb" - } + }, + "totalTransactions": "Total transactions", + "pagePaid": "Paid (this page)", + "pageFailed": "Failed (this page)", + "searchPlaceholder": "Search by user, transaction ID or package…", + "presetPaid": "Paid", + "presetFailed": "Failed", + "colPayer": "Payer", + "colTransaction": "Transaction ID" }, "vouchers": { "title": "Shop vouchers", @@ -1340,8 +1359,25 @@ "enabled": "Aktiveret", "save": "Gem voucher", "saving": "Gemmer...", - "cancel": "Annuller" - } + "cancel": "Annuller", + "amount": "Credits amount", + "amountPlaceholder": "e.g. 100", + "create": "Create voucher" + }, + "vouchers": "Vouchers", + "active": "Active", + "usedUp": "Used up", + "expired": "Expired", + "confirmDeleteTitle": "Delete voucher", + "created": "Voucher created", + "deleted": "Voucher deleted", + "createError": "Could not create voucher", + "deleteError": "Could not delete voucher", + "statusActive": "Active", + "statusUsedUp": "Used up", + "statusExpired": "Expired", + "colAmount": "Amount", + "colStatus": "Status" }, "subscriptions": { "title": "Abonnementer", @@ -1821,7 +1857,26 @@ "colTimestamp": "Tidsstempel", "filterByUser": "Filter by user…", "filterByAction": "Filter by action…", - "clearFilters": "Ryd filtre" + "clearFilters": "Ryd filtre", + "noResults": "No matching activities", + "colStaff": "Staff", + "colWhen": "When", + "searchPlaceholder": "Search action, description or IP…", + "totalActivities": "Total activities", + "onThisPage": "On this page", + "recent": "Last minute", + "authorizationErrors": "Authorization errors", + "authorizationOnly": "Auth errors only", + "allActivities": "All activities", + "staffId": "Staff ID", + "actionType": "Action type", + "filter": "Filter", + "activities": "{count} activities", + "staffWithId": "#{id} {name}", + "userPrefix": "user", + "pagination": "Page {page} of {pages} · {total} total", + "next": "Next", + "prev": "Previous" }, "wordfilter": { "title": "Ord filter", @@ -1842,7 +1897,15 @@ "save": "Tilføj til filter", "saving": "Gemmer...", "cancel": "Annuller" - } + }, + "filteredWords": "Filtered words", + "words": "Words", + "delete": "Delete", + "confirmDeleteTitle": "Remove word", + "added": "Word added to filter", + "deleted": "Word removed from filter", + "addError": "Could not add word (it may already exist)", + "deleteError": "Could not remove word" }, "maintenance": { "title": "Vedligeholdelsestilstand", @@ -1969,7 +2032,9 @@ "auditUser": "Bruger", "auditAction": "Handling", "auditTarget": "Mål", - "selectAllMatching": "Select all {count} matching" + "selectAllMatching": "Select all {count} matching", + "save": "Save", + "importTitle": "Import permissions" }, "rooms": { "title": "Værelser", @@ -2112,7 +2177,8 @@ "textColor": "Tekstfarve", "rounded": "Afrundede hjørner", "save": "Gem som favicon" - } + }, + "cancel": "Cancel" }, "settings": { "title": "CMS-indstillinger", @@ -2134,7 +2200,14 @@ "save": "Gem indstilling", "saving": "Gemmer...", "cancel": "Annuller" - } + }, + "keysInDatabase": "{count} keys in database", + "managedInForm": "{count} managed in form", + "documented": "{count} documented", + "saved": "Settings saved.", + "saveFailed": "Could not save settings.", + "saveSettings": "Save settings", + "viewOnly": "You can view settings but need edit permission to change them." }, "import": { "title": "Import", @@ -2166,6 +2239,139 @@ "infoBox": "Configuration settings (ports, timeouts, IDs) do not appear here — use the full settings link. Saved changes are synced to the emulator via RCON.", "fullSettings": "Full settings" } + }, + "tickets": { + "title": "Tickets", + "subtitle": "Support tickets from players", + "noTickets": "No active tickets", + "searchPlaceholder": "Search subject, user, category or ID…", + "presetActive": "Active", + "statusOpen": "Open", + "statusInProgress": "In progress", + "statusWaiting": "Waiting", + "statusClosed": "Closed", + "colTicket": "Ticket", + "colStatus": "Status", + "colPriority": "Priority", + "colAssigned": "Assigned", + "colDate": "Date", + "meta": "by {user} · {count} msg · {category}" + }, + "cfh": { + "title": "Call for Help", + "subtitle": "In-game CFH / support tickets", + "noTickets": "No CFH tickets", + "searchPlaceholder": "Search issue, user or ID…", + "noDescription": "No description", + "roomMeta": "Room #{room} · {when}", + "stateOpen": "Open", + "statePicked": "Picked", + "stateClosed": "Closed", + "colId": "ID", + "colIssue": "Issue", + "colSender": "Sender", + "colReported": "Reported", + "colMod": "Mod", + "colStatus": "Status" + }, + "hubs": { + "newsMedia": "News & media", + "newsMediaSubtitle": "Articles, photos, banners, ads and media library", + "siteContent": "Site content", + "siteContentSubtitle": "Navigation, help center, boxes, tags and prefixes", + "engagement": "Engagement", + "engagementSubtitle": "Events, polls and support tickets", + "users": "Users", + "usersSubtitle": "Directory, online players, applications and teams", + "access": "Access & security", + "accessSubtitle": "Bans, IP, VPN, permissions and word filter", + "moderation": "Moderation", + "moderationSubtitle": "Reports, actions and moderation team", + "catalog": "Catalog & rares", + "catalogSubtitle": "Catalog, rares, badges, achievements and sounds", + "shop": "Shop & payments", + "shopSubtitle": "Shop, transactions, vouchers, subscriptions and calendar", + "radio": "Radio", + "radioSubtitle": "Stream, DJ tools, embed and monitoring", + "settings": "Settings", + "settingsSubtitle": "CMS config, theme, maintenance and related tools", + "tools": "Tools", + "toolsSubtitle": "RCON, rooms, import and translations", + "observability": "Observability", + "observabilitySubtitle": "Logs, analytics, DevOps and hotel alerts", + "tabs": { + "articles": "Articles", + "photos": "Photos", + "banners": "Banners", + "ads": "Ads", + "media": "Media", + "navigator": "Navigator", + "help": "Help", + "boxes": "Boxes", + "tags": "Tags", + "prefixes": "Prefixes", + "events": "Events", + "eventTypes": "Event types", + "polls": "Polls", + "tickets": "Tickets", + "templates": "Templates", + "directory": "Directory", + "multiAccounts": "Multi-accounts", + "online": "Online", + "applications": "Applications", + "teams": "Teams", + "bans": "Bans", + "ip": "IP", + "vpn": "VPN", + "permissions": "Permissions", + "wordFilter": "Word filter", + "overview": "Overview", + "actions": "Actions", + "cfh": "CFH", + "team": "Team", + "catalogTab": "Catalog", + "rares": "Rares", + "badges": "Badges", + "achievements": "Achievements", + "sounds": "Sounds", + "shopTab": "Shop", + "transactions": "Transactions", + "vouchers": "Vouchers", + "subscriptions": "Subscriptions", + "calendar": "Calendar", + "history": "History", + "moderationTab": "Moderation", + "monitoring": "Monitoring", + "settingsTab": "Settings", + "embed": "Embed", + "apiKeys": "API keys", + "points": "Points", + "ranks": "Ranks", + "autoDj": "Auto DJ", + "cms": "CMS", + "theme": "Theme", + "maintenance": "Maintenance", + "favicon": "Favicon", + "emulator": "Emulator", + "email": "Email", + "housekeeping": "Housekeeping", + "commando": "Commando", + "rooms": "Rooms", + "import": "Import", + "translations": "Translations", + "logs": "Logs", + "audit": "Audit", + "chat": "Chat", + "commands": "Commands", + "trades": "Trades", + "analytics": "Analytics", + "activity": "Activity", + "economy": "Economy", + "devops": "DevOps", + "errors": "Errors", + "alerts": "Alerts", + "toolsGroup": "Tools" + } } } } diff --git a/src/messages/de.json b/src/messages/de.json index 37c3f5ae..c3b7e2d0 100644 --- a/src/messages/de.json +++ b/src/messages/de.json @@ -1241,7 +1241,18 @@ "save": "Paket speichern", "saving": "Wird gespeichert…", "cancel": "Abbrechen" - } + }, + "recentOrders": "Recent orders", + "paidOrders": "Paid orders", + "ordersHint": "Latest PayPal transactions", + "colCredits": "Credits", + "colDuckets": "Duckets", + "colDiamonds": "Diamonds", + "colRank": "Rank", + "colPosition": "Position", + "colTransaction": "Transaction", + "colUser": "User", + "colDescription": "Description" }, "transactions": { "title": "Transaktionen", @@ -1266,7 +1277,15 @@ "grossAmount": "Bruttobetrag", "fee": "Gebühr", "netAmount": "Nettobetrag" - } + }, + "totalTransactions": "Total transactions", + "pagePaid": "Paid (this page)", + "pageFailed": "Failed (this page)", + "searchPlaceholder": "Search by user, transaction ID or package…", + "presetPaid": "Paid", + "presetFailed": "Failed", + "colPayer": "Payer", + "colTransaction": "Transaction ID" }, "vouchers": { "title": "Shop-Gutscheine", @@ -1304,8 +1323,25 @@ "enabled": "Aktiviert", "save": "Gutschein speichern", "saving": "Wird gespeichert…", - "cancel": "Abbrechen" - } + "cancel": "Abbrechen", + "amount": "Credits amount", + "amountPlaceholder": "e.g. 100", + "create": "Create voucher" + }, + "vouchers": "Vouchers", + "active": "Active", + "usedUp": "Used up", + "expired": "Expired", + "confirmDeleteTitle": "Delete voucher", + "created": "Voucher created", + "deleted": "Voucher deleted", + "createError": "Could not create voucher", + "deleteError": "Could not delete voucher", + "statusActive": "Active", + "statusUsedUp": "Used up", + "statusExpired": "Expired", + "colAmount": "Amount", + "colStatus": "Status" }, "subscriptions": { "title": "Abonnements", @@ -1785,7 +1821,26 @@ "colTimestamp": "Zeitstempel", "filterByUser": "Nach Benutzer filtern…", "filterByAction": "Nach Aktion filtern…", - "clearFilters": "Filter zurücksetzen" + "clearFilters": "Filter zurücksetzen", + "noResults": "No matching activities", + "colStaff": "Staff", + "colWhen": "When", + "searchPlaceholder": "Search action, description or IP…", + "totalActivities": "Total activities", + "onThisPage": "On this page", + "recent": "Last minute", + "authorizationErrors": "Authorization errors", + "authorizationOnly": "Auth errors only", + "allActivities": "All activities", + "staffId": "Staff ID", + "actionType": "Action type", + "filter": "Filter", + "activities": "{count} activities", + "staffWithId": "#{id} {name}", + "userPrefix": "user", + "pagination": "Page {page} of {pages} · {total} total", + "next": "Next", + "prev": "Previous" }, "wordfilter": { "title": "Wortfilter", @@ -1806,7 +1861,15 @@ "save": "Zum Filter hinzufügen", "saving": "Wird gespeichert…", "cancel": "Abbrechen" - } + }, + "filteredWords": "Filtered words", + "words": "Words", + "delete": "Delete", + "confirmDeleteTitle": "Remove word", + "added": "Word added to filter", + "deleted": "Word removed from filter", + "addError": "Could not add word (it may already exist)", + "deleteError": "Could not remove word" }, "maintenance": { "title": "Wartungsmodus", @@ -1933,7 +1996,9 @@ "auditUser": "Benutzer", "auditAction": "Aktion", "auditTarget": "Ziel", - "selectAllMatching": "Select all {count} matching" + "selectAllMatching": "Select all {count} matching", + "save": "Save", + "importTitle": "Import permissions" }, "rooms": { "title": "Räume", @@ -2075,7 +2140,14 @@ "save": "Einstellung speichern", "saving": "Wird gespeichert…", "cancel": "Abbrechen" - } + }, + "keysInDatabase": "{count} keys in database", + "managedInForm": "{count} managed in form", + "documented": "{count} documented", + "saved": "Settings saved.", + "saveFailed": "Could not save settings.", + "saveSettings": "Save settings", + "viewOnly": "You can view settings but need edit permission to change them." }, "favicon": { "title": "Favicon", @@ -2098,7 +2170,8 @@ "textColor": "Text color", "rounded": "Rounded corners", "save": "Save as favicon" - } + }, + "cancel": "Cancel" }, "import": { "title": "Import", @@ -2130,6 +2203,139 @@ "infoBox": "Configuration settings (ports, timeouts, IDs) do not appear here — use the full settings link. Saved changes are synced to the emulator via RCON.", "fullSettings": "Full settings" } + }, + "tickets": { + "title": "Tickets", + "subtitle": "Support tickets from players", + "noTickets": "No active tickets", + "searchPlaceholder": "Search subject, user, category or ID…", + "presetActive": "Active", + "statusOpen": "Open", + "statusInProgress": "In progress", + "statusWaiting": "Waiting", + "statusClosed": "Closed", + "colTicket": "Ticket", + "colStatus": "Status", + "colPriority": "Priority", + "colAssigned": "Assigned", + "colDate": "Date", + "meta": "by {user} · {count} msg · {category}" + }, + "cfh": { + "title": "Call for Help", + "subtitle": "In-game CFH / support tickets", + "noTickets": "No CFH tickets", + "searchPlaceholder": "Search issue, user or ID…", + "noDescription": "No description", + "roomMeta": "Room #{room} · {when}", + "stateOpen": "Open", + "statePicked": "Picked", + "stateClosed": "Closed", + "colId": "ID", + "colIssue": "Issue", + "colSender": "Sender", + "colReported": "Reported", + "colMod": "Mod", + "colStatus": "Status" + }, + "hubs": { + "newsMedia": "News & media", + "newsMediaSubtitle": "Articles, photos, banners, ads and media library", + "siteContent": "Site content", + "siteContentSubtitle": "Navigation, help center, boxes, tags and prefixes", + "engagement": "Engagement", + "engagementSubtitle": "Events, polls and support tickets", + "users": "Users", + "usersSubtitle": "Directory, online players, applications and teams", + "access": "Access & security", + "accessSubtitle": "Bans, IP, VPN, permissions and word filter", + "moderation": "Moderation", + "moderationSubtitle": "Reports, actions and moderation team", + "catalog": "Catalog & rares", + "catalogSubtitle": "Catalog, rares, badges, achievements and sounds", + "shop": "Shop & payments", + "shopSubtitle": "Shop, transactions, vouchers, subscriptions and calendar", + "radio": "Radio", + "radioSubtitle": "Stream, DJ tools, embed and monitoring", + "settings": "Settings", + "settingsSubtitle": "CMS config, theme, maintenance and related tools", + "tools": "Tools", + "toolsSubtitle": "RCON, rooms, import and translations", + "observability": "Observability", + "observabilitySubtitle": "Logs, analytics, DevOps and hotel alerts", + "tabs": { + "articles": "Articles", + "photos": "Photos", + "banners": "Banners", + "ads": "Ads", + "media": "Media", + "navigator": "Navigator", + "help": "Help", + "boxes": "Boxes", + "tags": "Tags", + "prefixes": "Prefixes", + "events": "Events", + "eventTypes": "Event types", + "polls": "Polls", + "tickets": "Tickets", + "templates": "Templates", + "directory": "Directory", + "multiAccounts": "Multi-accounts", + "online": "Online", + "applications": "Applications", + "teams": "Teams", + "bans": "Bans", + "ip": "IP", + "vpn": "VPN", + "permissions": "Permissions", + "wordFilter": "Word filter", + "overview": "Overview", + "actions": "Actions", + "cfh": "CFH", + "team": "Team", + "catalogTab": "Catalog", + "rares": "Rares", + "badges": "Badges", + "achievements": "Achievements", + "sounds": "Sounds", + "shopTab": "Shop", + "transactions": "Transactions", + "vouchers": "Vouchers", + "subscriptions": "Subscriptions", + "calendar": "Calendar", + "history": "History", + "moderationTab": "Moderation", + "monitoring": "Monitoring", + "settingsTab": "Settings", + "embed": "Embed", + "apiKeys": "API keys", + "points": "Points", + "ranks": "Ranks", + "autoDj": "Auto DJ", + "cms": "CMS", + "theme": "Theme", + "maintenance": "Maintenance", + "favicon": "Favicon", + "emulator": "Emulator", + "email": "Email", + "housekeeping": "Housekeeping", + "commando": "Commando", + "rooms": "Rooms", + "import": "Import", + "translations": "Translations", + "logs": "Logs", + "audit": "Audit", + "chat": "Chat", + "commands": "Commands", + "trades": "Trades", + "analytics": "Analytics", + "activity": "Activity", + "economy": "Economy", + "devops": "DevOps", + "errors": "Errors", + "alerts": "Alerts", + "toolsGroup": "Tools" + } } }, "client": { diff --git a/src/messages/el.json b/src/messages/el.json index 87e45f27..e449ce15 100644 --- a/src/messages/el.json +++ b/src/messages/el.json @@ -1277,7 +1277,18 @@ "save": "Αποθήκευση πακέτου", "saving": "Αποθήκευση…", "cancel": "Ακύρωση" - } + }, + "recentOrders": "Recent orders", + "paidOrders": "Paid orders", + "ordersHint": "Latest PayPal transactions", + "colCredits": "Credits", + "colDuckets": "Duckets", + "colDiamonds": "Diamonds", + "colRank": "Rank", + "colPosition": "Position", + "colTransaction": "Transaction", + "colUser": "User", + "colDescription": "Description" }, "transactions": { "title": "Συναλλαγές", @@ -1302,7 +1313,15 @@ "grossAmount": "Μικτό ποσό", "fee": "Τέλος", "netAmount": "Καθαρό ποσό" - } + }, + "totalTransactions": "Total transactions", + "pagePaid": "Paid (this page)", + "pageFailed": "Failed (this page)", + "searchPlaceholder": "Search by user, transaction ID or package…", + "presetPaid": "Paid", + "presetFailed": "Failed", + "colPayer": "Payer", + "colTransaction": "Transaction ID" }, "vouchers": { "title": "Κουπόνια καταστημάτων", @@ -1340,8 +1359,25 @@ "enabled": "Ενεργοποιημένο", "save": "Αποθήκευση κουπονιού", "saving": "Αποθήκευση…", - "cancel": "Ακύρωση" - } + "cancel": "Ακύρωση", + "amount": "Credits amount", + "amountPlaceholder": "e.g. 100", + "create": "Create voucher" + }, + "vouchers": "Vouchers", + "active": "Active", + "usedUp": "Used up", + "expired": "Expired", + "confirmDeleteTitle": "Delete voucher", + "created": "Voucher created", + "deleted": "Voucher deleted", + "createError": "Could not create voucher", + "deleteError": "Could not delete voucher", + "statusActive": "Active", + "statusUsedUp": "Used up", + "statusExpired": "Expired", + "colAmount": "Amount", + "colStatus": "Status" }, "subscriptions": { "title": "Συνδρομές", @@ -1821,7 +1857,26 @@ "colTimestamp": "Χρονική σήμανση", "filterByUser": "Φιλτράρισμα ανά χρήστη…", "filterByAction": "Φιλτράρισμα ανά ενέργεια…", - "clearFilters": "Καθαρίστε τα φίλτρα" + "clearFilters": "Καθαρίστε τα φίλτρα", + "noResults": "No matching activities", + "colStaff": "Staff", + "colWhen": "When", + "searchPlaceholder": "Search action, description or IP…", + "totalActivities": "Total activities", + "onThisPage": "On this page", + "recent": "Last minute", + "authorizationErrors": "Authorization errors", + "authorizationOnly": "Auth errors only", + "allActivities": "All activities", + "staffId": "Staff ID", + "actionType": "Action type", + "filter": "Filter", + "activities": "{count} activities", + "staffWithId": "#{id} {name}", + "userPrefix": "user", + "pagination": "Page {page} of {pages} · {total} total", + "next": "Next", + "prev": "Previous" }, "wordfilter": { "title": "Φίλτρο Word", @@ -1842,7 +1897,15 @@ "save": "Προσθήκη στο φίλτρο", "saving": "Αποθήκευση…", "cancel": "Ακύρωση" - } + }, + "filteredWords": "Filtered words", + "words": "Words", + "delete": "Delete", + "confirmDeleteTitle": "Remove word", + "added": "Word added to filter", + "deleted": "Word removed from filter", + "addError": "Could not add word (it may already exist)", + "deleteError": "Could not remove word" }, "maintenance": { "title": "Λειτουργία συντήρησης", @@ -1969,7 +2032,9 @@ "auditUser": "Χρήστης", "auditAction": "Δράση", "auditTarget": "Στόχος", - "selectAllMatching": "Select all {count} matching" + "selectAllMatching": "Select all {count} matching", + "save": "Save", + "importTitle": "Import permissions" }, "rooms": { "title": "Δωμάτια", @@ -2112,7 +2177,8 @@ "textColor": "Χρώμα κειμένου", "rounded": "Στρογγυλεμένες γωνίες", "save": "Αποθήκευση ως favicon" - } + }, + "cancel": "Cancel" }, "settings": { "title": "Ρυθμίσεις CMS", @@ -2134,7 +2200,14 @@ "save": "Αποθήκευση ρύθμισης", "saving": "Αποθήκευση…", "cancel": "Ακύρωση" - } + }, + "keysInDatabase": "{count} keys in database", + "managedInForm": "{count} managed in form", + "documented": "{count} documented", + "saved": "Settings saved.", + "saveFailed": "Could not save settings.", + "saveSettings": "Save settings", + "viewOnly": "You can view settings but need edit permission to change them." }, "import": { "title": "Import", @@ -2166,6 +2239,139 @@ "infoBox": "Configuration settings (ports, timeouts, IDs) do not appear here — use the full settings link. Saved changes are synced to the emulator via RCON.", "fullSettings": "Full settings" } + }, + "tickets": { + "title": "Tickets", + "subtitle": "Support tickets from players", + "noTickets": "No active tickets", + "searchPlaceholder": "Search subject, user, category or ID…", + "presetActive": "Active", + "statusOpen": "Open", + "statusInProgress": "In progress", + "statusWaiting": "Waiting", + "statusClosed": "Closed", + "colTicket": "Ticket", + "colStatus": "Status", + "colPriority": "Priority", + "colAssigned": "Assigned", + "colDate": "Date", + "meta": "by {user} · {count} msg · {category}" + }, + "cfh": { + "title": "Call for Help", + "subtitle": "In-game CFH / support tickets", + "noTickets": "No CFH tickets", + "searchPlaceholder": "Search issue, user or ID…", + "noDescription": "No description", + "roomMeta": "Room #{room} · {when}", + "stateOpen": "Open", + "statePicked": "Picked", + "stateClosed": "Closed", + "colId": "ID", + "colIssue": "Issue", + "colSender": "Sender", + "colReported": "Reported", + "colMod": "Mod", + "colStatus": "Status" + }, + "hubs": { + "newsMedia": "News & media", + "newsMediaSubtitle": "Articles, photos, banners, ads and media library", + "siteContent": "Site content", + "siteContentSubtitle": "Navigation, help center, boxes, tags and prefixes", + "engagement": "Engagement", + "engagementSubtitle": "Events, polls and support tickets", + "users": "Users", + "usersSubtitle": "Directory, online players, applications and teams", + "access": "Access & security", + "accessSubtitle": "Bans, IP, VPN, permissions and word filter", + "moderation": "Moderation", + "moderationSubtitle": "Reports, actions and moderation team", + "catalog": "Catalog & rares", + "catalogSubtitle": "Catalog, rares, badges, achievements and sounds", + "shop": "Shop & payments", + "shopSubtitle": "Shop, transactions, vouchers, subscriptions and calendar", + "radio": "Radio", + "radioSubtitle": "Stream, DJ tools, embed and monitoring", + "settings": "Settings", + "settingsSubtitle": "CMS config, theme, maintenance and related tools", + "tools": "Tools", + "toolsSubtitle": "RCON, rooms, import and translations", + "observability": "Observability", + "observabilitySubtitle": "Logs, analytics, DevOps and hotel alerts", + "tabs": { + "articles": "Articles", + "photos": "Photos", + "banners": "Banners", + "ads": "Ads", + "media": "Media", + "navigator": "Navigator", + "help": "Help", + "boxes": "Boxes", + "tags": "Tags", + "prefixes": "Prefixes", + "events": "Events", + "eventTypes": "Event types", + "polls": "Polls", + "tickets": "Tickets", + "templates": "Templates", + "directory": "Directory", + "multiAccounts": "Multi-accounts", + "online": "Online", + "applications": "Applications", + "teams": "Teams", + "bans": "Bans", + "ip": "IP", + "vpn": "VPN", + "permissions": "Permissions", + "wordFilter": "Word filter", + "overview": "Overview", + "actions": "Actions", + "cfh": "CFH", + "team": "Team", + "catalogTab": "Catalog", + "rares": "Rares", + "badges": "Badges", + "achievements": "Achievements", + "sounds": "Sounds", + "shopTab": "Shop", + "transactions": "Transactions", + "vouchers": "Vouchers", + "subscriptions": "Subscriptions", + "calendar": "Calendar", + "history": "History", + "moderationTab": "Moderation", + "monitoring": "Monitoring", + "settingsTab": "Settings", + "embed": "Embed", + "apiKeys": "API keys", + "points": "Points", + "ranks": "Ranks", + "autoDj": "Auto DJ", + "cms": "CMS", + "theme": "Theme", + "maintenance": "Maintenance", + "favicon": "Favicon", + "emulator": "Emulator", + "email": "Email", + "housekeeping": "Housekeeping", + "commando": "Commando", + "rooms": "Rooms", + "import": "Import", + "translations": "Translations", + "logs": "Logs", + "audit": "Audit", + "chat": "Chat", + "commands": "Commands", + "trades": "Trades", + "analytics": "Analytics", + "activity": "Activity", + "economy": "Economy", + "devops": "DevOps", + "errors": "Errors", + "alerts": "Alerts", + "toolsGroup": "Tools" + } } } } diff --git a/src/messages/en.json b/src/messages/en.json index a11aa309..33c5eea8 100644 --- a/src/messages/en.json +++ b/src/messages/en.json @@ -1592,7 +1592,7 @@ }, "embedPage": { "title": "Radio Embed", - "subtitle": "Copy-ready embed code for the live stream. Read-only \u2014 nothing here writes to the database. Configure the stream URL in Radio Settings (radio_stream_url).", + "subtitle": "Copy-ready embed code for the live stream. Read-only — nothing here writes to the database. Configure the stream URL in Radio Settings (radio_stream_url).", "streamUrl": "Stream URL", "configured": "Configured", "missing": "Missing", @@ -1609,7 +1609,7 @@ "audioSnippet": "Audio player snippet", "audioSnippetDesc": "Drop-in HTML5 audio player pointed straight at the stream. Works anywhere plain HTML is allowed.", "iframeSnippet": "Iframe wrapper snippet", - "iframeSnippetDesc": "Embeds the site\u2019s own radio player page in an iframe \u2014 keeps your styling and now-playing info. Adjust width/height to taste.", + "iframeSnippetDesc": "Embeds the site’s own radio player page in an iframe — keeps your styling and now-playing info. Adjust width/height to taste.", "audioUnsupported": "Your browser does not support the audio element." }, "banners": { @@ -1619,7 +1619,7 @@ "addBanner": "Add banner", "createBanner": "Create banner", "deleteBanner": "Delete banner", - "noBanners": "No banners yet \u2014 add one above.", + "noBanners": "No banners yet — add one above.", "existing": "Existing banners ({count})", "save": "Save", "delete": "Delete", @@ -1650,7 +1650,7 @@ "description": "Description", "createRank": "Create rank", "existing": "Existing ranks ({count})", - "noRanks": "No ranks yet \u2014 add one above.", + "noRanks": "No ranks yet — add one above.", "activeLabel": "active", "inactiveLabel": "inactive", "save": "Save", @@ -1677,13 +1677,13 @@ }, "apiKeysForm": { "title": "Radio API Keys", - "subtitle": "API keys for external radio integrations (radio_api_keys). Keys are generated server-side and shown masked \u2014 copy the full value from the database when first issued.", + "subtitle": "API keys for external radio integrations (radio_api_keys). Keys are generated server-side and shown masked — copy the full value from the database when first issued.", "dbError": "Could not load API keys (database unavailable).", "totalKeys": "Total keys", "active": "Active", "inactive": "Inactive", "generateKey": "Generate key", - "generateHint": "The secret key is generated automatically with cryptographic randomness \u2014 you do not enter it.", + "generateHint": "The secret key is generated automatically with cryptographic randomness — you do not enter it.", "name": "Name", "namePlaceholder": "AzureCast bridge", "rateLimit": "Rate limit (requests/min)", @@ -1691,7 +1691,7 @@ "allowedIpsPlaceholder": "comma-separated, blank = any", "generate": "Generate key", "existingKeys": "Existing keys ({count})", - "noKeys": "No API keys yet \u2014 generate one above.", + "noKeys": "No API keys yet — generate one above.", "colName": "Name", "colKey": "Key", "colAllowedIps": "Allowed IPs", @@ -1711,7 +1711,7 @@ "pointsForm": { "title": "Radio Listener Points", "subtitle": "Reward listeners with currency for time spent on the radio. Edits write to website_settings (radio_points_* keys) and bust the runtime settings cache. Booleans use 0 / 1.", - "points": "Points", + "points": "Points", "enabled": "Enabled", "disabled": "Disabled", "perMinute": "Per minute", @@ -1743,12 +1743,12 @@ "artist": "Artist", "album": "Album", "artworkUrl": "Artwork URL", - "artworkUrlPlaceholder": "https://\u2026/cover.png", + "artworkUrlPlaceholder": "https://…/cover.png", "duration": "Duration (seconds)", "durationPlaceholder": "e.g. 215", "sortOrder": "Sort order", "playlist": "Playlist ({count})", - "noTracks": "No AutoDJ tracks yet \u2014 add one above.", + "noTracks": "No AutoDJ tracks yet — add one above.", "colOrder": "Order", "colTitle": "Title", "colArtist": "Artist", @@ -1766,7 +1766,7 @@ }, "monitoring": { "title": "Radio Monitoring", - "subtitle": "Read-only live probe of the configured radio endpoints (radio_now_playing_api_url, radio_listeners_api_url). Each request fails soft with a {timeout}s timeout \u2014 no data is written. Configure URLs under Settings.", + "subtitle": "Read-only live probe of the configured radio endpoints (radio_now_playing_api_url, radio_listeners_api_url). Each request fails soft with a {timeout}s timeout — no data is written. Configure URLs under Settings.", "stream": "Stream", "online": "Online", "offline": "Offline", @@ -1781,7 +1781,7 @@ "noNowPlayingHint": "no now-playing API set", "noListenersHint": "no listeners API set", "endpointDiagnostics": "Endpoint diagnostics", - "diagnosticsLegend": "OK reachable \u00b7 WARN not configured \u00b7 ERROR fetch failed / timed out.", + "diagnosticsLegend": "OK reachable · WARN not configured · ERROR fetch failed / timed out.", "streamUrl": "Stream URL", "unreachable": "unreachable", "refresh": "Refresh" @@ -2164,7 +2164,9 @@ "auditTime": "Time", "auditUser": "User", "auditAction": "Action", - "auditTarget": "Target" + "auditTarget": "Target", + "save": "Save", + "importTitle": "Import permissions" }, "rooms": { "title": "Rooms", diff --git a/src/messages/es.json b/src/messages/es.json index c4bf6e62..d0401655 100644 --- a/src/messages/es.json +++ b/src/messages/es.json @@ -1241,7 +1241,18 @@ "save": "Guardar paquete", "saving": "Guardando…", "cancel": "Cancelar" - } + }, + "recentOrders": "Recent orders", + "paidOrders": "Paid orders", + "ordersHint": "Latest PayPal transactions", + "colCredits": "Credits", + "colDuckets": "Duckets", + "colDiamonds": "Diamonds", + "colRank": "Rank", + "colPosition": "Position", + "colTransaction": "Transaction", + "colUser": "User", + "colDescription": "Description" }, "transactions": { "title": "Transacciones", @@ -1266,7 +1277,15 @@ "grossAmount": "Importe bruto", "fee": "Comisión", "netAmount": "Importe neto" - } + }, + "totalTransactions": "Total transactions", + "pagePaid": "Paid (this page)", + "pageFailed": "Failed (this page)", + "searchPlaceholder": "Search by user, transaction ID or package…", + "presetPaid": "Paid", + "presetFailed": "Failed", + "colPayer": "Payer", + "colTransaction": "Transaction ID" }, "vouchers": { "title": "Vales de tienda", @@ -1304,8 +1323,25 @@ "enabled": "Activado", "save": "Guardar vale", "saving": "Guardando…", - "cancel": "Cancelar" - } + "cancel": "Cancelar", + "amount": "Credits amount", + "amountPlaceholder": "e.g. 100", + "create": "Create voucher" + }, + "vouchers": "Vouchers", + "active": "Active", + "usedUp": "Used up", + "expired": "Expired", + "confirmDeleteTitle": "Delete voucher", + "created": "Voucher created", + "deleted": "Voucher deleted", + "createError": "Could not create voucher", + "deleteError": "Could not delete voucher", + "statusActive": "Active", + "statusUsedUp": "Used up", + "statusExpired": "Expired", + "colAmount": "Amount", + "colStatus": "Status" }, "subscriptions": { "title": "Suscripciones", @@ -1785,7 +1821,26 @@ "colTimestamp": "Fecha", "filterByUser": "Filtrar por usuario…", "filterByAction": "Filtrar por acción…", - "clearFilters": "Limpiar filtros" + "clearFilters": "Limpiar filtros", + "noResults": "No matching activities", + "colStaff": "Staff", + "colWhen": "When", + "searchPlaceholder": "Search action, description or IP…", + "totalActivities": "Total activities", + "onThisPage": "On this page", + "recent": "Last minute", + "authorizationErrors": "Authorization errors", + "authorizationOnly": "Auth errors only", + "allActivities": "All activities", + "staffId": "Staff ID", + "actionType": "Action type", + "filter": "Filter", + "activities": "{count} activities", + "staffWithId": "#{id} {name}", + "userPrefix": "user", + "pagination": "Page {page} of {pages} · {total} total", + "next": "Next", + "prev": "Previous" }, "wordfilter": { "title": "Filtro de palabras", @@ -1806,7 +1861,15 @@ "save": "Añadir al filtro", "saving": "Guardando…", "cancel": "Cancelar" - } + }, + "filteredWords": "Filtered words", + "words": "Words", + "delete": "Delete", + "confirmDeleteTitle": "Remove word", + "added": "Word added to filter", + "deleted": "Word removed from filter", + "addError": "Could not add word (it may already exist)", + "deleteError": "Could not remove word" }, "maintenance": { "title": "Modo de mantenimiento", @@ -1933,7 +1996,9 @@ "auditUser": "Usuario", "auditAction": "Acción", "auditTarget": "Objetivo", - "selectAllMatching": "Select all {count} matching" + "selectAllMatching": "Select all {count} matching", + "save": "Save", + "importTitle": "Import permissions" }, "rooms": { "title": "Salas", @@ -2075,7 +2140,14 @@ "save": "Guardar ajuste", "saving": "Guardando…", "cancel": "Cancelar" - } + }, + "keysInDatabase": "{count} keys in database", + "managedInForm": "{count} managed in form", + "documented": "{count} documented", + "saved": "Settings saved.", + "saveFailed": "Could not save settings.", + "saveSettings": "Save settings", + "viewOnly": "You can view settings but need edit permission to change them." }, "favicon": { "title": "Favicon", @@ -2098,7 +2170,8 @@ "textColor": "Text color", "rounded": "Rounded corners", "save": "Save as favicon" - } + }, + "cancel": "Cancel" }, "import": { "title": "Import", @@ -2130,6 +2203,139 @@ "infoBox": "Configuration settings (ports, timeouts, IDs) do not appear here — use the full settings link. Saved changes are synced to the emulator via RCON.", "fullSettings": "Full settings" } + }, + "tickets": { + "title": "Tickets", + "subtitle": "Support tickets from players", + "noTickets": "No active tickets", + "searchPlaceholder": "Search subject, user, category or ID…", + "presetActive": "Active", + "statusOpen": "Open", + "statusInProgress": "In progress", + "statusWaiting": "Waiting", + "statusClosed": "Closed", + "colTicket": "Ticket", + "colStatus": "Status", + "colPriority": "Priority", + "colAssigned": "Assigned", + "colDate": "Date", + "meta": "by {user} · {count} msg · {category}" + }, + "cfh": { + "title": "Call for Help", + "subtitle": "In-game CFH / support tickets", + "noTickets": "No CFH tickets", + "searchPlaceholder": "Search issue, user or ID…", + "noDescription": "No description", + "roomMeta": "Room #{room} · {when}", + "stateOpen": "Open", + "statePicked": "Picked", + "stateClosed": "Closed", + "colId": "ID", + "colIssue": "Issue", + "colSender": "Sender", + "colReported": "Reported", + "colMod": "Mod", + "colStatus": "Status" + }, + "hubs": { + "newsMedia": "News & media", + "newsMediaSubtitle": "Articles, photos, banners, ads and media library", + "siteContent": "Site content", + "siteContentSubtitle": "Navigation, help center, boxes, tags and prefixes", + "engagement": "Engagement", + "engagementSubtitle": "Events, polls and support tickets", + "users": "Users", + "usersSubtitle": "Directory, online players, applications and teams", + "access": "Access & security", + "accessSubtitle": "Bans, IP, VPN, permissions and word filter", + "moderation": "Moderation", + "moderationSubtitle": "Reports, actions and moderation team", + "catalog": "Catalog & rares", + "catalogSubtitle": "Catalog, rares, badges, achievements and sounds", + "shop": "Shop & payments", + "shopSubtitle": "Shop, transactions, vouchers, subscriptions and calendar", + "radio": "Radio", + "radioSubtitle": "Stream, DJ tools, embed and monitoring", + "settings": "Settings", + "settingsSubtitle": "CMS config, theme, maintenance and related tools", + "tools": "Tools", + "toolsSubtitle": "RCON, rooms, import and translations", + "observability": "Observability", + "observabilitySubtitle": "Logs, analytics, DevOps and hotel alerts", + "tabs": { + "articles": "Articles", + "photos": "Photos", + "banners": "Banners", + "ads": "Ads", + "media": "Media", + "navigator": "Navigator", + "help": "Help", + "boxes": "Boxes", + "tags": "Tags", + "prefixes": "Prefixes", + "events": "Events", + "eventTypes": "Event types", + "polls": "Polls", + "tickets": "Tickets", + "templates": "Templates", + "directory": "Directory", + "multiAccounts": "Multi-accounts", + "online": "Online", + "applications": "Applications", + "teams": "Teams", + "bans": "Bans", + "ip": "IP", + "vpn": "VPN", + "permissions": "Permissions", + "wordFilter": "Word filter", + "overview": "Overview", + "actions": "Actions", + "cfh": "CFH", + "team": "Team", + "catalogTab": "Catalog", + "rares": "Rares", + "badges": "Badges", + "achievements": "Achievements", + "sounds": "Sounds", + "shopTab": "Shop", + "transactions": "Transactions", + "vouchers": "Vouchers", + "subscriptions": "Subscriptions", + "calendar": "Calendar", + "history": "History", + "moderationTab": "Moderation", + "monitoring": "Monitoring", + "settingsTab": "Settings", + "embed": "Embed", + "apiKeys": "API keys", + "points": "Points", + "ranks": "Ranks", + "autoDj": "Auto DJ", + "cms": "CMS", + "theme": "Theme", + "maintenance": "Maintenance", + "favicon": "Favicon", + "emulator": "Emulator", + "email": "Email", + "housekeeping": "Housekeeping", + "commando": "Commando", + "rooms": "Rooms", + "import": "Import", + "translations": "Translations", + "logs": "Logs", + "audit": "Audit", + "chat": "Chat", + "commands": "Commands", + "trades": "Trades", + "analytics": "Analytics", + "activity": "Activity", + "economy": "Economy", + "devops": "DevOps", + "errors": "Errors", + "alerts": "Alerts", + "toolsGroup": "Tools" + } } }, "client": { diff --git a/src/messages/fr.json b/src/messages/fr.json index 1b6ec506..a6fabf0e 100644 --- a/src/messages/fr.json +++ b/src/messages/fr.json @@ -1241,7 +1241,18 @@ "save": "Enregistrer le pack", "saving": "Enregistrement…", "cancel": "Annuler" - } + }, + "recentOrders": "Recent orders", + "paidOrders": "Paid orders", + "ordersHint": "Latest PayPal transactions", + "colCredits": "Credits", + "colDuckets": "Duckets", + "colDiamonds": "Diamonds", + "colRank": "Rank", + "colPosition": "Position", + "colTransaction": "Transaction", + "colUser": "User", + "colDescription": "Description" }, "transactions": { "title": "Transactions", @@ -1266,7 +1277,15 @@ "grossAmount": "Montant brut", "fee": "Frais", "netAmount": "Montant net" - } + }, + "totalTransactions": "Total transactions", + "pagePaid": "Paid (this page)", + "pageFailed": "Failed (this page)", + "searchPlaceholder": "Search by user, transaction ID or package…", + "presetPaid": "Paid", + "presetFailed": "Failed", + "colPayer": "Payer", + "colTransaction": "Transaction ID" }, "vouchers": { "title": "Bons d'achat", @@ -1304,8 +1323,25 @@ "enabled": "Activé", "save": "Enregistrer le bon", "saving": "Enregistrement…", - "cancel": "Annuler" - } + "cancel": "Annuler", + "amount": "Credits amount", + "amountPlaceholder": "e.g. 100", + "create": "Create voucher" + }, + "vouchers": "Vouchers", + "active": "Active", + "usedUp": "Used up", + "expired": "Expired", + "confirmDeleteTitle": "Delete voucher", + "created": "Voucher created", + "deleted": "Voucher deleted", + "createError": "Could not create voucher", + "deleteError": "Could not delete voucher", + "statusActive": "Active", + "statusUsedUp": "Used up", + "statusExpired": "Expired", + "colAmount": "Amount", + "colStatus": "Status" }, "subscriptions": { "title": "Abonnements", @@ -1785,7 +1821,26 @@ "colTimestamp": "Horodatage", "filterByUser": "Filtrer par utilisateur…", "filterByAction": "Filtrer par action…", - "clearFilters": "Effacer les filtres" + "clearFilters": "Effacer les filtres", + "noResults": "No matching activities", + "colStaff": "Staff", + "colWhen": "When", + "searchPlaceholder": "Search action, description or IP…", + "totalActivities": "Total activities", + "onThisPage": "On this page", + "recent": "Last minute", + "authorizationErrors": "Authorization errors", + "authorizationOnly": "Auth errors only", + "allActivities": "All activities", + "staffId": "Staff ID", + "actionType": "Action type", + "filter": "Filter", + "activities": "{count} activities", + "staffWithId": "#{id} {name}", + "userPrefix": "user", + "pagination": "Page {page} of {pages} · {total} total", + "next": "Next", + "prev": "Previous" }, "wordfilter": { "title": "Filtre de mots", @@ -1806,7 +1861,15 @@ "save": "Ajouter au filtre", "saving": "Enregistrement…", "cancel": "Annuler" - } + }, + "filteredWords": "Filtered words", + "words": "Words", + "delete": "Delete", + "confirmDeleteTitle": "Remove word", + "added": "Word added to filter", + "deleted": "Word removed from filter", + "addError": "Could not add word (it may already exist)", + "deleteError": "Could not remove word" }, "maintenance": { "title": "Mode maintenance", @@ -1933,7 +1996,9 @@ "auditUser": "Utilisateur", "auditAction": "Action", "auditTarget": "Cible", - "selectAllMatching": "Select all {count} matching" + "selectAllMatching": "Select all {count} matching", + "save": "Save", + "importTitle": "Import permissions" }, "rooms": { "title": "Salons", @@ -2075,7 +2140,14 @@ "save": "Enregistrer le paramètre", "saving": "Enregistrement…", "cancel": "Annuler" - } + }, + "keysInDatabase": "{count} keys in database", + "managedInForm": "{count} managed in form", + "documented": "{count} documented", + "saved": "Settings saved.", + "saveFailed": "Could not save settings.", + "saveSettings": "Save settings", + "viewOnly": "You can view settings but need edit permission to change them." }, "favicon": { "title": "Favicon", @@ -2098,7 +2170,8 @@ "textColor": "Text color", "rounded": "Rounded corners", "save": "Save as favicon" - } + }, + "cancel": "Cancel" }, "import": { "title": "Import", @@ -2130,6 +2203,139 @@ "infoBox": "Configuration settings (ports, timeouts, IDs) do not appear here — use the full settings link. Saved changes are synced to the emulator via RCON.", "fullSettings": "Full settings" } + }, + "tickets": { + "title": "Tickets", + "subtitle": "Support tickets from players", + "noTickets": "No active tickets", + "searchPlaceholder": "Search subject, user, category or ID…", + "presetActive": "Active", + "statusOpen": "Open", + "statusInProgress": "In progress", + "statusWaiting": "Waiting", + "statusClosed": "Closed", + "colTicket": "Ticket", + "colStatus": "Status", + "colPriority": "Priority", + "colAssigned": "Assigned", + "colDate": "Date", + "meta": "by {user} · {count} msg · {category}" + }, + "cfh": { + "title": "Call for Help", + "subtitle": "In-game CFH / support tickets", + "noTickets": "No CFH tickets", + "searchPlaceholder": "Search issue, user or ID…", + "noDescription": "No description", + "roomMeta": "Room #{room} · {when}", + "stateOpen": "Open", + "statePicked": "Picked", + "stateClosed": "Closed", + "colId": "ID", + "colIssue": "Issue", + "colSender": "Sender", + "colReported": "Reported", + "colMod": "Mod", + "colStatus": "Status" + }, + "hubs": { + "newsMedia": "News & media", + "newsMediaSubtitle": "Articles, photos, banners, ads and media library", + "siteContent": "Site content", + "siteContentSubtitle": "Navigation, help center, boxes, tags and prefixes", + "engagement": "Engagement", + "engagementSubtitle": "Events, polls and support tickets", + "users": "Users", + "usersSubtitle": "Directory, online players, applications and teams", + "access": "Access & security", + "accessSubtitle": "Bans, IP, VPN, permissions and word filter", + "moderation": "Moderation", + "moderationSubtitle": "Reports, actions and moderation team", + "catalog": "Catalog & rares", + "catalogSubtitle": "Catalog, rares, badges, achievements and sounds", + "shop": "Shop & payments", + "shopSubtitle": "Shop, transactions, vouchers, subscriptions and calendar", + "radio": "Radio", + "radioSubtitle": "Stream, DJ tools, embed and monitoring", + "settings": "Settings", + "settingsSubtitle": "CMS config, theme, maintenance and related tools", + "tools": "Tools", + "toolsSubtitle": "RCON, rooms, import and translations", + "observability": "Observability", + "observabilitySubtitle": "Logs, analytics, DevOps and hotel alerts", + "tabs": { + "articles": "Articles", + "photos": "Photos", + "banners": "Banners", + "ads": "Ads", + "media": "Media", + "navigator": "Navigator", + "help": "Help", + "boxes": "Boxes", + "tags": "Tags", + "prefixes": "Prefixes", + "events": "Events", + "eventTypes": "Event types", + "polls": "Polls", + "tickets": "Tickets", + "templates": "Templates", + "directory": "Directory", + "multiAccounts": "Multi-accounts", + "online": "Online", + "applications": "Applications", + "teams": "Teams", + "bans": "Bans", + "ip": "IP", + "vpn": "VPN", + "permissions": "Permissions", + "wordFilter": "Word filter", + "overview": "Overview", + "actions": "Actions", + "cfh": "CFH", + "team": "Team", + "catalogTab": "Catalog", + "rares": "Rares", + "badges": "Badges", + "achievements": "Achievements", + "sounds": "Sounds", + "shopTab": "Shop", + "transactions": "Transactions", + "vouchers": "Vouchers", + "subscriptions": "Subscriptions", + "calendar": "Calendar", + "history": "History", + "moderationTab": "Moderation", + "monitoring": "Monitoring", + "settingsTab": "Settings", + "embed": "Embed", + "apiKeys": "API keys", + "points": "Points", + "ranks": "Ranks", + "autoDj": "Auto DJ", + "cms": "CMS", + "theme": "Theme", + "maintenance": "Maintenance", + "favicon": "Favicon", + "emulator": "Emulator", + "email": "Email", + "housekeeping": "Housekeeping", + "commando": "Commando", + "rooms": "Rooms", + "import": "Import", + "translations": "Translations", + "logs": "Logs", + "audit": "Audit", + "chat": "Chat", + "commands": "Commands", + "trades": "Trades", + "analytics": "Analytics", + "activity": "Activity", + "economy": "Economy", + "devops": "DevOps", + "errors": "Errors", + "alerts": "Alerts", + "toolsGroup": "Tools" + } } }, "client": { diff --git a/src/messages/hr.json b/src/messages/hr.json index d72a6b4c..3dcf03ac 100644 --- a/src/messages/hr.json +++ b/src/messages/hr.json @@ -1277,7 +1277,18 @@ "save": "Spremi paket", "saving": "Spremanje...", "cancel": "Odustani" - } + }, + "recentOrders": "Recent orders", + "paidOrders": "Paid orders", + "ordersHint": "Latest PayPal transactions", + "colCredits": "Credits", + "colDuckets": "Duckets", + "colDiamonds": "Diamonds", + "colRank": "Rank", + "colPosition": "Position", + "colTransaction": "Transaction", + "colUser": "User", + "colDescription": "Description" }, "transactions": { "title": "Transakcije", @@ -1302,7 +1313,15 @@ "grossAmount": "Bruto iznos", "fee": "naknada", "netAmount": "Neto iznos" - } + }, + "totalTransactions": "Total transactions", + "pagePaid": "Paid (this page)", + "pageFailed": "Failed (this page)", + "searchPlaceholder": "Search by user, transaction ID or package…", + "presetPaid": "Paid", + "presetFailed": "Failed", + "colPayer": "Payer", + "colTransaction": "Transaction ID" }, "vouchers": { "title": "Kupujte bonove", @@ -1340,8 +1359,25 @@ "enabled": "Omogućeno", "save": "Sačuvaj vaučer", "saving": "Spremanje...", - "cancel": "Odustani" - } + "cancel": "Odustani", + "amount": "Credits amount", + "amountPlaceholder": "e.g. 100", + "create": "Create voucher" + }, + "vouchers": "Vouchers", + "active": "Active", + "usedUp": "Used up", + "expired": "Expired", + "confirmDeleteTitle": "Delete voucher", + "created": "Voucher created", + "deleted": "Voucher deleted", + "createError": "Could not create voucher", + "deleteError": "Could not delete voucher", + "statusActive": "Active", + "statusUsedUp": "Used up", + "statusExpired": "Expired", + "colAmount": "Amount", + "colStatus": "Status" }, "subscriptions": { "title": "Pretplate", @@ -1821,7 +1857,26 @@ "colTimestamp": "Vremenska oznaka", "filterByUser": "Filtriraj po korisniku…", "filterByAction": "Filtriraj prema radnji...", - "clearFilters": "Očisti filtre" + "clearFilters": "Očisti filtre", + "noResults": "No matching activities", + "colStaff": "Staff", + "colWhen": "When", + "searchPlaceholder": "Search action, description or IP…", + "totalActivities": "Total activities", + "onThisPage": "On this page", + "recent": "Last minute", + "authorizationErrors": "Authorization errors", + "authorizationOnly": "Auth errors only", + "allActivities": "All activities", + "staffId": "Staff ID", + "actionType": "Action type", + "filter": "Filter", + "activities": "{count} activities", + "staffWithId": "#{id} {name}", + "userPrefix": "user", + "pagination": "Page {page} of {pages} · {total} total", + "next": "Next", + "prev": "Previous" }, "wordfilter": { "title": "Filtar riječi", @@ -1842,7 +1897,15 @@ "save": "Dodaj u filter", "saving": "Spremanje...", "cancel": "Odustani" - } + }, + "filteredWords": "Filtered words", + "words": "Words", + "delete": "Delete", + "confirmDeleteTitle": "Remove word", + "added": "Word added to filter", + "deleted": "Word removed from filter", + "addError": "Could not add word (it may already exist)", + "deleteError": "Could not remove word" }, "maintenance": { "title": "Način održavanja", @@ -1969,7 +2032,9 @@ "auditUser": "Korisnik", "auditAction": "Akcija", "auditTarget": "cilj", - "selectAllMatching": "Select all {count} matching" + "selectAllMatching": "Select all {count} matching", + "save": "Save", + "importTitle": "Import permissions" }, "rooms": { "title": "Sobe", @@ -2112,7 +2177,8 @@ "textColor": "Boja teksta", "rounded": "Zaobljeni kutovi", "save": "Spremi kao favicon" - } + }, + "cancel": "Cancel" }, "settings": { "title": "CMS postavke", @@ -2134,7 +2200,14 @@ "save": "Spremi postavku", "saving": "Spremanje...", "cancel": "Odustani" - } + }, + "keysInDatabase": "{count} keys in database", + "managedInForm": "{count} managed in form", + "documented": "{count} documented", + "saved": "Settings saved.", + "saveFailed": "Could not save settings.", + "saveSettings": "Save settings", + "viewOnly": "You can view settings but need edit permission to change them." }, "import": { "title": "Import", @@ -2166,6 +2239,139 @@ "infoBox": "Configuration settings (ports, timeouts, IDs) do not appear here — use the full settings link. Saved changes are synced to the emulator via RCON.", "fullSettings": "Full settings" } + }, + "tickets": { + "title": "Tickets", + "subtitle": "Support tickets from players", + "noTickets": "No active tickets", + "searchPlaceholder": "Search subject, user, category or ID…", + "presetActive": "Active", + "statusOpen": "Open", + "statusInProgress": "In progress", + "statusWaiting": "Waiting", + "statusClosed": "Closed", + "colTicket": "Ticket", + "colStatus": "Status", + "colPriority": "Priority", + "colAssigned": "Assigned", + "colDate": "Date", + "meta": "by {user} · {count} msg · {category}" + }, + "cfh": { + "title": "Call for Help", + "subtitle": "In-game CFH / support tickets", + "noTickets": "No CFH tickets", + "searchPlaceholder": "Search issue, user or ID…", + "noDescription": "No description", + "roomMeta": "Room #{room} · {when}", + "stateOpen": "Open", + "statePicked": "Picked", + "stateClosed": "Closed", + "colId": "ID", + "colIssue": "Issue", + "colSender": "Sender", + "colReported": "Reported", + "colMod": "Mod", + "colStatus": "Status" + }, + "hubs": { + "newsMedia": "News & media", + "newsMediaSubtitle": "Articles, photos, banners, ads and media library", + "siteContent": "Site content", + "siteContentSubtitle": "Navigation, help center, boxes, tags and prefixes", + "engagement": "Engagement", + "engagementSubtitle": "Events, polls and support tickets", + "users": "Users", + "usersSubtitle": "Directory, online players, applications and teams", + "access": "Access & security", + "accessSubtitle": "Bans, IP, VPN, permissions and word filter", + "moderation": "Moderation", + "moderationSubtitle": "Reports, actions and moderation team", + "catalog": "Catalog & rares", + "catalogSubtitle": "Catalog, rares, badges, achievements and sounds", + "shop": "Shop & payments", + "shopSubtitle": "Shop, transactions, vouchers, subscriptions and calendar", + "radio": "Radio", + "radioSubtitle": "Stream, DJ tools, embed and monitoring", + "settings": "Settings", + "settingsSubtitle": "CMS config, theme, maintenance and related tools", + "tools": "Tools", + "toolsSubtitle": "RCON, rooms, import and translations", + "observability": "Observability", + "observabilitySubtitle": "Logs, analytics, DevOps and hotel alerts", + "tabs": { + "articles": "Articles", + "photos": "Photos", + "banners": "Banners", + "ads": "Ads", + "media": "Media", + "navigator": "Navigator", + "help": "Help", + "boxes": "Boxes", + "tags": "Tags", + "prefixes": "Prefixes", + "events": "Events", + "eventTypes": "Event types", + "polls": "Polls", + "tickets": "Tickets", + "templates": "Templates", + "directory": "Directory", + "multiAccounts": "Multi-accounts", + "online": "Online", + "applications": "Applications", + "teams": "Teams", + "bans": "Bans", + "ip": "IP", + "vpn": "VPN", + "permissions": "Permissions", + "wordFilter": "Word filter", + "overview": "Overview", + "actions": "Actions", + "cfh": "CFH", + "team": "Team", + "catalogTab": "Catalog", + "rares": "Rares", + "badges": "Badges", + "achievements": "Achievements", + "sounds": "Sounds", + "shopTab": "Shop", + "transactions": "Transactions", + "vouchers": "Vouchers", + "subscriptions": "Subscriptions", + "calendar": "Calendar", + "history": "History", + "moderationTab": "Moderation", + "monitoring": "Monitoring", + "settingsTab": "Settings", + "embed": "Embed", + "apiKeys": "API keys", + "points": "Points", + "ranks": "Ranks", + "autoDj": "Auto DJ", + "cms": "CMS", + "theme": "Theme", + "maintenance": "Maintenance", + "favicon": "Favicon", + "emulator": "Emulator", + "email": "Email", + "housekeeping": "Housekeeping", + "commando": "Commando", + "rooms": "Rooms", + "import": "Import", + "translations": "Translations", + "logs": "Logs", + "audit": "Audit", + "chat": "Chat", + "commands": "Commands", + "trades": "Trades", + "analytics": "Analytics", + "activity": "Activity", + "economy": "Economy", + "devops": "DevOps", + "errors": "Errors", + "alerts": "Alerts", + "toolsGroup": "Tools" + } } } } diff --git a/src/messages/hu.json b/src/messages/hu.json index 84e7f8de..8f712912 100644 --- a/src/messages/hu.json +++ b/src/messages/hu.json @@ -1277,7 +1277,18 @@ "save": "Csomag mentése", "saving": "Mentés…", "cancel": "Mégse" - } + }, + "recentOrders": "Recent orders", + "paidOrders": "Paid orders", + "ordersHint": "Latest PayPal transactions", + "colCredits": "Credits", + "colDuckets": "Duckets", + "colDiamonds": "Diamonds", + "colRank": "Rank", + "colPosition": "Position", + "colTransaction": "Transaction", + "colUser": "User", + "colDescription": "Description" }, "transactions": { "title": "Tranzakciók", @@ -1302,7 +1313,15 @@ "grossAmount": "Bruttó összeg", "fee": "Díj", "netAmount": "Nettó összeg" - } + }, + "totalTransactions": "Total transactions", + "pagePaid": "Paid (this page)", + "pageFailed": "Failed (this page)", + "searchPlaceholder": "Search by user, transaction ID or package…", + "presetPaid": "Paid", + "presetFailed": "Failed", + "colPayer": "Payer", + "colTransaction": "Transaction ID" }, "vouchers": { "title": "Vásárlási utalványok", @@ -1340,8 +1359,25 @@ "enabled": "Engedélyezve", "save": "Mentse el az utalványt", "saving": "Mentés…", - "cancel": "Mégse" - } + "cancel": "Mégse", + "amount": "Credits amount", + "amountPlaceholder": "e.g. 100", + "create": "Create voucher" + }, + "vouchers": "Vouchers", + "active": "Active", + "usedUp": "Used up", + "expired": "Expired", + "confirmDeleteTitle": "Delete voucher", + "created": "Voucher created", + "deleted": "Voucher deleted", + "createError": "Could not create voucher", + "deleteError": "Could not delete voucher", + "statusActive": "Active", + "statusUsedUp": "Used up", + "statusExpired": "Expired", + "colAmount": "Amount", + "colStatus": "Status" }, "subscriptions": { "title": "Előfizetések", @@ -1821,7 +1857,26 @@ "colTimestamp": "Időbélyeg", "filterByUser": "Szűrés felhasználó szerint…", "filterByAction": "Szűrés művelet szerint…", - "clearFilters": "Tiszta szűrők" + "clearFilters": "Tiszta szűrők", + "noResults": "No matching activities", + "colStaff": "Staff", + "colWhen": "When", + "searchPlaceholder": "Search action, description or IP…", + "totalActivities": "Total activities", + "onThisPage": "On this page", + "recent": "Last minute", + "authorizationErrors": "Authorization errors", + "authorizationOnly": "Auth errors only", + "allActivities": "All activities", + "staffId": "Staff ID", + "actionType": "Action type", + "filter": "Filter", + "activities": "{count} activities", + "staffWithId": "#{id} {name}", + "userPrefix": "user", + "pagination": "Page {page} of {pages} · {total} total", + "next": "Next", + "prev": "Previous" }, "wordfilter": { "title": "Szószűrő", @@ -1842,7 +1897,15 @@ "save": "Hozzáadás a szűrőhöz", "saving": "Mentés…", "cancel": "Mégse" - } + }, + "filteredWords": "Filtered words", + "words": "Words", + "delete": "Delete", + "confirmDeleteTitle": "Remove word", + "added": "Word added to filter", + "deleted": "Word removed from filter", + "addError": "Could not add word (it may already exist)", + "deleteError": "Could not remove word" }, "maintenance": { "title": "Karbantartási mód", @@ -1969,7 +2032,9 @@ "auditUser": "Felhasználó", "auditAction": "Akció", "auditTarget": "Cél", - "selectAllMatching": "Select all {count} matching" + "selectAllMatching": "Select all {count} matching", + "save": "Save", + "importTitle": "Import permissions" }, "rooms": { "title": "Szobák", @@ -2112,7 +2177,8 @@ "textColor": "Szöveg színe", "rounded": "Lekerekített sarkok", "save": "Mentés faviconként" - } + }, + "cancel": "Cancel" }, "settings": { "title": "CMS beállítások", @@ -2134,7 +2200,14 @@ "save": "Beállítás mentése", "saving": "Mentés…", "cancel": "Mégse" - } + }, + "keysInDatabase": "{count} keys in database", + "managedInForm": "{count} managed in form", + "documented": "{count} documented", + "saved": "Settings saved.", + "saveFailed": "Could not save settings.", + "saveSettings": "Save settings", + "viewOnly": "You can view settings but need edit permission to change them." }, "import": { "title": "Import", @@ -2166,6 +2239,139 @@ "infoBox": "Configuration settings (ports, timeouts, IDs) do not appear here — use the full settings link. Saved changes are synced to the emulator via RCON.", "fullSettings": "Full settings" } + }, + "tickets": { + "title": "Tickets", + "subtitle": "Support tickets from players", + "noTickets": "No active tickets", + "searchPlaceholder": "Search subject, user, category or ID…", + "presetActive": "Active", + "statusOpen": "Open", + "statusInProgress": "In progress", + "statusWaiting": "Waiting", + "statusClosed": "Closed", + "colTicket": "Ticket", + "colStatus": "Status", + "colPriority": "Priority", + "colAssigned": "Assigned", + "colDate": "Date", + "meta": "by {user} · {count} msg · {category}" + }, + "cfh": { + "title": "Call for Help", + "subtitle": "In-game CFH / support tickets", + "noTickets": "No CFH tickets", + "searchPlaceholder": "Search issue, user or ID…", + "noDescription": "No description", + "roomMeta": "Room #{room} · {when}", + "stateOpen": "Open", + "statePicked": "Picked", + "stateClosed": "Closed", + "colId": "ID", + "colIssue": "Issue", + "colSender": "Sender", + "colReported": "Reported", + "colMod": "Mod", + "colStatus": "Status" + }, + "hubs": { + "newsMedia": "News & media", + "newsMediaSubtitle": "Articles, photos, banners, ads and media library", + "siteContent": "Site content", + "siteContentSubtitle": "Navigation, help center, boxes, tags and prefixes", + "engagement": "Engagement", + "engagementSubtitle": "Events, polls and support tickets", + "users": "Users", + "usersSubtitle": "Directory, online players, applications and teams", + "access": "Access & security", + "accessSubtitle": "Bans, IP, VPN, permissions and word filter", + "moderation": "Moderation", + "moderationSubtitle": "Reports, actions and moderation team", + "catalog": "Catalog & rares", + "catalogSubtitle": "Catalog, rares, badges, achievements and sounds", + "shop": "Shop & payments", + "shopSubtitle": "Shop, transactions, vouchers, subscriptions and calendar", + "radio": "Radio", + "radioSubtitle": "Stream, DJ tools, embed and monitoring", + "settings": "Settings", + "settingsSubtitle": "CMS config, theme, maintenance and related tools", + "tools": "Tools", + "toolsSubtitle": "RCON, rooms, import and translations", + "observability": "Observability", + "observabilitySubtitle": "Logs, analytics, DevOps and hotel alerts", + "tabs": { + "articles": "Articles", + "photos": "Photos", + "banners": "Banners", + "ads": "Ads", + "media": "Media", + "navigator": "Navigator", + "help": "Help", + "boxes": "Boxes", + "tags": "Tags", + "prefixes": "Prefixes", + "events": "Events", + "eventTypes": "Event types", + "polls": "Polls", + "tickets": "Tickets", + "templates": "Templates", + "directory": "Directory", + "multiAccounts": "Multi-accounts", + "online": "Online", + "applications": "Applications", + "teams": "Teams", + "bans": "Bans", + "ip": "IP", + "vpn": "VPN", + "permissions": "Permissions", + "wordFilter": "Word filter", + "overview": "Overview", + "actions": "Actions", + "cfh": "CFH", + "team": "Team", + "catalogTab": "Catalog", + "rares": "Rares", + "badges": "Badges", + "achievements": "Achievements", + "sounds": "Sounds", + "shopTab": "Shop", + "transactions": "Transactions", + "vouchers": "Vouchers", + "subscriptions": "Subscriptions", + "calendar": "Calendar", + "history": "History", + "moderationTab": "Moderation", + "monitoring": "Monitoring", + "settingsTab": "Settings", + "embed": "Embed", + "apiKeys": "API keys", + "points": "Points", + "ranks": "Ranks", + "autoDj": "Auto DJ", + "cms": "CMS", + "theme": "Theme", + "maintenance": "Maintenance", + "favicon": "Favicon", + "emulator": "Emulator", + "email": "Email", + "housekeeping": "Housekeeping", + "commando": "Commando", + "rooms": "Rooms", + "import": "Import", + "translations": "Translations", + "logs": "Logs", + "audit": "Audit", + "chat": "Chat", + "commands": "Commands", + "trades": "Trades", + "analytics": "Analytics", + "activity": "Activity", + "economy": "Economy", + "devops": "DevOps", + "errors": "Errors", + "alerts": "Alerts", + "toolsGroup": "Tools" + } } } } diff --git a/src/messages/it.json b/src/messages/it.json index cd82261f..fe0829a5 100644 --- a/src/messages/it.json +++ b/src/messages/it.json @@ -1855,7 +1855,26 @@ "colTimestamp": "Data", "filterByUser": "Filtra per utente…", "filterByAction": "Filtra per azione…", - "clearFilters": "Pulisci filtri" + "clearFilters": "Pulisci filtri", + "noResults": "No matching activities", + "colStaff": "Staff", + "colWhen": "When", + "searchPlaceholder": "Search action, description or IP…", + "totalActivities": "Total activities", + "onThisPage": "On this page", + "recent": "Last minute", + "authorizationErrors": "Authorization errors", + "authorizationOnly": "Auth errors only", + "allActivities": "All activities", + "staffId": "Staff ID", + "actionType": "Action type", + "filter": "Filter", + "activities": "{count} activities", + "staffWithId": "#{id} {name}", + "userPrefix": "user", + "pagination": "Page {page} of {pages} · {total} total", + "next": "Next", + "prev": "Previous" }, "wordfilter": { "title": "Filtro parole", @@ -2011,7 +2030,9 @@ "auditUser": "Utente", "auditAction": "Azione", "auditTarget": "Destinatario", - "selectAllMatching": "Select all {count} matching" + "selectAllMatching": "Select all {count} matching", + "save": "Save", + "importTitle": "Import permissions" }, "rooms": { "title": "Stanze", diff --git a/src/messages/nl.json b/src/messages/nl.json index fdad9654..0e052399 100644 --- a/src/messages/nl.json +++ b/src/messages/nl.json @@ -1968,7 +1968,9 @@ "auditTime": "Tijd", "auditUser": "Gebruiker", "auditAction": "Actie", - "auditTarget": "Doel" + "auditTarget": "Doel", + "save": "Opslaan", + "importTitle": "Permissies importeren" }, "rooms": { "title": "Kamers", diff --git a/src/messages/no.json b/src/messages/no.json index bc547ae9..7850aed1 100644 --- a/src/messages/no.json +++ b/src/messages/no.json @@ -1277,7 +1277,18 @@ "save": "Lagre pakken", "saving": "Lagrer …", "cancel": "Avbryt" - } + }, + "recentOrders": "Recent orders", + "paidOrders": "Paid orders", + "ordersHint": "Latest PayPal transactions", + "colCredits": "Credits", + "colDuckets": "Duckets", + "colDiamonds": "Diamonds", + "colRank": "Rank", + "colPosition": "Position", + "colTransaction": "Transaction", + "colUser": "User", + "colDescription": "Description" }, "transactions": { "title": "Transaksjoner", @@ -1302,7 +1313,15 @@ "grossAmount": "Bruttobeløp", "fee": "Gebyr", "netAmount": "Netto beløp" - } + }, + "totalTransactions": "Total transactions", + "pagePaid": "Paid (this page)", + "pageFailed": "Failed (this page)", + "searchPlaceholder": "Search by user, transaction ID or package…", + "presetPaid": "Paid", + "presetFailed": "Failed", + "colPayer": "Payer", + "colTransaction": "Transaction ID" }, "vouchers": { "title": "Butikkkuponger", @@ -1340,8 +1359,25 @@ "enabled": "Aktivert", "save": "Lagre kupong", "saving": "Lagrer …", - "cancel": "Avbryt" - } + "cancel": "Avbryt", + "amount": "Credits amount", + "amountPlaceholder": "e.g. 100", + "create": "Create voucher" + }, + "vouchers": "Vouchers", + "active": "Active", + "usedUp": "Used up", + "expired": "Expired", + "confirmDeleteTitle": "Delete voucher", + "created": "Voucher created", + "deleted": "Voucher deleted", + "createError": "Could not create voucher", + "deleteError": "Could not delete voucher", + "statusActive": "Active", + "statusUsedUp": "Used up", + "statusExpired": "Expired", + "colAmount": "Amount", + "colStatus": "Status" }, "subscriptions": { "title": "Abonnementer", @@ -1821,7 +1857,26 @@ "colTimestamp": "Tidsstempel", "filterByUser": "Filtrer etter bruker...", "filterByAction": "Filtrer etter handling...", - "clearFilters": "Tøm filtre" + "clearFilters": "Tøm filtre", + "noResults": "No matching activities", + "colStaff": "Staff", + "colWhen": "When", + "searchPlaceholder": "Search action, description or IP…", + "totalActivities": "Total activities", + "onThisPage": "On this page", + "recent": "Last minute", + "authorizationErrors": "Authorization errors", + "authorizationOnly": "Auth errors only", + "allActivities": "All activities", + "staffId": "Staff ID", + "actionType": "Action type", + "filter": "Filter", + "activities": "{count} activities", + "staffWithId": "#{id} {name}", + "userPrefix": "user", + "pagination": "Page {page} of {pages} · {total} total", + "next": "Next", + "prev": "Previous" }, "wordfilter": { "title": "Ordfilter", @@ -1842,7 +1897,15 @@ "save": "Legg til filter", "saving": "Lagrer …", "cancel": "Avbryt" - } + }, + "filteredWords": "Filtered words", + "words": "Words", + "delete": "Delete", + "confirmDeleteTitle": "Remove word", + "added": "Word added to filter", + "deleted": "Word removed from filter", + "addError": "Could not add word (it may already exist)", + "deleteError": "Could not remove word" }, "maintenance": { "title": "Vedlikeholdsmodus", @@ -1969,7 +2032,9 @@ "auditUser": "Bruker", "auditAction": "Handling", "auditTarget": "Mål", - "selectAllMatching": "Select all {count} matching" + "selectAllMatching": "Select all {count} matching", + "save": "Save", + "importTitle": "Import permissions" }, "rooms": { "title": "Rom", @@ -2112,7 +2177,8 @@ "textColor": "Tekstfarge", "rounded": "Avrundede hjørner", "save": "Lagre som favorittikon" - } + }, + "cancel": "Cancel" }, "settings": { "title": "CMS-innstillinger", @@ -2134,7 +2200,14 @@ "save": "Lagre innstilling", "saving": "Lagrer …", "cancel": "Avbryt" - } + }, + "keysInDatabase": "{count} keys in database", + "managedInForm": "{count} managed in form", + "documented": "{count} documented", + "saved": "Settings saved.", + "saveFailed": "Could not save settings.", + "saveSettings": "Save settings", + "viewOnly": "You can view settings but need edit permission to change them." }, "import": { "title": "Import", @@ -2166,6 +2239,139 @@ "infoBox": "Configuration settings (ports, timeouts, IDs) do not appear here — use the full settings link. Saved changes are synced to the emulator via RCON.", "fullSettings": "Full settings" } + }, + "tickets": { + "title": "Tickets", + "subtitle": "Support tickets from players", + "noTickets": "No active tickets", + "searchPlaceholder": "Search subject, user, category or ID…", + "presetActive": "Active", + "statusOpen": "Open", + "statusInProgress": "In progress", + "statusWaiting": "Waiting", + "statusClosed": "Closed", + "colTicket": "Ticket", + "colStatus": "Status", + "colPriority": "Priority", + "colAssigned": "Assigned", + "colDate": "Date", + "meta": "by {user} · {count} msg · {category}" + }, + "cfh": { + "title": "Call for Help", + "subtitle": "In-game CFH / support tickets", + "noTickets": "No CFH tickets", + "searchPlaceholder": "Search issue, user or ID…", + "noDescription": "No description", + "roomMeta": "Room #{room} · {when}", + "stateOpen": "Open", + "statePicked": "Picked", + "stateClosed": "Closed", + "colId": "ID", + "colIssue": "Issue", + "colSender": "Sender", + "colReported": "Reported", + "colMod": "Mod", + "colStatus": "Status" + }, + "hubs": { + "newsMedia": "News & media", + "newsMediaSubtitle": "Articles, photos, banners, ads and media library", + "siteContent": "Site content", + "siteContentSubtitle": "Navigation, help center, boxes, tags and prefixes", + "engagement": "Engagement", + "engagementSubtitle": "Events, polls and support tickets", + "users": "Users", + "usersSubtitle": "Directory, online players, applications and teams", + "access": "Access & security", + "accessSubtitle": "Bans, IP, VPN, permissions and word filter", + "moderation": "Moderation", + "moderationSubtitle": "Reports, actions and moderation team", + "catalog": "Catalog & rares", + "catalogSubtitle": "Catalog, rares, badges, achievements and sounds", + "shop": "Shop & payments", + "shopSubtitle": "Shop, transactions, vouchers, subscriptions and calendar", + "radio": "Radio", + "radioSubtitle": "Stream, DJ tools, embed and monitoring", + "settings": "Settings", + "settingsSubtitle": "CMS config, theme, maintenance and related tools", + "tools": "Tools", + "toolsSubtitle": "RCON, rooms, import and translations", + "observability": "Observability", + "observabilitySubtitle": "Logs, analytics, DevOps and hotel alerts", + "tabs": { + "articles": "Articles", + "photos": "Photos", + "banners": "Banners", + "ads": "Ads", + "media": "Media", + "navigator": "Navigator", + "help": "Help", + "boxes": "Boxes", + "tags": "Tags", + "prefixes": "Prefixes", + "events": "Events", + "eventTypes": "Event types", + "polls": "Polls", + "tickets": "Tickets", + "templates": "Templates", + "directory": "Directory", + "multiAccounts": "Multi-accounts", + "online": "Online", + "applications": "Applications", + "teams": "Teams", + "bans": "Bans", + "ip": "IP", + "vpn": "VPN", + "permissions": "Permissions", + "wordFilter": "Word filter", + "overview": "Overview", + "actions": "Actions", + "cfh": "CFH", + "team": "Team", + "catalogTab": "Catalog", + "rares": "Rares", + "badges": "Badges", + "achievements": "Achievements", + "sounds": "Sounds", + "shopTab": "Shop", + "transactions": "Transactions", + "vouchers": "Vouchers", + "subscriptions": "Subscriptions", + "calendar": "Calendar", + "history": "History", + "moderationTab": "Moderation", + "monitoring": "Monitoring", + "settingsTab": "Settings", + "embed": "Embed", + "apiKeys": "API keys", + "points": "Points", + "ranks": "Ranks", + "autoDj": "Auto DJ", + "cms": "CMS", + "theme": "Theme", + "maintenance": "Maintenance", + "favicon": "Favicon", + "emulator": "Emulator", + "email": "Email", + "housekeeping": "Housekeeping", + "commando": "Commando", + "rooms": "Rooms", + "import": "Import", + "translations": "Translations", + "logs": "Logs", + "audit": "Audit", + "chat": "Chat", + "commands": "Commands", + "trades": "Trades", + "analytics": "Analytics", + "activity": "Activity", + "economy": "Economy", + "devops": "DevOps", + "errors": "Errors", + "alerts": "Alerts", + "toolsGroup": "Tools" + } } } } diff --git a/src/messages/pl.json b/src/messages/pl.json index 6864e14f..c4f01482 100644 --- a/src/messages/pl.json +++ b/src/messages/pl.json @@ -1277,7 +1277,18 @@ "save": "Zapisz pakiet", "saving": "Zapisuję…", "cancel": "Anuluj" - } + }, + "recentOrders": "Recent orders", + "paidOrders": "Paid orders", + "ordersHint": "Latest PayPal transactions", + "colCredits": "Credits", + "colDuckets": "Duckets", + "colDiamonds": "Diamonds", + "colRank": "Rank", + "colPosition": "Position", + "colTransaction": "Transaction", + "colUser": "User", + "colDescription": "Description" }, "transactions": { "title": "Transakcje", @@ -1302,7 +1313,15 @@ "grossAmount": "Kwota brutto", "fee": "Opłata", "netAmount": "Kwota netto" - } + }, + "totalTransactions": "Total transactions", + "pagePaid": "Paid (this page)", + "pageFailed": "Failed (this page)", + "searchPlaceholder": "Search by user, transaction ID or package…", + "presetPaid": "Paid", + "presetFailed": "Failed", + "colPayer": "Payer", + "colTransaction": "Transaction ID" }, "vouchers": { "title": "Kupuj kupony", @@ -1340,8 +1359,25 @@ "enabled": "Włączone", "save": "Zapisz kupon", "saving": "Zapisuję…", - "cancel": "Anuluj" - } + "cancel": "Anuluj", + "amount": "Credits amount", + "amountPlaceholder": "e.g. 100", + "create": "Create voucher" + }, + "vouchers": "Vouchers", + "active": "Active", + "usedUp": "Used up", + "expired": "Expired", + "confirmDeleteTitle": "Delete voucher", + "created": "Voucher created", + "deleted": "Voucher deleted", + "createError": "Could not create voucher", + "deleteError": "Could not delete voucher", + "statusActive": "Active", + "statusUsedUp": "Used up", + "statusExpired": "Expired", + "colAmount": "Amount", + "colStatus": "Status" }, "subscriptions": { "title": "Subskrypcje", @@ -1821,7 +1857,26 @@ "colTimestamp": "Znacznik czasu", "filterByUser": "Filtruj według użytkownika…", "filterByAction": "Filtruj według działania…", - "clearFilters": "Wyczyść filtry" + "clearFilters": "Wyczyść filtry", + "noResults": "No matching activities", + "colStaff": "Staff", + "colWhen": "When", + "searchPlaceholder": "Search action, description or IP…", + "totalActivities": "Total activities", + "onThisPage": "On this page", + "recent": "Last minute", + "authorizationErrors": "Authorization errors", + "authorizationOnly": "Auth errors only", + "allActivities": "All activities", + "staffId": "Staff ID", + "actionType": "Action type", + "filter": "Filter", + "activities": "{count} activities", + "staffWithId": "#{id} {name}", + "userPrefix": "user", + "pagination": "Page {page} of {pages} · {total} total", + "next": "Next", + "prev": "Previous" }, "wordfilter": { "title": "Filtr słów", @@ -1842,7 +1897,15 @@ "save": "Dodaj do filtra", "saving": "Zapisuję…", "cancel": "Anuluj" - } + }, + "filteredWords": "Filtered words", + "words": "Words", + "delete": "Delete", + "confirmDeleteTitle": "Remove word", + "added": "Word added to filter", + "deleted": "Word removed from filter", + "addError": "Could not add word (it may already exist)", + "deleteError": "Could not remove word" }, "maintenance": { "title": "Tryb konserwacji", @@ -1969,7 +2032,9 @@ "auditUser": "Użytkownik", "auditAction": "Akcja", "auditTarget": "Cel", - "selectAllMatching": "Select all {count} matching" + "selectAllMatching": "Select all {count} matching", + "save": "Save", + "importTitle": "Import permissions" }, "rooms": { "title": "Pokoje", @@ -2112,7 +2177,8 @@ "textColor": "Kolor tekstu", "rounded": "Zaokrąglone rogi", "save": "Zapisz jako favikonę" - } + }, + "cancel": "Cancel" }, "settings": { "title": "Ustawienia CMSa", @@ -2134,7 +2200,14 @@ "save": "Zapisz ustawienie", "saving": "Zapisuję…", "cancel": "Anuluj" - } + }, + "keysInDatabase": "{count} keys in database", + "managedInForm": "{count} managed in form", + "documented": "{count} documented", + "saved": "Settings saved.", + "saveFailed": "Could not save settings.", + "saveSettings": "Save settings", + "viewOnly": "You can view settings but need edit permission to change them." }, "import": { "title": "Import", @@ -2166,6 +2239,139 @@ "infoBox": "Configuration settings (ports, timeouts, IDs) do not appear here — use the full settings link. Saved changes are synced to the emulator via RCON.", "fullSettings": "Full settings" } + }, + "tickets": { + "title": "Tickets", + "subtitle": "Support tickets from players", + "noTickets": "No active tickets", + "searchPlaceholder": "Search subject, user, category or ID…", + "presetActive": "Active", + "statusOpen": "Open", + "statusInProgress": "In progress", + "statusWaiting": "Waiting", + "statusClosed": "Closed", + "colTicket": "Ticket", + "colStatus": "Status", + "colPriority": "Priority", + "colAssigned": "Assigned", + "colDate": "Date", + "meta": "by {user} · {count} msg · {category}" + }, + "cfh": { + "title": "Call for Help", + "subtitle": "In-game CFH / support tickets", + "noTickets": "No CFH tickets", + "searchPlaceholder": "Search issue, user or ID…", + "noDescription": "No description", + "roomMeta": "Room #{room} · {when}", + "stateOpen": "Open", + "statePicked": "Picked", + "stateClosed": "Closed", + "colId": "ID", + "colIssue": "Issue", + "colSender": "Sender", + "colReported": "Reported", + "colMod": "Mod", + "colStatus": "Status" + }, + "hubs": { + "newsMedia": "News & media", + "newsMediaSubtitle": "Articles, photos, banners, ads and media library", + "siteContent": "Site content", + "siteContentSubtitle": "Navigation, help center, boxes, tags and prefixes", + "engagement": "Engagement", + "engagementSubtitle": "Events, polls and support tickets", + "users": "Users", + "usersSubtitle": "Directory, online players, applications and teams", + "access": "Access & security", + "accessSubtitle": "Bans, IP, VPN, permissions and word filter", + "moderation": "Moderation", + "moderationSubtitle": "Reports, actions and moderation team", + "catalog": "Catalog & rares", + "catalogSubtitle": "Catalog, rares, badges, achievements and sounds", + "shop": "Shop & payments", + "shopSubtitle": "Shop, transactions, vouchers, subscriptions and calendar", + "radio": "Radio", + "radioSubtitle": "Stream, DJ tools, embed and monitoring", + "settings": "Settings", + "settingsSubtitle": "CMS config, theme, maintenance and related tools", + "tools": "Tools", + "toolsSubtitle": "RCON, rooms, import and translations", + "observability": "Observability", + "observabilitySubtitle": "Logs, analytics, DevOps and hotel alerts", + "tabs": { + "articles": "Articles", + "photos": "Photos", + "banners": "Banners", + "ads": "Ads", + "media": "Media", + "navigator": "Navigator", + "help": "Help", + "boxes": "Boxes", + "tags": "Tags", + "prefixes": "Prefixes", + "events": "Events", + "eventTypes": "Event types", + "polls": "Polls", + "tickets": "Tickets", + "templates": "Templates", + "directory": "Directory", + "multiAccounts": "Multi-accounts", + "online": "Online", + "applications": "Applications", + "teams": "Teams", + "bans": "Bans", + "ip": "IP", + "vpn": "VPN", + "permissions": "Permissions", + "wordFilter": "Word filter", + "overview": "Overview", + "actions": "Actions", + "cfh": "CFH", + "team": "Team", + "catalogTab": "Catalog", + "rares": "Rares", + "badges": "Badges", + "achievements": "Achievements", + "sounds": "Sounds", + "shopTab": "Shop", + "transactions": "Transactions", + "vouchers": "Vouchers", + "subscriptions": "Subscriptions", + "calendar": "Calendar", + "history": "History", + "moderationTab": "Moderation", + "monitoring": "Monitoring", + "settingsTab": "Settings", + "embed": "Embed", + "apiKeys": "API keys", + "points": "Points", + "ranks": "Ranks", + "autoDj": "Auto DJ", + "cms": "CMS", + "theme": "Theme", + "maintenance": "Maintenance", + "favicon": "Favicon", + "emulator": "Emulator", + "email": "Email", + "housekeeping": "Housekeeping", + "commando": "Commando", + "rooms": "Rooms", + "import": "Import", + "translations": "Translations", + "logs": "Logs", + "audit": "Audit", + "chat": "Chat", + "commands": "Commands", + "trades": "Trades", + "analytics": "Analytics", + "activity": "Activity", + "economy": "Economy", + "devops": "DevOps", + "errors": "Errors", + "alerts": "Alerts", + "toolsGroup": "Tools" + } } } } diff --git a/src/messages/pt.json b/src/messages/pt.json index fc194aa6..39dd7697 100644 --- a/src/messages/pt.json +++ b/src/messages/pt.json @@ -1277,7 +1277,18 @@ "save": "Salvar pacote", "saving": "Salvando…", "cancel": "Cancelar" - } + }, + "recentOrders": "Recent orders", + "paidOrders": "Paid orders", + "ordersHint": "Latest PayPal transactions", + "colCredits": "Credits", + "colDuckets": "Duckets", + "colDiamonds": "Diamonds", + "colRank": "Rank", + "colPosition": "Position", + "colTransaction": "Transaction", + "colUser": "User", + "colDescription": "Description" }, "transactions": { "title": "Transações", @@ -1302,7 +1313,15 @@ "grossAmount": "Montante bruto", "fee": "Taxa", "netAmount": "Valor líquido" - } + }, + "totalTransactions": "Total transactions", + "pagePaid": "Paid (this page)", + "pageFailed": "Failed (this page)", + "searchPlaceholder": "Search by user, transaction ID or package…", + "presetPaid": "Paid", + "presetFailed": "Failed", + "colPayer": "Payer", + "colTransaction": "Transaction ID" }, "vouchers": { "title": "Vouchers de loja", @@ -1340,8 +1359,25 @@ "enabled": "Habilitado", "save": "Salvar comprovante", "saving": "Salvando…", - "cancel": "Cancelar" - } + "cancel": "Cancelar", + "amount": "Credits amount", + "amountPlaceholder": "e.g. 100", + "create": "Create voucher" + }, + "vouchers": "Vouchers", + "active": "Active", + "usedUp": "Used up", + "expired": "Expired", + "confirmDeleteTitle": "Delete voucher", + "created": "Voucher created", + "deleted": "Voucher deleted", + "createError": "Could not create voucher", + "deleteError": "Could not delete voucher", + "statusActive": "Active", + "statusUsedUp": "Used up", + "statusExpired": "Expired", + "colAmount": "Amount", + "colStatus": "Status" }, "subscriptions": { "title": "Assinaturas", @@ -1821,7 +1857,26 @@ "colTimestamp": "Carimbo de data e hora", "filterByUser": "Filtrar por usuário…", "filterByAction": "Filtrar por ação…", - "clearFilters": "Limpar filtros" + "clearFilters": "Limpar filtros", + "noResults": "No matching activities", + "colStaff": "Staff", + "colWhen": "When", + "searchPlaceholder": "Search action, description or IP…", + "totalActivities": "Total activities", + "onThisPage": "On this page", + "recent": "Last minute", + "authorizationErrors": "Authorization errors", + "authorizationOnly": "Auth errors only", + "allActivities": "All activities", + "staffId": "Staff ID", + "actionType": "Action type", + "filter": "Filter", + "activities": "{count} activities", + "staffWithId": "#{id} {name}", + "userPrefix": "user", + "pagination": "Page {page} of {pages} · {total} total", + "next": "Next", + "prev": "Previous" }, "wordfilter": { "title": "Filtro de palavras", @@ -1842,7 +1897,15 @@ "save": "Adicionar ao filtro", "saving": "Salvando…", "cancel": "Cancelar" - } + }, + "filteredWords": "Filtered words", + "words": "Words", + "delete": "Delete", + "confirmDeleteTitle": "Remove word", + "added": "Word added to filter", + "deleted": "Word removed from filter", + "addError": "Could not add word (it may already exist)", + "deleteError": "Could not remove word" }, "maintenance": { "title": "Modo de manutenção", @@ -1969,7 +2032,9 @@ "auditUser": "Usuário", "auditAction": "Ação", "auditTarget": "Alvo", - "selectAllMatching": "Select all {count} matching" + "selectAllMatching": "Select all {count} matching", + "save": "Save", + "importTitle": "Import permissions" }, "rooms": { "title": "Quartos", @@ -2112,7 +2177,8 @@ "textColor": "Cor do texto", "rounded": "Cantos arredondados", "save": "Salvar como favicon" - } + }, + "cancel": "Cancel" }, "settings": { "title": "Configurações de CMS", @@ -2134,7 +2200,14 @@ "save": "Salvar configuração", "saving": "Salvando…", "cancel": "Cancelar" - } + }, + "keysInDatabase": "{count} keys in database", + "managedInForm": "{count} managed in form", + "documented": "{count} documented", + "saved": "Settings saved.", + "saveFailed": "Could not save settings.", + "saveSettings": "Save settings", + "viewOnly": "You can view settings but need edit permission to change them." }, "import": { "title": "Import", @@ -2166,6 +2239,139 @@ "infoBox": "Configuration settings (ports, timeouts, IDs) do not appear here — use the full settings link. Saved changes are synced to the emulator via RCON.", "fullSettings": "Full settings" } + }, + "tickets": { + "title": "Tickets", + "subtitle": "Support tickets from players", + "noTickets": "No active tickets", + "searchPlaceholder": "Search subject, user, category or ID…", + "presetActive": "Active", + "statusOpen": "Open", + "statusInProgress": "In progress", + "statusWaiting": "Waiting", + "statusClosed": "Closed", + "colTicket": "Ticket", + "colStatus": "Status", + "colPriority": "Priority", + "colAssigned": "Assigned", + "colDate": "Date", + "meta": "by {user} · {count} msg · {category}" + }, + "cfh": { + "title": "Call for Help", + "subtitle": "In-game CFH / support tickets", + "noTickets": "No CFH tickets", + "searchPlaceholder": "Search issue, user or ID…", + "noDescription": "No description", + "roomMeta": "Room #{room} · {when}", + "stateOpen": "Open", + "statePicked": "Picked", + "stateClosed": "Closed", + "colId": "ID", + "colIssue": "Issue", + "colSender": "Sender", + "colReported": "Reported", + "colMod": "Mod", + "colStatus": "Status" + }, + "hubs": { + "newsMedia": "News & media", + "newsMediaSubtitle": "Articles, photos, banners, ads and media library", + "siteContent": "Site content", + "siteContentSubtitle": "Navigation, help center, boxes, tags and prefixes", + "engagement": "Engagement", + "engagementSubtitle": "Events, polls and support tickets", + "users": "Users", + "usersSubtitle": "Directory, online players, applications and teams", + "access": "Access & security", + "accessSubtitle": "Bans, IP, VPN, permissions and word filter", + "moderation": "Moderation", + "moderationSubtitle": "Reports, actions and moderation team", + "catalog": "Catalog & rares", + "catalogSubtitle": "Catalog, rares, badges, achievements and sounds", + "shop": "Shop & payments", + "shopSubtitle": "Shop, transactions, vouchers, subscriptions and calendar", + "radio": "Radio", + "radioSubtitle": "Stream, DJ tools, embed and monitoring", + "settings": "Settings", + "settingsSubtitle": "CMS config, theme, maintenance and related tools", + "tools": "Tools", + "toolsSubtitle": "RCON, rooms, import and translations", + "observability": "Observability", + "observabilitySubtitle": "Logs, analytics, DevOps and hotel alerts", + "tabs": { + "articles": "Articles", + "photos": "Photos", + "banners": "Banners", + "ads": "Ads", + "media": "Media", + "navigator": "Navigator", + "help": "Help", + "boxes": "Boxes", + "tags": "Tags", + "prefixes": "Prefixes", + "events": "Events", + "eventTypes": "Event types", + "polls": "Polls", + "tickets": "Tickets", + "templates": "Templates", + "directory": "Directory", + "multiAccounts": "Multi-accounts", + "online": "Online", + "applications": "Applications", + "teams": "Teams", + "bans": "Bans", + "ip": "IP", + "vpn": "VPN", + "permissions": "Permissions", + "wordFilter": "Word filter", + "overview": "Overview", + "actions": "Actions", + "cfh": "CFH", + "team": "Team", + "catalogTab": "Catalog", + "rares": "Rares", + "badges": "Badges", + "achievements": "Achievements", + "sounds": "Sounds", + "shopTab": "Shop", + "transactions": "Transactions", + "vouchers": "Vouchers", + "subscriptions": "Subscriptions", + "calendar": "Calendar", + "history": "History", + "moderationTab": "Moderation", + "monitoring": "Monitoring", + "settingsTab": "Settings", + "embed": "Embed", + "apiKeys": "API keys", + "points": "Points", + "ranks": "Ranks", + "autoDj": "Auto DJ", + "cms": "CMS", + "theme": "Theme", + "maintenance": "Maintenance", + "favicon": "Favicon", + "emulator": "Emulator", + "email": "Email", + "housekeeping": "Housekeeping", + "commando": "Commando", + "rooms": "Rooms", + "import": "Import", + "translations": "Translations", + "logs": "Logs", + "audit": "Audit", + "chat": "Chat", + "commands": "Commands", + "trades": "Trades", + "analytics": "Analytics", + "activity": "Activity", + "economy": "Economy", + "devops": "DevOps", + "errors": "Errors", + "alerts": "Alerts", + "toolsGroup": "Tools" + } } } } diff --git a/src/messages/ro.json b/src/messages/ro.json index d1752d46..ed3dfda3 100644 --- a/src/messages/ro.json +++ b/src/messages/ro.json @@ -1277,7 +1277,18 @@ "save": "Salvați pachetul", "saving": "Se salvează…", "cancel": "Anulează" - } + }, + "recentOrders": "Recent orders", + "paidOrders": "Paid orders", + "ordersHint": "Latest PayPal transactions", + "colCredits": "Credits", + "colDuckets": "Duckets", + "colDiamonds": "Diamonds", + "colRank": "Rank", + "colPosition": "Position", + "colTransaction": "Transaction", + "colUser": "User", + "colDescription": "Description" }, "transactions": { "title": "Tranzacții", @@ -1302,7 +1313,15 @@ "grossAmount": "Sumă brută", "fee": "Taxa", "netAmount": "Suma neta" - } + }, + "totalTransactions": "Total transactions", + "pagePaid": "Paid (this page)", + "pageFailed": "Failed (this page)", + "searchPlaceholder": "Search by user, transaction ID or package…", + "presetPaid": "Paid", + "presetFailed": "Failed", + "colPayer": "Payer", + "colTransaction": "Transaction ID" }, "vouchers": { "title": "Vouchere pentru magazin", @@ -1340,8 +1359,25 @@ "enabled": "Activat", "save": "Salvați voucherul", "saving": "Se salvează…", - "cancel": "Anulează" - } + "cancel": "Anulează", + "amount": "Credits amount", + "amountPlaceholder": "e.g. 100", + "create": "Create voucher" + }, + "vouchers": "Vouchers", + "active": "Active", + "usedUp": "Used up", + "expired": "Expired", + "confirmDeleteTitle": "Delete voucher", + "created": "Voucher created", + "deleted": "Voucher deleted", + "createError": "Could not create voucher", + "deleteError": "Could not delete voucher", + "statusActive": "Active", + "statusUsedUp": "Used up", + "statusExpired": "Expired", + "colAmount": "Amount", + "colStatus": "Status" }, "subscriptions": { "title": "Abonamente", @@ -1821,7 +1857,26 @@ "colTimestamp": "Marca temporală", "filterByUser": "Filtrați după utilizator...", "filterByAction": "Filtrați după acțiune...", - "clearFilters": "Ștergeți filtrele" + "clearFilters": "Ștergeți filtrele", + "noResults": "No matching activities", + "colStaff": "Staff", + "colWhen": "When", + "searchPlaceholder": "Search action, description or IP…", + "totalActivities": "Total activities", + "onThisPage": "On this page", + "recent": "Last minute", + "authorizationErrors": "Authorization errors", + "authorizationOnly": "Auth errors only", + "allActivities": "All activities", + "staffId": "Staff ID", + "actionType": "Action type", + "filter": "Filter", + "activities": "{count} activities", + "staffWithId": "#{id} {name}", + "userPrefix": "user", + "pagination": "Page {page} of {pages} · {total} total", + "next": "Next", + "prev": "Previous" }, "wordfilter": { "title": "Filtru de cuvinte", @@ -1842,7 +1897,15 @@ "save": "Adăugați la filtru", "saving": "Se salvează…", "cancel": "Anulează" - } + }, + "filteredWords": "Filtered words", + "words": "Words", + "delete": "Delete", + "confirmDeleteTitle": "Remove word", + "added": "Word added to filter", + "deleted": "Word removed from filter", + "addError": "Could not add word (it may already exist)", + "deleteError": "Could not remove word" }, "maintenance": { "title": "Mod de întreținere", @@ -1969,7 +2032,9 @@ "auditUser": "Utilizator", "auditAction": "Acțiune", "auditTarget": "țintă", - "selectAllMatching": "Select all {count} matching" + "selectAllMatching": "Select all {count} matching", + "save": "Save", + "importTitle": "Import permissions" }, "rooms": { "title": "Camerele", @@ -2112,7 +2177,8 @@ "textColor": "Culoarea textului", "rounded": "Colțuri rotunjite", "save": "Salvați ca favicon" - } + }, + "cancel": "Cancel" }, "settings": { "title": "Setări CMS", @@ -2134,7 +2200,14 @@ "save": "Salvați setarea", "saving": "Se salvează…", "cancel": "Anulează" - } + }, + "keysInDatabase": "{count} keys in database", + "managedInForm": "{count} managed in form", + "documented": "{count} documented", + "saved": "Settings saved.", + "saveFailed": "Could not save settings.", + "saveSettings": "Save settings", + "viewOnly": "You can view settings but need edit permission to change them." }, "import": { "title": "Import", @@ -2166,6 +2239,139 @@ "infoBox": "Configuration settings (ports, timeouts, IDs) do not appear here — use the full settings link. Saved changes are synced to the emulator via RCON.", "fullSettings": "Full settings" } + }, + "tickets": { + "title": "Tickets", + "subtitle": "Support tickets from players", + "noTickets": "No active tickets", + "searchPlaceholder": "Search subject, user, category or ID…", + "presetActive": "Active", + "statusOpen": "Open", + "statusInProgress": "In progress", + "statusWaiting": "Waiting", + "statusClosed": "Closed", + "colTicket": "Ticket", + "colStatus": "Status", + "colPriority": "Priority", + "colAssigned": "Assigned", + "colDate": "Date", + "meta": "by {user} · {count} msg · {category}" + }, + "cfh": { + "title": "Call for Help", + "subtitle": "In-game CFH / support tickets", + "noTickets": "No CFH tickets", + "searchPlaceholder": "Search issue, user or ID…", + "noDescription": "No description", + "roomMeta": "Room #{room} · {when}", + "stateOpen": "Open", + "statePicked": "Picked", + "stateClosed": "Closed", + "colId": "ID", + "colIssue": "Issue", + "colSender": "Sender", + "colReported": "Reported", + "colMod": "Mod", + "colStatus": "Status" + }, + "hubs": { + "newsMedia": "News & media", + "newsMediaSubtitle": "Articles, photos, banners, ads and media library", + "siteContent": "Site content", + "siteContentSubtitle": "Navigation, help center, boxes, tags and prefixes", + "engagement": "Engagement", + "engagementSubtitle": "Events, polls and support tickets", + "users": "Users", + "usersSubtitle": "Directory, online players, applications and teams", + "access": "Access & security", + "accessSubtitle": "Bans, IP, VPN, permissions and word filter", + "moderation": "Moderation", + "moderationSubtitle": "Reports, actions and moderation team", + "catalog": "Catalog & rares", + "catalogSubtitle": "Catalog, rares, badges, achievements and sounds", + "shop": "Shop & payments", + "shopSubtitle": "Shop, transactions, vouchers, subscriptions and calendar", + "radio": "Radio", + "radioSubtitle": "Stream, DJ tools, embed and monitoring", + "settings": "Settings", + "settingsSubtitle": "CMS config, theme, maintenance and related tools", + "tools": "Tools", + "toolsSubtitle": "RCON, rooms, import and translations", + "observability": "Observability", + "observabilitySubtitle": "Logs, analytics, DevOps and hotel alerts", + "tabs": { + "articles": "Articles", + "photos": "Photos", + "banners": "Banners", + "ads": "Ads", + "media": "Media", + "navigator": "Navigator", + "help": "Help", + "boxes": "Boxes", + "tags": "Tags", + "prefixes": "Prefixes", + "events": "Events", + "eventTypes": "Event types", + "polls": "Polls", + "tickets": "Tickets", + "templates": "Templates", + "directory": "Directory", + "multiAccounts": "Multi-accounts", + "online": "Online", + "applications": "Applications", + "teams": "Teams", + "bans": "Bans", + "ip": "IP", + "vpn": "VPN", + "permissions": "Permissions", + "wordFilter": "Word filter", + "overview": "Overview", + "actions": "Actions", + "cfh": "CFH", + "team": "Team", + "catalogTab": "Catalog", + "rares": "Rares", + "badges": "Badges", + "achievements": "Achievements", + "sounds": "Sounds", + "shopTab": "Shop", + "transactions": "Transactions", + "vouchers": "Vouchers", + "subscriptions": "Subscriptions", + "calendar": "Calendar", + "history": "History", + "moderationTab": "Moderation", + "monitoring": "Monitoring", + "settingsTab": "Settings", + "embed": "Embed", + "apiKeys": "API keys", + "points": "Points", + "ranks": "Ranks", + "autoDj": "Auto DJ", + "cms": "CMS", + "theme": "Theme", + "maintenance": "Maintenance", + "favicon": "Favicon", + "emulator": "Emulator", + "email": "Email", + "housekeeping": "Housekeeping", + "commando": "Commando", + "rooms": "Rooms", + "import": "Import", + "translations": "Translations", + "logs": "Logs", + "audit": "Audit", + "chat": "Chat", + "commands": "Commands", + "trades": "Trades", + "analytics": "Analytics", + "activity": "Activity", + "economy": "Economy", + "devops": "DevOps", + "errors": "Errors", + "alerts": "Alerts", + "toolsGroup": "Tools" + } } } } diff --git a/src/messages/ru.json b/src/messages/ru.json index e191861f..953000a6 100644 --- a/src/messages/ru.json +++ b/src/messages/ru.json @@ -1277,7 +1277,18 @@ "save": "Save package", "saving": "Saving…", "cancel": "Cancel" - } + }, + "recentOrders": "Recent orders", + "paidOrders": "Paid orders", + "ordersHint": "Latest PayPal transactions", + "colCredits": "Credits", + "colDuckets": "Duckets", + "colDiamonds": "Diamonds", + "colRank": "Rank", + "colPosition": "Position", + "colTransaction": "Transaction", + "colUser": "User", + "colDescription": "Description" }, "transactions": { "title": "Transactions", @@ -1302,7 +1313,15 @@ "grossAmount": "Gross amount", "fee": "Fee", "netAmount": "Net amount" - } + }, + "totalTransactions": "Total transactions", + "pagePaid": "Paid (this page)", + "pageFailed": "Failed (this page)", + "searchPlaceholder": "Search by user, transaction ID or package…", + "presetPaid": "Paid", + "presetFailed": "Failed", + "colPayer": "Payer", + "colTransaction": "Transaction ID" }, "vouchers": { "title": "Shop Vouchers", @@ -1340,8 +1359,25 @@ "enabled": "Enabled", "save": "Save voucher", "saving": "Saving…", - "cancel": "Cancel" - } + "cancel": "Cancel", + "amount": "Credits amount", + "amountPlaceholder": "e.g. 100", + "create": "Create voucher" + }, + "vouchers": "Vouchers", + "active": "Active", + "usedUp": "Used up", + "expired": "Expired", + "confirmDeleteTitle": "Delete voucher", + "created": "Voucher created", + "deleted": "Voucher deleted", + "createError": "Could not create voucher", + "deleteError": "Could not delete voucher", + "statusActive": "Active", + "statusUsedUp": "Used up", + "statusExpired": "Expired", + "colAmount": "Amount", + "colStatus": "Status" }, "subscriptions": { "title": "Subscriptions", @@ -1821,7 +1857,26 @@ "colTimestamp": "Timestamp", "filterByUser": "Filter by user…", "filterByAction": "Filter by action…", - "clearFilters": "Clear filters" + "clearFilters": "Clear filters", + "noResults": "No matching activities", + "colStaff": "Staff", + "colWhen": "When", + "searchPlaceholder": "Search action, description or IP…", + "totalActivities": "Total activities", + "onThisPage": "On this page", + "recent": "Last minute", + "authorizationErrors": "Authorization errors", + "authorizationOnly": "Auth errors only", + "allActivities": "All activities", + "staffId": "Staff ID", + "actionType": "Action type", + "filter": "Filter", + "activities": "{count} activities", + "staffWithId": "#{id} {name}", + "userPrefix": "user", + "pagination": "Page {page} of {pages} · {total} total", + "next": "Next", + "prev": "Previous" }, "wordfilter": { "title": "Word Filter", @@ -1842,7 +1897,15 @@ "save": "Add to filter", "saving": "Saving…", "cancel": "Cancel" - } + }, + "filteredWords": "Filtered words", + "words": "Words", + "delete": "Delete", + "confirmDeleteTitle": "Remove word", + "added": "Word added to filter", + "deleted": "Word removed from filter", + "addError": "Could not add word (it may already exist)", + "deleteError": "Could not remove word" }, "maintenance": { "title": "Maintenance Mode", @@ -1969,7 +2032,9 @@ "auditUser": "Пользователь", "auditAction": "Action", "auditTarget": "Target", - "selectAllMatching": "Select all {count} matching" + "selectAllMatching": "Select all {count} matching", + "save": "Save", + "importTitle": "Import permissions" }, "rooms": { "title": "Rooms", @@ -2112,7 +2177,8 @@ "textColor": "Text color", "rounded": "Rounded corners", "save": "Save as favicon" - } + }, + "cancel": "Cancel" }, "settings": { "title": "CMS Settings", @@ -2134,7 +2200,14 @@ "save": "Save setting", "saving": "Saving…", "cancel": "Cancel" - } + }, + "keysInDatabase": "{count} keys in database", + "managedInForm": "{count} managed in form", + "documented": "{count} documented", + "saved": "Settings saved.", + "saveFailed": "Could not save settings.", + "saveSettings": "Save settings", + "viewOnly": "You can view settings but need edit permission to change them." }, "import": { "title": "Import", @@ -2166,6 +2239,139 @@ "infoBox": "Configuration settings (ports, timeouts, IDs) do not appear here — use the full settings link. Saved changes are synced to the emulator via RCON.", "fullSettings": "Full settings" } + }, + "tickets": { + "title": "Tickets", + "subtitle": "Support tickets from players", + "noTickets": "No active tickets", + "searchPlaceholder": "Search subject, user, category or ID…", + "presetActive": "Active", + "statusOpen": "Open", + "statusInProgress": "In progress", + "statusWaiting": "Waiting", + "statusClosed": "Closed", + "colTicket": "Ticket", + "colStatus": "Status", + "colPriority": "Priority", + "colAssigned": "Assigned", + "colDate": "Date", + "meta": "by {user} · {count} msg · {category}" + }, + "cfh": { + "title": "Call for Help", + "subtitle": "In-game CFH / support tickets", + "noTickets": "No CFH tickets", + "searchPlaceholder": "Search issue, user or ID…", + "noDescription": "No description", + "roomMeta": "Room #{room} · {when}", + "stateOpen": "Open", + "statePicked": "Picked", + "stateClosed": "Closed", + "colId": "ID", + "colIssue": "Issue", + "colSender": "Sender", + "colReported": "Reported", + "colMod": "Mod", + "colStatus": "Status" + }, + "hubs": { + "newsMedia": "News & media", + "newsMediaSubtitle": "Articles, photos, banners, ads and media library", + "siteContent": "Site content", + "siteContentSubtitle": "Navigation, help center, boxes, tags and prefixes", + "engagement": "Engagement", + "engagementSubtitle": "Events, polls and support tickets", + "users": "Users", + "usersSubtitle": "Directory, online players, applications and teams", + "access": "Access & security", + "accessSubtitle": "Bans, IP, VPN, permissions and word filter", + "moderation": "Moderation", + "moderationSubtitle": "Reports, actions and moderation team", + "catalog": "Catalog & rares", + "catalogSubtitle": "Catalog, rares, badges, achievements and sounds", + "shop": "Shop & payments", + "shopSubtitle": "Shop, transactions, vouchers, subscriptions and calendar", + "radio": "Radio", + "radioSubtitle": "Stream, DJ tools, embed and monitoring", + "settings": "Settings", + "settingsSubtitle": "CMS config, theme, maintenance and related tools", + "tools": "Tools", + "toolsSubtitle": "RCON, rooms, import and translations", + "observability": "Observability", + "observabilitySubtitle": "Logs, analytics, DevOps and hotel alerts", + "tabs": { + "articles": "Articles", + "photos": "Photos", + "banners": "Banners", + "ads": "Ads", + "media": "Media", + "navigator": "Navigator", + "help": "Help", + "boxes": "Boxes", + "tags": "Tags", + "prefixes": "Prefixes", + "events": "Events", + "eventTypes": "Event types", + "polls": "Polls", + "tickets": "Tickets", + "templates": "Templates", + "directory": "Directory", + "multiAccounts": "Multi-accounts", + "online": "Online", + "applications": "Applications", + "teams": "Teams", + "bans": "Bans", + "ip": "IP", + "vpn": "VPN", + "permissions": "Permissions", + "wordFilter": "Word filter", + "overview": "Overview", + "actions": "Actions", + "cfh": "CFH", + "team": "Team", + "catalogTab": "Catalog", + "rares": "Rares", + "badges": "Badges", + "achievements": "Achievements", + "sounds": "Sounds", + "shopTab": "Shop", + "transactions": "Transactions", + "vouchers": "Vouchers", + "subscriptions": "Subscriptions", + "calendar": "Calendar", + "history": "History", + "moderationTab": "Moderation", + "monitoring": "Monitoring", + "settingsTab": "Settings", + "embed": "Embed", + "apiKeys": "API keys", + "points": "Points", + "ranks": "Ranks", + "autoDj": "Auto DJ", + "cms": "CMS", + "theme": "Theme", + "maintenance": "Maintenance", + "favicon": "Favicon", + "emulator": "Emulator", + "email": "Email", + "housekeeping": "Housekeeping", + "commando": "Commando", + "rooms": "Rooms", + "import": "Import", + "translations": "Translations", + "logs": "Logs", + "audit": "Audit", + "chat": "Chat", + "commands": "Commands", + "trades": "Trades", + "analytics": "Analytics", + "activity": "Activity", + "economy": "Economy", + "devops": "DevOps", + "errors": "Errors", + "alerts": "Alerts", + "toolsGroup": "Tools" + } } } } diff --git a/src/messages/sk.json b/src/messages/sk.json index b0830759..897a9725 100644 --- a/src/messages/sk.json +++ b/src/messages/sk.json @@ -1277,7 +1277,18 @@ "save": "Uložiť balík", "saving": "Ukladá sa…", "cancel": "Zrušiť" - } + }, + "recentOrders": "Recent orders", + "paidOrders": "Paid orders", + "ordersHint": "Latest PayPal transactions", + "colCredits": "Credits", + "colDuckets": "Duckets", + "colDiamonds": "Diamonds", + "colRank": "Rank", + "colPosition": "Position", + "colTransaction": "Transaction", + "colUser": "User", + "colDescription": "Description" }, "transactions": { "title": "Transakcie", @@ -1302,7 +1313,15 @@ "grossAmount": "Hrubá suma", "fee": "Poplatok", "netAmount": "Čistá suma" - } + }, + "totalTransactions": "Total transactions", + "pagePaid": "Paid (this page)", + "pageFailed": "Failed (this page)", + "searchPlaceholder": "Search by user, transaction ID or package…", + "presetPaid": "Paid", + "presetFailed": "Failed", + "colPayer": "Payer", + "colTransaction": "Transaction ID" }, "vouchers": { "title": "Nakupujte poukážky", @@ -1340,8 +1359,25 @@ "enabled": "Povolené", "save": "Uložiť voucher", "saving": "Ukladá sa…", - "cancel": "Zrušiť" - } + "cancel": "Zrušiť", + "amount": "Credits amount", + "amountPlaceholder": "e.g. 100", + "create": "Create voucher" + }, + "vouchers": "Vouchers", + "active": "Active", + "usedUp": "Used up", + "expired": "Expired", + "confirmDeleteTitle": "Delete voucher", + "created": "Voucher created", + "deleted": "Voucher deleted", + "createError": "Could not create voucher", + "deleteError": "Could not delete voucher", + "statusActive": "Active", + "statusUsedUp": "Used up", + "statusExpired": "Expired", + "colAmount": "Amount", + "colStatus": "Status" }, "subscriptions": { "title": "Predplatné", @@ -1821,7 +1857,26 @@ "colTimestamp": "Časová pečiatka", "filterByUser": "Filtrovať podľa používateľa…", "filterByAction": "Filtrovať podľa akcie…", - "clearFilters": "Vymazať filtre" + "clearFilters": "Vymazať filtre", + "noResults": "No matching activities", + "colStaff": "Staff", + "colWhen": "When", + "searchPlaceholder": "Search action, description or IP…", + "totalActivities": "Total activities", + "onThisPage": "On this page", + "recent": "Last minute", + "authorizationErrors": "Authorization errors", + "authorizationOnly": "Auth errors only", + "allActivities": "All activities", + "staffId": "Staff ID", + "actionType": "Action type", + "filter": "Filter", + "activities": "{count} activities", + "staffWithId": "#{id} {name}", + "userPrefix": "user", + "pagination": "Page {page} of {pages} · {total} total", + "next": "Next", + "prev": "Previous" }, "wordfilter": { "title": "Filter slov", @@ -1842,7 +1897,15 @@ "save": "Pridať do filtra", "saving": "Ukladá sa…", "cancel": "Zrušiť" - } + }, + "filteredWords": "Filtered words", + "words": "Words", + "delete": "Delete", + "confirmDeleteTitle": "Remove word", + "added": "Word added to filter", + "deleted": "Word removed from filter", + "addError": "Could not add word (it may already exist)", + "deleteError": "Could not remove word" }, "maintenance": { "title": "Režim údržby", @@ -1969,7 +2032,9 @@ "auditUser": "Používateľ", "auditAction": "Akcia", "auditTarget": "Cieľ", - "selectAllMatching": "Select all {count} matching" + "selectAllMatching": "Select all {count} matching", + "save": "Save", + "importTitle": "Import permissions" }, "rooms": { "title": "Izby", @@ -2112,7 +2177,8 @@ "textColor": "Farba textu", "rounded": "Zaoblené rohy", "save": "Uložiť ako favicon" - } + }, + "cancel": "Cancel" }, "settings": { "title": "Nastavenia CMS", @@ -2134,7 +2200,14 @@ "save": "Uložiť nastavenie", "saving": "Ukladá sa…", "cancel": "Zrušiť" - } + }, + "keysInDatabase": "{count} keys in database", + "managedInForm": "{count} managed in form", + "documented": "{count} documented", + "saved": "Settings saved.", + "saveFailed": "Could not save settings.", + "saveSettings": "Save settings", + "viewOnly": "You can view settings but need edit permission to change them." }, "import": { "title": "Import", @@ -2166,6 +2239,139 @@ "infoBox": "Configuration settings (ports, timeouts, IDs) do not appear here — use the full settings link. Saved changes are synced to the emulator via RCON.", "fullSettings": "Full settings" } + }, + "tickets": { + "title": "Tickets", + "subtitle": "Support tickets from players", + "noTickets": "No active tickets", + "searchPlaceholder": "Search subject, user, category or ID…", + "presetActive": "Active", + "statusOpen": "Open", + "statusInProgress": "In progress", + "statusWaiting": "Waiting", + "statusClosed": "Closed", + "colTicket": "Ticket", + "colStatus": "Status", + "colPriority": "Priority", + "colAssigned": "Assigned", + "colDate": "Date", + "meta": "by {user} · {count} msg · {category}" + }, + "cfh": { + "title": "Call for Help", + "subtitle": "In-game CFH / support tickets", + "noTickets": "No CFH tickets", + "searchPlaceholder": "Search issue, user or ID…", + "noDescription": "No description", + "roomMeta": "Room #{room} · {when}", + "stateOpen": "Open", + "statePicked": "Picked", + "stateClosed": "Closed", + "colId": "ID", + "colIssue": "Issue", + "colSender": "Sender", + "colReported": "Reported", + "colMod": "Mod", + "colStatus": "Status" + }, + "hubs": { + "newsMedia": "News & media", + "newsMediaSubtitle": "Articles, photos, banners, ads and media library", + "siteContent": "Site content", + "siteContentSubtitle": "Navigation, help center, boxes, tags and prefixes", + "engagement": "Engagement", + "engagementSubtitle": "Events, polls and support tickets", + "users": "Users", + "usersSubtitle": "Directory, online players, applications and teams", + "access": "Access & security", + "accessSubtitle": "Bans, IP, VPN, permissions and word filter", + "moderation": "Moderation", + "moderationSubtitle": "Reports, actions and moderation team", + "catalog": "Catalog & rares", + "catalogSubtitle": "Catalog, rares, badges, achievements and sounds", + "shop": "Shop & payments", + "shopSubtitle": "Shop, transactions, vouchers, subscriptions and calendar", + "radio": "Radio", + "radioSubtitle": "Stream, DJ tools, embed and monitoring", + "settings": "Settings", + "settingsSubtitle": "CMS config, theme, maintenance and related tools", + "tools": "Tools", + "toolsSubtitle": "RCON, rooms, import and translations", + "observability": "Observability", + "observabilitySubtitle": "Logs, analytics, DevOps and hotel alerts", + "tabs": { + "articles": "Articles", + "photos": "Photos", + "banners": "Banners", + "ads": "Ads", + "media": "Media", + "navigator": "Navigator", + "help": "Help", + "boxes": "Boxes", + "tags": "Tags", + "prefixes": "Prefixes", + "events": "Events", + "eventTypes": "Event types", + "polls": "Polls", + "tickets": "Tickets", + "templates": "Templates", + "directory": "Directory", + "multiAccounts": "Multi-accounts", + "online": "Online", + "applications": "Applications", + "teams": "Teams", + "bans": "Bans", + "ip": "IP", + "vpn": "VPN", + "permissions": "Permissions", + "wordFilter": "Word filter", + "overview": "Overview", + "actions": "Actions", + "cfh": "CFH", + "team": "Team", + "catalogTab": "Catalog", + "rares": "Rares", + "badges": "Badges", + "achievements": "Achievements", + "sounds": "Sounds", + "shopTab": "Shop", + "transactions": "Transactions", + "vouchers": "Vouchers", + "subscriptions": "Subscriptions", + "calendar": "Calendar", + "history": "History", + "moderationTab": "Moderation", + "monitoring": "Monitoring", + "settingsTab": "Settings", + "embed": "Embed", + "apiKeys": "API keys", + "points": "Points", + "ranks": "Ranks", + "autoDj": "Auto DJ", + "cms": "CMS", + "theme": "Theme", + "maintenance": "Maintenance", + "favicon": "Favicon", + "emulator": "Emulator", + "email": "Email", + "housekeeping": "Housekeeping", + "commando": "Commando", + "rooms": "Rooms", + "import": "Import", + "translations": "Translations", + "logs": "Logs", + "audit": "Audit", + "chat": "Chat", + "commands": "Commands", + "trades": "Trades", + "analytics": "Analytics", + "activity": "Activity", + "economy": "Economy", + "devops": "DevOps", + "errors": "Errors", + "alerts": "Alerts", + "toolsGroup": "Tools" + } } } } diff --git a/src/messages/sr.json b/src/messages/sr.json index 345edf47..6705a24f 100644 --- a/src/messages/sr.json +++ b/src/messages/sr.json @@ -1277,7 +1277,18 @@ "save": "Сачувај пакет", "saving": "Чување…", "cancel": "Откажи" - } + }, + "recentOrders": "Recent orders", + "paidOrders": "Paid orders", + "ordersHint": "Latest PayPal transactions", + "colCredits": "Credits", + "colDuckets": "Duckets", + "colDiamonds": "Diamonds", + "colRank": "Rank", + "colPosition": "Position", + "colTransaction": "Transaction", + "colUser": "User", + "colDescription": "Description" }, "transactions": { "title": "Трансакције", @@ -1302,7 +1313,15 @@ "grossAmount": "Бруто износ", "fee": "Накнада", "netAmount": "Нето износ" - } + }, + "totalTransactions": "Total transactions", + "pagePaid": "Paid (this page)", + "pageFailed": "Failed (this page)", + "searchPlaceholder": "Search by user, transaction ID or package…", + "presetPaid": "Paid", + "presetFailed": "Failed", + "colPayer": "Payer", + "colTransaction": "Transaction ID" }, "vouchers": { "title": "Ваучери за куповину", @@ -1340,8 +1359,25 @@ "enabled": "Омогућено", "save": "Сачувај ваучер", "saving": "Чување…", - "cancel": "Откажи" - } + "cancel": "Откажи", + "amount": "Credits amount", + "amountPlaceholder": "e.g. 100", + "create": "Create voucher" + }, + "vouchers": "Vouchers", + "active": "Active", + "usedUp": "Used up", + "expired": "Expired", + "confirmDeleteTitle": "Delete voucher", + "created": "Voucher created", + "deleted": "Voucher deleted", + "createError": "Could not create voucher", + "deleteError": "Could not delete voucher", + "statusActive": "Active", + "statusUsedUp": "Used up", + "statusExpired": "Expired", + "colAmount": "Amount", + "colStatus": "Status" }, "subscriptions": { "title": "Претплате", @@ -1821,7 +1857,26 @@ "colTimestamp": "Временска ознака", "filterByUser": "Филтрирај по кориснику…", "filterByAction": "Филтрирај по радњи…", - "clearFilters": "Обриши филтере" + "clearFilters": "Обриши филтере", + "noResults": "No matching activities", + "colStaff": "Staff", + "colWhen": "When", + "searchPlaceholder": "Search action, description or IP…", + "totalActivities": "Total activities", + "onThisPage": "On this page", + "recent": "Last minute", + "authorizationErrors": "Authorization errors", + "authorizationOnly": "Auth errors only", + "allActivities": "All activities", + "staffId": "Staff ID", + "actionType": "Action type", + "filter": "Filter", + "activities": "{count} activities", + "staffWithId": "#{id} {name}", + "userPrefix": "user", + "pagination": "Page {page} of {pages} · {total} total", + "next": "Next", + "prev": "Previous" }, "wordfilter": { "title": "Филтер речи", @@ -1842,7 +1897,15 @@ "save": "Додајте у филтер", "saving": "Чување…", "cancel": "Откажи" - } + }, + "filteredWords": "Filtered words", + "words": "Words", + "delete": "Delete", + "confirmDeleteTitle": "Remove word", + "added": "Word added to filter", + "deleted": "Word removed from filter", + "addError": "Could not add word (it may already exist)", + "deleteError": "Could not remove word" }, "maintenance": { "title": "Режим одржавања", @@ -1969,7 +2032,9 @@ "auditUser": "Корисник", "auditAction": "Акција", "auditTarget": "Таргет", - "selectAllMatching": "Select all {count} matching" + "selectAllMatching": "Select all {count} matching", + "save": "Save", + "importTitle": "Import permissions" }, "rooms": { "title": "Собе", @@ -2112,7 +2177,8 @@ "textColor": "Боја текста", "rounded": "Заобљени углови", "save": "Сачувај као фавицон" - } + }, + "cancel": "Cancel" }, "settings": { "title": "ЦМС подешавања", @@ -2134,7 +2200,14 @@ "save": "Сачувај подешавање", "saving": "Чување…", "cancel": "Откажи" - } + }, + "keysInDatabase": "{count} keys in database", + "managedInForm": "{count} managed in form", + "documented": "{count} documented", + "saved": "Settings saved.", + "saveFailed": "Could not save settings.", + "saveSettings": "Save settings", + "viewOnly": "You can view settings but need edit permission to change them." }, "import": { "title": "Import", @@ -2166,6 +2239,139 @@ "infoBox": "Configuration settings (ports, timeouts, IDs) do not appear here — use the full settings link. Saved changes are synced to the emulator via RCON.", "fullSettings": "Full settings" } + }, + "tickets": { + "title": "Tickets", + "subtitle": "Support tickets from players", + "noTickets": "No active tickets", + "searchPlaceholder": "Search subject, user, category or ID…", + "presetActive": "Active", + "statusOpen": "Open", + "statusInProgress": "In progress", + "statusWaiting": "Waiting", + "statusClosed": "Closed", + "colTicket": "Ticket", + "colStatus": "Status", + "colPriority": "Priority", + "colAssigned": "Assigned", + "colDate": "Date", + "meta": "by {user} · {count} msg · {category}" + }, + "cfh": { + "title": "Call for Help", + "subtitle": "In-game CFH / support tickets", + "noTickets": "No CFH tickets", + "searchPlaceholder": "Search issue, user or ID…", + "noDescription": "No description", + "roomMeta": "Room #{room} · {when}", + "stateOpen": "Open", + "statePicked": "Picked", + "stateClosed": "Closed", + "colId": "ID", + "colIssue": "Issue", + "colSender": "Sender", + "colReported": "Reported", + "colMod": "Mod", + "colStatus": "Status" + }, + "hubs": { + "newsMedia": "News & media", + "newsMediaSubtitle": "Articles, photos, banners, ads and media library", + "siteContent": "Site content", + "siteContentSubtitle": "Navigation, help center, boxes, tags and prefixes", + "engagement": "Engagement", + "engagementSubtitle": "Events, polls and support tickets", + "users": "Users", + "usersSubtitle": "Directory, online players, applications and teams", + "access": "Access & security", + "accessSubtitle": "Bans, IP, VPN, permissions and word filter", + "moderation": "Moderation", + "moderationSubtitle": "Reports, actions and moderation team", + "catalog": "Catalog & rares", + "catalogSubtitle": "Catalog, rares, badges, achievements and sounds", + "shop": "Shop & payments", + "shopSubtitle": "Shop, transactions, vouchers, subscriptions and calendar", + "radio": "Radio", + "radioSubtitle": "Stream, DJ tools, embed and monitoring", + "settings": "Settings", + "settingsSubtitle": "CMS config, theme, maintenance and related tools", + "tools": "Tools", + "toolsSubtitle": "RCON, rooms, import and translations", + "observability": "Observability", + "observabilitySubtitle": "Logs, analytics, DevOps and hotel alerts", + "tabs": { + "articles": "Articles", + "photos": "Photos", + "banners": "Banners", + "ads": "Ads", + "media": "Media", + "navigator": "Navigator", + "help": "Help", + "boxes": "Boxes", + "tags": "Tags", + "prefixes": "Prefixes", + "events": "Events", + "eventTypes": "Event types", + "polls": "Polls", + "tickets": "Tickets", + "templates": "Templates", + "directory": "Directory", + "multiAccounts": "Multi-accounts", + "online": "Online", + "applications": "Applications", + "teams": "Teams", + "bans": "Bans", + "ip": "IP", + "vpn": "VPN", + "permissions": "Permissions", + "wordFilter": "Word filter", + "overview": "Overview", + "actions": "Actions", + "cfh": "CFH", + "team": "Team", + "catalogTab": "Catalog", + "rares": "Rares", + "badges": "Badges", + "achievements": "Achievements", + "sounds": "Sounds", + "shopTab": "Shop", + "transactions": "Transactions", + "vouchers": "Vouchers", + "subscriptions": "Subscriptions", + "calendar": "Calendar", + "history": "History", + "moderationTab": "Moderation", + "monitoring": "Monitoring", + "settingsTab": "Settings", + "embed": "Embed", + "apiKeys": "API keys", + "points": "Points", + "ranks": "Ranks", + "autoDj": "Auto DJ", + "cms": "CMS", + "theme": "Theme", + "maintenance": "Maintenance", + "favicon": "Favicon", + "emulator": "Emulator", + "email": "Email", + "housekeeping": "Housekeeping", + "commando": "Commando", + "rooms": "Rooms", + "import": "Import", + "translations": "Translations", + "logs": "Logs", + "audit": "Audit", + "chat": "Chat", + "commands": "Commands", + "trades": "Trades", + "analytics": "Analytics", + "activity": "Activity", + "economy": "Economy", + "devops": "DevOps", + "errors": "Errors", + "alerts": "Alerts", + "toolsGroup": "Tools" + } } } } diff --git a/src/messages/sv.json b/src/messages/sv.json index 4d758225..3aea4ffb 100644 --- a/src/messages/sv.json +++ b/src/messages/sv.json @@ -1277,7 +1277,18 @@ "save": "Spara paketet", "saving": "Sparar...", "cancel": "Avbryt" - } + }, + "recentOrders": "Recent orders", + "paidOrders": "Paid orders", + "ordersHint": "Latest PayPal transactions", + "colCredits": "Credits", + "colDuckets": "Duckets", + "colDiamonds": "Diamonds", + "colRank": "Rank", + "colPosition": "Position", + "colTransaction": "Transaction", + "colUser": "User", + "colDescription": "Description" }, "transactions": { "title": "Transaktioner", @@ -1302,7 +1313,15 @@ "grossAmount": "Bruttobelopp", "fee": "Avgift", "netAmount": "Nettobelopp" - } + }, + "totalTransactions": "Total transactions", + "pagePaid": "Paid (this page)", + "pageFailed": "Failed (this page)", + "searchPlaceholder": "Search by user, transaction ID or package…", + "presetPaid": "Paid", + "presetFailed": "Failed", + "colPayer": "Payer", + "colTransaction": "Transaction ID" }, "vouchers": { "title": "Butikskuponger", @@ -1340,8 +1359,25 @@ "enabled": "Aktiverad", "save": "Spara kupong", "saving": "Sparar...", - "cancel": "Avbryt" - } + "cancel": "Avbryt", + "amount": "Credits amount", + "amountPlaceholder": "e.g. 100", + "create": "Create voucher" + }, + "vouchers": "Vouchers", + "active": "Active", + "usedUp": "Used up", + "expired": "Expired", + "confirmDeleteTitle": "Delete voucher", + "created": "Voucher created", + "deleted": "Voucher deleted", + "createError": "Could not create voucher", + "deleteError": "Could not delete voucher", + "statusActive": "Active", + "statusUsedUp": "Used up", + "statusExpired": "Expired", + "colAmount": "Amount", + "colStatus": "Status" }, "subscriptions": { "title": "Prenumerationer", @@ -1821,7 +1857,26 @@ "colTimestamp": "Tidsstämpel", "filterByUser": "Filtrera efter användare...", "filterByAction": "Filtrera efter åtgärd...", - "clearFilters": "Rensa filter" + "clearFilters": "Rensa filter", + "noResults": "No matching activities", + "colStaff": "Staff", + "colWhen": "When", + "searchPlaceholder": "Search action, description or IP…", + "totalActivities": "Total activities", + "onThisPage": "On this page", + "recent": "Last minute", + "authorizationErrors": "Authorization errors", + "authorizationOnly": "Auth errors only", + "allActivities": "All activities", + "staffId": "Staff ID", + "actionType": "Action type", + "filter": "Filter", + "activities": "{count} activities", + "staffWithId": "#{id} {name}", + "userPrefix": "user", + "pagination": "Page {page} of {pages} · {total} total", + "next": "Next", + "prev": "Previous" }, "wordfilter": { "title": "Ordfilter", @@ -1842,7 +1897,15 @@ "save": "Lägg till i filter", "saving": "Sparar...", "cancel": "Avbryt" - } + }, + "filteredWords": "Filtered words", + "words": "Words", + "delete": "Delete", + "confirmDeleteTitle": "Remove word", + "added": "Word added to filter", + "deleted": "Word removed from filter", + "addError": "Could not add word (it may already exist)", + "deleteError": "Could not remove word" }, "maintenance": { "title": "Underhållsläge", @@ -1969,7 +2032,9 @@ "auditUser": "Användare", "auditAction": "Åtgärd", "auditTarget": "Mål", - "selectAllMatching": "Select all {count} matching" + "selectAllMatching": "Select all {count} matching", + "save": "Save", + "importTitle": "Import permissions" }, "rooms": { "title": "Rum", @@ -2112,7 +2177,8 @@ "textColor": "Textfärg", "rounded": "Rundade hörn", "save": "Spara som favicon" - } + }, + "cancel": "Cancel" }, "settings": { "title": "CMS-inställningar", @@ -2134,7 +2200,14 @@ "save": "Spara inställning", "saving": "Sparar...", "cancel": "Avbryt" - } + }, + "keysInDatabase": "{count} keys in database", + "managedInForm": "{count} managed in form", + "documented": "{count} documented", + "saved": "Settings saved.", + "saveFailed": "Could not save settings.", + "saveSettings": "Save settings", + "viewOnly": "You can view settings but need edit permission to change them." }, "import": { "title": "Import", @@ -2166,6 +2239,139 @@ "infoBox": "Configuration settings (ports, timeouts, IDs) do not appear here — use the full settings link. Saved changes are synced to the emulator via RCON.", "fullSettings": "Full settings" } + }, + "tickets": { + "title": "Tickets", + "subtitle": "Support tickets from players", + "noTickets": "No active tickets", + "searchPlaceholder": "Search subject, user, category or ID…", + "presetActive": "Active", + "statusOpen": "Open", + "statusInProgress": "In progress", + "statusWaiting": "Waiting", + "statusClosed": "Closed", + "colTicket": "Ticket", + "colStatus": "Status", + "colPriority": "Priority", + "colAssigned": "Assigned", + "colDate": "Date", + "meta": "by {user} · {count} msg · {category}" + }, + "cfh": { + "title": "Call for Help", + "subtitle": "In-game CFH / support tickets", + "noTickets": "No CFH tickets", + "searchPlaceholder": "Search issue, user or ID…", + "noDescription": "No description", + "roomMeta": "Room #{room} · {when}", + "stateOpen": "Open", + "statePicked": "Picked", + "stateClosed": "Closed", + "colId": "ID", + "colIssue": "Issue", + "colSender": "Sender", + "colReported": "Reported", + "colMod": "Mod", + "colStatus": "Status" + }, + "hubs": { + "newsMedia": "News & media", + "newsMediaSubtitle": "Articles, photos, banners, ads and media library", + "siteContent": "Site content", + "siteContentSubtitle": "Navigation, help center, boxes, tags and prefixes", + "engagement": "Engagement", + "engagementSubtitle": "Events, polls and support tickets", + "users": "Users", + "usersSubtitle": "Directory, online players, applications and teams", + "access": "Access & security", + "accessSubtitle": "Bans, IP, VPN, permissions and word filter", + "moderation": "Moderation", + "moderationSubtitle": "Reports, actions and moderation team", + "catalog": "Catalog & rares", + "catalogSubtitle": "Catalog, rares, badges, achievements and sounds", + "shop": "Shop & payments", + "shopSubtitle": "Shop, transactions, vouchers, subscriptions and calendar", + "radio": "Radio", + "radioSubtitle": "Stream, DJ tools, embed and monitoring", + "settings": "Settings", + "settingsSubtitle": "CMS config, theme, maintenance and related tools", + "tools": "Tools", + "toolsSubtitle": "RCON, rooms, import and translations", + "observability": "Observability", + "observabilitySubtitle": "Logs, analytics, DevOps and hotel alerts", + "tabs": { + "articles": "Articles", + "photos": "Photos", + "banners": "Banners", + "ads": "Ads", + "media": "Media", + "navigator": "Navigator", + "help": "Help", + "boxes": "Boxes", + "tags": "Tags", + "prefixes": "Prefixes", + "events": "Events", + "eventTypes": "Event types", + "polls": "Polls", + "tickets": "Tickets", + "templates": "Templates", + "directory": "Directory", + "multiAccounts": "Multi-accounts", + "online": "Online", + "applications": "Applications", + "teams": "Teams", + "bans": "Bans", + "ip": "IP", + "vpn": "VPN", + "permissions": "Permissions", + "wordFilter": "Word filter", + "overview": "Overview", + "actions": "Actions", + "cfh": "CFH", + "team": "Team", + "catalogTab": "Catalog", + "rares": "Rares", + "badges": "Badges", + "achievements": "Achievements", + "sounds": "Sounds", + "shopTab": "Shop", + "transactions": "Transactions", + "vouchers": "Vouchers", + "subscriptions": "Subscriptions", + "calendar": "Calendar", + "history": "History", + "moderationTab": "Moderation", + "monitoring": "Monitoring", + "settingsTab": "Settings", + "embed": "Embed", + "apiKeys": "API keys", + "points": "Points", + "ranks": "Ranks", + "autoDj": "Auto DJ", + "cms": "CMS", + "theme": "Theme", + "maintenance": "Maintenance", + "favicon": "Favicon", + "emulator": "Emulator", + "email": "Email", + "housekeeping": "Housekeeping", + "commando": "Commando", + "rooms": "Rooms", + "import": "Import", + "translations": "Translations", + "logs": "Logs", + "audit": "Audit", + "chat": "Chat", + "commands": "Commands", + "trades": "Trades", + "analytics": "Analytics", + "activity": "Activity", + "economy": "Economy", + "devops": "DevOps", + "errors": "Errors", + "alerts": "Alerts", + "toolsGroup": "Tools" + } } } } diff --git a/src/messages/tr.json b/src/messages/tr.json index 6f0bd3ad..cdc1a17b 100644 --- a/src/messages/tr.json +++ b/src/messages/tr.json @@ -1277,7 +1277,18 @@ "save": "Paketi kaydet", "saving": "Kaydediliyor…", "cancel": "İptal" - } + }, + "recentOrders": "Recent orders", + "paidOrders": "Paid orders", + "ordersHint": "Latest PayPal transactions", + "colCredits": "Credits", + "colDuckets": "Duckets", + "colDiamonds": "Diamonds", + "colRank": "Rank", + "colPosition": "Position", + "colTransaction": "Transaction", + "colUser": "User", + "colDescription": "Description" }, "transactions": { "title": "İşlemler", @@ -1302,7 +1313,15 @@ "grossAmount": "Brüt tutar", "fee": "Ücret", "netAmount": "Net tutar" - } + }, + "totalTransactions": "Total transactions", + "pagePaid": "Paid (this page)", + "pageFailed": "Failed (this page)", + "searchPlaceholder": "Search by user, transaction ID or package…", + "presetPaid": "Paid", + "presetFailed": "Failed", + "colPayer": "Payer", + "colTransaction": "Transaction ID" }, "vouchers": { "title": "Alışveriş Kuponları", @@ -1340,8 +1359,25 @@ "enabled": "Etkin", "save": "Kuponu kaydet", "saving": "Kaydediliyor…", - "cancel": "İptal" - } + "cancel": "İptal", + "amount": "Credits amount", + "amountPlaceholder": "e.g. 100", + "create": "Create voucher" + }, + "vouchers": "Vouchers", + "active": "Active", + "usedUp": "Used up", + "expired": "Expired", + "confirmDeleteTitle": "Delete voucher", + "created": "Voucher created", + "deleted": "Voucher deleted", + "createError": "Could not create voucher", + "deleteError": "Could not delete voucher", + "statusActive": "Active", + "statusUsedUp": "Used up", + "statusExpired": "Expired", + "colAmount": "Amount", + "colStatus": "Status" }, "subscriptions": { "title": "Abonelikler", @@ -1821,7 +1857,26 @@ "colTimestamp": "Zaman damgası", "filterByUser": "Kullanıcıya göre filtrele…", "filterByAction": "Eyleme göre filtrele…", - "clearFilters": "Filtreleri temizle" + "clearFilters": "Filtreleri temizle", + "noResults": "No matching activities", + "colStaff": "Staff", + "colWhen": "When", + "searchPlaceholder": "Search action, description or IP…", + "totalActivities": "Total activities", + "onThisPage": "On this page", + "recent": "Last minute", + "authorizationErrors": "Authorization errors", + "authorizationOnly": "Auth errors only", + "allActivities": "All activities", + "staffId": "Staff ID", + "actionType": "Action type", + "filter": "Filter", + "activities": "{count} activities", + "staffWithId": "#{id} {name}", + "userPrefix": "user", + "pagination": "Page {page} of {pages} · {total} total", + "next": "Next", + "prev": "Previous" }, "wordfilter": { "title": "Kelime Filtresi", @@ -1842,7 +1897,15 @@ "save": "Filtreye ekle", "saving": "Kaydediliyor…", "cancel": "İptal" - } + }, + "filteredWords": "Filtered words", + "words": "Words", + "delete": "Delete", + "confirmDeleteTitle": "Remove word", + "added": "Word added to filter", + "deleted": "Word removed from filter", + "addError": "Could not add word (it may already exist)", + "deleteError": "Could not remove word" }, "maintenance": { "title": "Bakım Modu", @@ -1969,7 +2032,9 @@ "auditUser": "Kullanıcı", "auditAction": "Eylem", "auditTarget": "Hedef", - "selectAllMatching": "Select all {count} matching" + "selectAllMatching": "Select all {count} matching", + "save": "Save", + "importTitle": "Import permissions" }, "rooms": { "title": "Odalar", @@ -2112,7 +2177,8 @@ "textColor": "Metin rengi", "rounded": "Yuvarlatılmış köşeler", "save": "Sık kullanılan simgesi olarak kaydet" - } + }, + "cancel": "Cancel" }, "settings": { "title": "İYS Ayarları", @@ -2134,7 +2200,14 @@ "save": "Ayarı kaydet", "saving": "Kaydediliyor…", "cancel": "İptal" - } + }, + "keysInDatabase": "{count} keys in database", + "managedInForm": "{count} managed in form", + "documented": "{count} documented", + "saved": "Settings saved.", + "saveFailed": "Could not save settings.", + "saveSettings": "Save settings", + "viewOnly": "You can view settings but need edit permission to change them." }, "import": { "title": "Import", @@ -2166,6 +2239,139 @@ "infoBox": "Configuration settings (ports, timeouts, IDs) do not appear here — use the full settings link. Saved changes are synced to the emulator via RCON.", "fullSettings": "Full settings" } + }, + "tickets": { + "title": "Tickets", + "subtitle": "Support tickets from players", + "noTickets": "No active tickets", + "searchPlaceholder": "Search subject, user, category or ID…", + "presetActive": "Active", + "statusOpen": "Open", + "statusInProgress": "In progress", + "statusWaiting": "Waiting", + "statusClosed": "Closed", + "colTicket": "Ticket", + "colStatus": "Status", + "colPriority": "Priority", + "colAssigned": "Assigned", + "colDate": "Date", + "meta": "by {user} · {count} msg · {category}" + }, + "cfh": { + "title": "Call for Help", + "subtitle": "In-game CFH / support tickets", + "noTickets": "No CFH tickets", + "searchPlaceholder": "Search issue, user or ID…", + "noDescription": "No description", + "roomMeta": "Room #{room} · {when}", + "stateOpen": "Open", + "statePicked": "Picked", + "stateClosed": "Closed", + "colId": "ID", + "colIssue": "Issue", + "colSender": "Sender", + "colReported": "Reported", + "colMod": "Mod", + "colStatus": "Status" + }, + "hubs": { + "newsMedia": "News & media", + "newsMediaSubtitle": "Articles, photos, banners, ads and media library", + "siteContent": "Site content", + "siteContentSubtitle": "Navigation, help center, boxes, tags and prefixes", + "engagement": "Engagement", + "engagementSubtitle": "Events, polls and support tickets", + "users": "Users", + "usersSubtitle": "Directory, online players, applications and teams", + "access": "Access & security", + "accessSubtitle": "Bans, IP, VPN, permissions and word filter", + "moderation": "Moderation", + "moderationSubtitle": "Reports, actions and moderation team", + "catalog": "Catalog & rares", + "catalogSubtitle": "Catalog, rares, badges, achievements and sounds", + "shop": "Shop & payments", + "shopSubtitle": "Shop, transactions, vouchers, subscriptions and calendar", + "radio": "Radio", + "radioSubtitle": "Stream, DJ tools, embed and monitoring", + "settings": "Settings", + "settingsSubtitle": "CMS config, theme, maintenance and related tools", + "tools": "Tools", + "toolsSubtitle": "RCON, rooms, import and translations", + "observability": "Observability", + "observabilitySubtitle": "Logs, analytics, DevOps and hotel alerts", + "tabs": { + "articles": "Articles", + "photos": "Photos", + "banners": "Banners", + "ads": "Ads", + "media": "Media", + "navigator": "Navigator", + "help": "Help", + "boxes": "Boxes", + "tags": "Tags", + "prefixes": "Prefixes", + "events": "Events", + "eventTypes": "Event types", + "polls": "Polls", + "tickets": "Tickets", + "templates": "Templates", + "directory": "Directory", + "multiAccounts": "Multi-accounts", + "online": "Online", + "applications": "Applications", + "teams": "Teams", + "bans": "Bans", + "ip": "IP", + "vpn": "VPN", + "permissions": "Permissions", + "wordFilter": "Word filter", + "overview": "Overview", + "actions": "Actions", + "cfh": "CFH", + "team": "Team", + "catalogTab": "Catalog", + "rares": "Rares", + "badges": "Badges", + "achievements": "Achievements", + "sounds": "Sounds", + "shopTab": "Shop", + "transactions": "Transactions", + "vouchers": "Vouchers", + "subscriptions": "Subscriptions", + "calendar": "Calendar", + "history": "History", + "moderationTab": "Moderation", + "monitoring": "Monitoring", + "settingsTab": "Settings", + "embed": "Embed", + "apiKeys": "API keys", + "points": "Points", + "ranks": "Ranks", + "autoDj": "Auto DJ", + "cms": "CMS", + "theme": "Theme", + "maintenance": "Maintenance", + "favicon": "Favicon", + "emulator": "Emulator", + "email": "Email", + "housekeeping": "Housekeeping", + "commando": "Commando", + "rooms": "Rooms", + "import": "Import", + "translations": "Translations", + "logs": "Logs", + "audit": "Audit", + "chat": "Chat", + "commands": "Commands", + "trades": "Trades", + "analytics": "Analytics", + "activity": "Activity", + "economy": "Economy", + "devops": "DevOps", + "errors": "Errors", + "alerts": "Alerts", + "toolsGroup": "Tools" + } } } } diff --git a/src/messages/uk.json b/src/messages/uk.json index a4766c3e..f50fcf7d 100644 --- a/src/messages/uk.json +++ b/src/messages/uk.json @@ -1277,7 +1277,18 @@ "save": "Зберегти пакет", "saving": "Збереження…", "cancel": "Скасувати" - } + }, + "recentOrders": "Recent orders", + "paidOrders": "Paid orders", + "ordersHint": "Latest PayPal transactions", + "colCredits": "Credits", + "colDuckets": "Duckets", + "colDiamonds": "Diamonds", + "colRank": "Rank", + "colPosition": "Position", + "colTransaction": "Transaction", + "colUser": "User", + "colDescription": "Description" }, "transactions": { "title": "транзакції", @@ -1302,7 +1313,15 @@ "grossAmount": "Сума брутто", "fee": "Комісія", "netAmount": "Сума нетто" - } + }, + "totalTransactions": "Total transactions", + "pagePaid": "Paid (this page)", + "pageFailed": "Failed (this page)", + "searchPlaceholder": "Search by user, transaction ID or package…", + "presetPaid": "Paid", + "presetFailed": "Failed", + "colPayer": "Payer", + "colTransaction": "Transaction ID" }, "vouchers": { "title": "Магазин ваучерів", @@ -1340,8 +1359,25 @@ "enabled": "Увімкнено", "save": "Зберегти ваучер", "saving": "Збереження…", - "cancel": "Скасувати" - } + "cancel": "Скасувати", + "amount": "Credits amount", + "amountPlaceholder": "e.g. 100", + "create": "Create voucher" + }, + "vouchers": "Vouchers", + "active": "Active", + "usedUp": "Used up", + "expired": "Expired", + "confirmDeleteTitle": "Delete voucher", + "created": "Voucher created", + "deleted": "Voucher deleted", + "createError": "Could not create voucher", + "deleteError": "Could not delete voucher", + "statusActive": "Active", + "statusUsedUp": "Used up", + "statusExpired": "Expired", + "colAmount": "Amount", + "colStatus": "Status" }, "subscriptions": { "title": "Підписки", @@ -1821,7 +1857,26 @@ "colTimestamp": "Мітка часу", "filterByUser": "Фільтрувати за користувачем…", "filterByAction": "Фільтрувати за дією…", - "clearFilters": "Очистити фільтри" + "clearFilters": "Очистити фільтри", + "noResults": "No matching activities", + "colStaff": "Staff", + "colWhen": "When", + "searchPlaceholder": "Search action, description or IP…", + "totalActivities": "Total activities", + "onThisPage": "On this page", + "recent": "Last minute", + "authorizationErrors": "Authorization errors", + "authorizationOnly": "Auth errors only", + "allActivities": "All activities", + "staffId": "Staff ID", + "actionType": "Action type", + "filter": "Filter", + "activities": "{count} activities", + "staffWithId": "#{id} {name}", + "userPrefix": "user", + "pagination": "Page {page} of {pages} · {total} total", + "next": "Next", + "prev": "Previous" }, "wordfilter": { "title": "Фільтр Word", @@ -1842,7 +1897,15 @@ "save": "Додати до фільтра", "saving": "Збереження…", "cancel": "Скасувати" - } + }, + "filteredWords": "Filtered words", + "words": "Words", + "delete": "Delete", + "confirmDeleteTitle": "Remove word", + "added": "Word added to filter", + "deleted": "Word removed from filter", + "addError": "Could not add word (it may already exist)", + "deleteError": "Could not remove word" }, "maintenance": { "title": "Режим обслуговування", @@ -1969,7 +2032,9 @@ "auditUser": "Користувач", "auditAction": "Дія", "auditTarget": "Цільова", - "selectAllMatching": "Select all {count} matching" + "selectAllMatching": "Select all {count} matching", + "save": "Save", + "importTitle": "Import permissions" }, "rooms": { "title": "Кімнати", @@ -2112,7 +2177,8 @@ "textColor": "Колір тексту", "rounded": "Заокруглені кути", "save": "Зберегти як фавікон" - } + }, + "cancel": "Cancel" }, "settings": { "title": "Налаштування CMS", @@ -2134,7 +2200,14 @@ "save": "Зберегти налаштування", "saving": "Збереження…", "cancel": "Скасувати" - } + }, + "keysInDatabase": "{count} keys in database", + "managedInForm": "{count} managed in form", + "documented": "{count} documented", + "saved": "Settings saved.", + "saveFailed": "Could not save settings.", + "saveSettings": "Save settings", + "viewOnly": "You can view settings but need edit permission to change them." }, "import": { "title": "Import", @@ -2166,6 +2239,139 @@ "infoBox": "Configuration settings (ports, timeouts, IDs) do not appear here — use the full settings link. Saved changes are synced to the emulator via RCON.", "fullSettings": "Full settings" } + }, + "tickets": { + "title": "Tickets", + "subtitle": "Support tickets from players", + "noTickets": "No active tickets", + "searchPlaceholder": "Search subject, user, category or ID…", + "presetActive": "Active", + "statusOpen": "Open", + "statusInProgress": "In progress", + "statusWaiting": "Waiting", + "statusClosed": "Closed", + "colTicket": "Ticket", + "colStatus": "Status", + "colPriority": "Priority", + "colAssigned": "Assigned", + "colDate": "Date", + "meta": "by {user} · {count} msg · {category}" + }, + "cfh": { + "title": "Call for Help", + "subtitle": "In-game CFH / support tickets", + "noTickets": "No CFH tickets", + "searchPlaceholder": "Search issue, user or ID…", + "noDescription": "No description", + "roomMeta": "Room #{room} · {when}", + "stateOpen": "Open", + "statePicked": "Picked", + "stateClosed": "Closed", + "colId": "ID", + "colIssue": "Issue", + "colSender": "Sender", + "colReported": "Reported", + "colMod": "Mod", + "colStatus": "Status" + }, + "hubs": { + "newsMedia": "News & media", + "newsMediaSubtitle": "Articles, photos, banners, ads and media library", + "siteContent": "Site content", + "siteContentSubtitle": "Navigation, help center, boxes, tags and prefixes", + "engagement": "Engagement", + "engagementSubtitle": "Events, polls and support tickets", + "users": "Users", + "usersSubtitle": "Directory, online players, applications and teams", + "access": "Access & security", + "accessSubtitle": "Bans, IP, VPN, permissions and word filter", + "moderation": "Moderation", + "moderationSubtitle": "Reports, actions and moderation team", + "catalog": "Catalog & rares", + "catalogSubtitle": "Catalog, rares, badges, achievements and sounds", + "shop": "Shop & payments", + "shopSubtitle": "Shop, transactions, vouchers, subscriptions and calendar", + "radio": "Radio", + "radioSubtitle": "Stream, DJ tools, embed and monitoring", + "settings": "Settings", + "settingsSubtitle": "CMS config, theme, maintenance and related tools", + "tools": "Tools", + "toolsSubtitle": "RCON, rooms, import and translations", + "observability": "Observability", + "observabilitySubtitle": "Logs, analytics, DevOps and hotel alerts", + "tabs": { + "articles": "Articles", + "photos": "Photos", + "banners": "Banners", + "ads": "Ads", + "media": "Media", + "navigator": "Navigator", + "help": "Help", + "boxes": "Boxes", + "tags": "Tags", + "prefixes": "Prefixes", + "events": "Events", + "eventTypes": "Event types", + "polls": "Polls", + "tickets": "Tickets", + "templates": "Templates", + "directory": "Directory", + "multiAccounts": "Multi-accounts", + "online": "Online", + "applications": "Applications", + "teams": "Teams", + "bans": "Bans", + "ip": "IP", + "vpn": "VPN", + "permissions": "Permissions", + "wordFilter": "Word filter", + "overview": "Overview", + "actions": "Actions", + "cfh": "CFH", + "team": "Team", + "catalogTab": "Catalog", + "rares": "Rares", + "badges": "Badges", + "achievements": "Achievements", + "sounds": "Sounds", + "shopTab": "Shop", + "transactions": "Transactions", + "vouchers": "Vouchers", + "subscriptions": "Subscriptions", + "calendar": "Calendar", + "history": "History", + "moderationTab": "Moderation", + "monitoring": "Monitoring", + "settingsTab": "Settings", + "embed": "Embed", + "apiKeys": "API keys", + "points": "Points", + "ranks": "Ranks", + "autoDj": "Auto DJ", + "cms": "CMS", + "theme": "Theme", + "maintenance": "Maintenance", + "favicon": "Favicon", + "emulator": "Emulator", + "email": "Email", + "housekeeping": "Housekeeping", + "commando": "Commando", + "rooms": "Rooms", + "import": "Import", + "translations": "Translations", + "logs": "Logs", + "audit": "Audit", + "chat": "Chat", + "commands": "Commands", + "trades": "Trades", + "analytics": "Analytics", + "activity": "Activity", + "economy": "Economy", + "devops": "DevOps", + "errors": "Errors", + "alerts": "Alerts", + "toolsGroup": "Tools" + } } } }