feat(admin): Control Center redesign, Explore dual-view и полный RU/EN i18n
Refs EventHub/EventHubFrontAdmin#32
This commit is contained in:
+438
-18
@@ -1,4 +1,442 @@
|
||||
{
|
||||
"common": {
|
||||
"appTitle": "EventHub",
|
||||
"cancel": "Cancel",
|
||||
"save": "Save",
|
||||
"saving": "Saving…",
|
||||
"delete": "Delete",
|
||||
"edit": "Edit",
|
||||
"open": "Open",
|
||||
"close": "Close",
|
||||
"create": "Create",
|
||||
"add": "Add",
|
||||
"find": "Search",
|
||||
"search": "Search",
|
||||
"actions": "Actions",
|
||||
"backToList": "Back to list",
|
||||
"tryAgain": "Try again",
|
||||
"toDashboard": "Go to dashboard",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
"noData": "No data",
|
||||
"loading": "Loading…",
|
||||
"emDash": "—",
|
||||
"all": "All",
|
||||
"allStatuses": "All statuses",
|
||||
"allPlans": "All plans",
|
||||
"allTypes": "All types",
|
||||
"total": "Total",
|
||||
"freeze": "Freeze",
|
||||
"unfreeze": "Unfreeze",
|
||||
"quickView": "Quick view",
|
||||
"show": "Show",
|
||||
"hide": "Hide",
|
||||
"irreversible": "This action cannot be undone.",
|
||||
"pageOf": "{{current}} / {{total}}",
|
||||
"shownRange": "Showing {{from}}–{{to}} of {{total}}",
|
||||
"pageLabel": "Page {{current}}",
|
||||
"perPage": "Per page",
|
||||
"searchPlaceholder": "Search…",
|
||||
"selectRole": "Select role",
|
||||
"selectStatus": "Select status",
|
||||
"selectType": "Select type",
|
||||
"selectPlan": "Select plan",
|
||||
"selectLanguage": "Select language",
|
||||
"selectTimezone": "Select timezone",
|
||||
"selectAdmin": "Select admin",
|
||||
"enterReason": "Enter reason for status change",
|
||||
"unassigned": "Unassigned",
|
||||
"email": "Email",
|
||||
"nickname": "Nickname",
|
||||
"role": "Role",
|
||||
"status": "Status",
|
||||
"reason": "Reason",
|
||||
"phone": "Phone",
|
||||
"language": "Language",
|
||||
"timezone": "Timezone",
|
||||
"lastLogin": "Last login",
|
||||
"createdAt": "Created",
|
||||
"updatedAt": "Updated",
|
||||
"title": "Title",
|
||||
"description": "Description",
|
||||
"type": "Type",
|
||||
"start": "Start",
|
||||
"rating": "Rating",
|
||||
"owner": "Owner",
|
||||
"target": "Target",
|
||||
"targetType": "Target type",
|
||||
"sender": "Reporter",
|
||||
"plan": "Plan",
|
||||
"comment": "Comment",
|
||||
"password": "Password",
|
||||
"error": "Error",
|
||||
"word": "Word",
|
||||
"date": "Date",
|
||||
"dateFrom": "From",
|
||||
"dateTo": "To",
|
||||
"assigned": "Assigned",
|
||||
"expiresAt": "Expires at",
|
||||
"count": "Count",
|
||||
"firstSeen": "First seen",
|
||||
"lastSeen": "Last seen",
|
||||
"user": "User",
|
||||
"entityUpdated": "Updated",
|
||||
"entityDeleted": "Deleted",
|
||||
"entityCreated": "Created",
|
||||
"updateError": "Update failed",
|
||||
"deleteError": "Delete failed",
|
||||
"createError": "Create failed",
|
||||
"loadError": "Load failed",
|
||||
"notFound": "Not found",
|
||||
"langRu": "Русский",
|
||||
"langEn": "English",
|
||||
"reviewed": "Reviewed",
|
||||
"dismissed": "Dismissed",
|
||||
"resolved": "Resolved",
|
||||
"inProgress": "In progress",
|
||||
"pendingUsers": "Unverified",
|
||||
"queueEmpty": "Queue is empty",
|
||||
"openInbox": "Open inbox",
|
||||
"nothingFound": "Nothing found",
|
||||
"category": "Category",
|
||||
"ip": "IP",
|
||||
"apply": "Apply",
|
||||
"id": "ID",
|
||||
"changeStatusTo": "Change status to «{{status}}»",
|
||||
"confirmMarkAs": "Mark as «{{status}}»?",
|
||||
"bulkUpdated": "Statuses updated",
|
||||
"bulkUpdateError": "Bulk update failed",
|
||||
"openFull": "Open full details",
|
||||
"socialLinks": "Social links",
|
||||
"shortName": "Short name",
|
||||
"color": "Color",
|
||||
"image": "Image",
|
||||
"confirmation": "Confirmation",
|
||||
"settings": "Settings",
|
||||
"specialist": "Specialist",
|
||||
"calendar": "Calendar",
|
||||
"masterEvent": "Master event",
|
||||
"attachments": "Attachments",
|
||||
"editHistory": "Edit history",
|
||||
"recurrence": "Recurrence",
|
||||
"location": "Location",
|
||||
"isInstance": "Is instance",
|
||||
"likes": "Likes",
|
||||
"dislikes": "Dislikes",
|
||||
"errorHash": "Error hash",
|
||||
"errorMessage": "Message",
|
||||
"stacktrace": "Stack trace",
|
||||
"context": "Context",
|
||||
"resolution": "Resolution",
|
||||
"resolutionNote": "Resolution comment",
|
||||
"assign": "Assign"
|
||||
},
|
||||
"navGroup": {
|
||||
"work": "Work",
|
||||
"overview": "Overview",
|
||||
"content": "Content",
|
||||
"moderation": "Moderation",
|
||||
"system": "System",
|
||||
"account": "Account"
|
||||
},
|
||||
"nav": {
|
||||
"inboxReports": "Inbox · reports",
|
||||
"inboxTickets": "Inbox · tickets",
|
||||
"dashboard": "Dashboard",
|
||||
"monitoring": "Monitoring",
|
||||
"users": "Users",
|
||||
"calendars": "Calendars",
|
||||
"events": "Events",
|
||||
"subscriptions": "Subscriptions",
|
||||
"reports": "Reports (list)",
|
||||
"reviews": "Reviews",
|
||||
"bannedWords": "Banned words",
|
||||
"tickets": "Tickets (list)",
|
||||
"admins": "Admins",
|
||||
"audit": "Audit",
|
||||
"profile": "My profile"
|
||||
},
|
||||
"layout": {
|
||||
"search": "Search",
|
||||
"searchHotkey": "Search (⌘K)",
|
||||
"myProfile": "My profile",
|
||||
"uiLanguage": "UI language",
|
||||
"logout": "Log out",
|
||||
"densityCompact": "Density: compact",
|
||||
"densityNormal": "Density: comfortable",
|
||||
"densityToNormal": "Comfortable density",
|
||||
"densityToCompact": "Compact density",
|
||||
"paletteTitle": "Command palette",
|
||||
"palettePlaceholder": "Go to section…",
|
||||
"paletteHints": "↑↓ navigate · Enter open · Esc close",
|
||||
"nodesNoData": "Nodes: no data",
|
||||
"nodesPrev": "Previous nodes",
|
||||
"nodesNext": "Next nodes"
|
||||
},
|
||||
"explore": {
|
||||
"viewAria": "List view",
|
||||
"table": "Table",
|
||||
"rows": "Rows",
|
||||
"tops": "Tops",
|
||||
"listsCount": "{{count}} lists",
|
||||
"descPreviewName": "Explore · click name for preview, ⋯ for actions",
|
||||
"descPreviewTitle": "Explore · click title for preview, ⋯ for actions",
|
||||
"descActions": "Explore · ⋯ for actions",
|
||||
"descBulk": "Explore · ⋯ for actions, bulk via row selection",
|
||||
"descRowOpen": "Explore · click row to open, ⋯ for actions",
|
||||
"searchEvents": "Search events…",
|
||||
"searchCalendars": "Search calendars…",
|
||||
"searchUsers": "Search (email, nickname)…",
|
||||
"searchWord": "Search by word",
|
||||
"expiringSoon": "Expiring soon",
|
||||
"paid30d": "Paid · 30 days",
|
||||
"byRating": "Rating",
|
||||
"byReviews": "Reviews",
|
||||
"positive": "Positive",
|
||||
"negative": "Negative",
|
||||
"allReviews": "All reviews",
|
||||
"byReports": "By reports",
|
||||
"loginAt": "login {{date}}",
|
||||
"ownerId": "owner {{id}}"
|
||||
},
|
||||
"inbox": {
|
||||
"reportsTitle": "Inbox · Reports",
|
||||
"ticketsTitle": "Inbox · Tickets",
|
||||
"reportsHints": "j/k · Enter open · 1 reviewed · 2 dismissed · link → preview",
|
||||
"ticketsHints": "j/k · Enter open · 1 resolved · 2 in progress",
|
||||
"pending": "Pending",
|
||||
"all": "All",
|
||||
"active": "Active",
|
||||
"mine": "Mine",
|
||||
"queue": "Queue ({{count}})",
|
||||
"selectReport": "Select a report from the queue",
|
||||
"selectTicket": "Select a ticket from the queue",
|
||||
"reportCard": "Report {{id}}",
|
||||
"fullCard": "Full card",
|
||||
"bannerReports": "Day-to-day report work lives in the inbox",
|
||||
"bannerTickets": "Day-to-day ticket work lives in the inbox"
|
||||
},
|
||||
"dashboard": {
|
||||
"controlCenter": "Control Center",
|
||||
"moderation": "Moderation",
|
||||
"support": "Support",
|
||||
"subtitleAdmin": "Work · Overview · Investigate",
|
||||
"subtitleModeration": "Primary mode is the inbox. Shift KPIs only.",
|
||||
"subtitleSupport": "Focus on assigned tickets — not the full error catalog.",
|
||||
"reportsInboxTitle": "Reports inbox",
|
||||
"reportsInboxDesc": "Split-view queue: j/k, 1 reviewed, 2 dismissed",
|
||||
"ticketsInboxTitle": "Tickets inbox",
|
||||
"ticketsInboxDesc": "Active / mine · j/k · 1 resolved · 2 in progress",
|
||||
"reportQueueTitle": "Reports queue",
|
||||
"reportQueueDesc": "Pending: {{count}}",
|
||||
"ticketQueueTitle": "Tickets queue",
|
||||
"ticketQueueDesc": "Open: {{count}}",
|
||||
"quickOverview": "Quick overview",
|
||||
"pending": "Pending",
|
||||
"reviewed": "Reviewed",
|
||||
"avgTimeH": "Avg time (h)",
|
||||
"assignedOpen": "Assigned open",
|
||||
"assignedTotal": "Assigned total",
|
||||
"avgResolutionH": "Avg resolution (h)",
|
||||
"eventsByDay": "Events by day",
|
||||
"registrationsByDay": "Registrations by day",
|
||||
"reviewsByDay": "Reviews by day",
|
||||
"reportsByDay": "Reports by day",
|
||||
"ticketsByDay": "Tickets by day",
|
||||
"subscriptionsByDay": "Subscriptions by day",
|
||||
"loadStatsError": "Failed to load stats",
|
||||
"ticketsTotal": "Tickets (total)",
|
||||
"ticketsOpen": "Open tickets",
|
||||
"trialSubscriptions": "Trial subscriptions"
|
||||
},
|
||||
"monitoring": {
|
||||
"title": "Observe · Monitoring",
|
||||
"subtitle": "Live WS + metrics history · range {{minutes}} min",
|
||||
"noData": "no data",
|
||||
"waitingTitle": "Waiting for telemetry",
|
||||
"waitingDesc": "Metrics appear via WebSocket or REST history for the selected range.",
|
||||
"noPoints": "No data points yet.",
|
||||
"node": "Node",
|
||||
"nodeNamed": "Node {{name}}",
|
||||
"refreshing": "Refreshing history…",
|
||||
"m5": "5 min",
|
||||
"m15": "15 min",
|
||||
"m30": "30 min",
|
||||
"h1": "1 hour",
|
||||
"onlineNodes": "Online nodes",
|
||||
"cpuPeak": "CPU peak (latest)",
|
||||
"memoryAvg": "Memory avg",
|
||||
"cpuMemory": "CPU and memory (MB)",
|
||||
"memoryByType": "Memory by type (MB)",
|
||||
"wsQueue": "WebSocket and queue",
|
||||
"mnesia": "Mnesia",
|
||||
"mnesiaTables": "Mnesia table sizes (latest)",
|
||||
"noTableData": "No table data for the selected range",
|
||||
"table": "Table",
|
||||
"records": "Records",
|
||||
"healthy": "{{count}} nodes healthy",
|
||||
"load": "{{count}} nodes · load"
|
||||
},
|
||||
"status": {
|
||||
"active": "Active",
|
||||
"frozen": "Frozen",
|
||||
"deleted": "Deleted",
|
||||
"pending": "Pending",
|
||||
"reviewed": "Reviewed",
|
||||
"dismissed": "Dismissed",
|
||||
"open": "Open",
|
||||
"in_progress": "In progress",
|
||||
"resolved": "Resolved",
|
||||
"closed": "Closed",
|
||||
"visible": "Visible",
|
||||
"hidden": "Hidden",
|
||||
"cancelled": "Cancelled",
|
||||
"completed": "Completed",
|
||||
"expired": "Expired"
|
||||
},
|
||||
"ws": {
|
||||
"newReport": "New report",
|
||||
"reportId": "Report #{{id}}",
|
||||
"onTarget": "on {{type}}",
|
||||
"newTicket": "New ticket created",
|
||||
"ticketCreated": "Ticket #{{id}} created",
|
||||
"open": "Open"
|
||||
},
|
||||
"errors": {
|
||||
"forbiddenTitle": "403",
|
||||
"forbiddenMessage": "You do not have access to «{{section}}».",
|
||||
"renderTitle": "Render error",
|
||||
"renderFallback": "Could not render this page."
|
||||
},
|
||||
"login": {
|
||||
"title": "Sign in",
|
||||
"subtitle": "Control Center · moderation and support",
|
||||
"email": "Email",
|
||||
"password": "Password",
|
||||
"submit": "Sign in",
|
||||
"invalid_credentials": "Invalid email or password",
|
||||
"insufficient_permissions": "Insufficient permissions",
|
||||
"error": "Sign-in error"
|
||||
},
|
||||
"profile": {
|
||||
"title": "My profile",
|
||||
"description": "Admin account details",
|
||||
"edit": "Edit",
|
||||
"saved": "Profile updated",
|
||||
"saveError": "Failed to update profile",
|
||||
"avatarUrl": "Avatar URL",
|
||||
"preferences": "Preferences",
|
||||
"preferencesJson": "Preferences (JSON)",
|
||||
"invalidJson": "Invalid JSON",
|
||||
"preferencesInvalidJson": "Preferences must be valid JSON"
|
||||
},
|
||||
"users": {
|
||||
"title": "Users",
|
||||
"editTitle": "Edit user",
|
||||
"deleteTitle": "Delete user?",
|
||||
"deleteHint": "This cannot be undone. Set a reason via edit first if needed.",
|
||||
"statusTitle": "Change status to «{{status}}»",
|
||||
"notFound": "User not found"
|
||||
},
|
||||
"events": {
|
||||
"title": "Events",
|
||||
"entity": "Event",
|
||||
"detailTitle": "Event {{name}}",
|
||||
"editTitle": "Edit event",
|
||||
"deleteTitle": "Delete event?",
|
||||
"notFound": "Event not found",
|
||||
"topsRating": "Top by rating",
|
||||
"startDatetime": "Start date and time",
|
||||
"durationMin": "Duration (min)",
|
||||
"capacity": "Capacity",
|
||||
"specialistId": "Specialist (ID)",
|
||||
"calendarId": "Calendar (ID)",
|
||||
"onlineLink": "Online link",
|
||||
"tags": "Tags",
|
||||
"recurrenceInterval": "{{freq}} (interval: {{interval}})",
|
||||
"ratingWithCount": "{{avg}} ({{count}} ratings)"
|
||||
},
|
||||
"calendars": {
|
||||
"title": "Calendars",
|
||||
"entity": "Calendar",
|
||||
"detailTitle": "Calendar {{name}}",
|
||||
"editTitle": "Edit calendar",
|
||||
"deleteTitle": "Delete calendar?",
|
||||
"notFound": "Calendar not found"
|
||||
},
|
||||
"reports": {
|
||||
"title": "Reports",
|
||||
"entity": "Report",
|
||||
"notFound": "Report not found",
|
||||
"detailTitle": "Report {{id}}",
|
||||
"resolvedAt": "Resolved at",
|
||||
"resolvedBy": "Resolved by",
|
||||
"id": "ID"
|
||||
},
|
||||
"reviews": {
|
||||
"title": "Reviews",
|
||||
"detailTitle": "Review {{id}}",
|
||||
"editTitle": "Edit review",
|
||||
"hideSelected": "Hide selected",
|
||||
"showSelected": "Show selected",
|
||||
"deleteSelected": "Delete selected",
|
||||
"notFound": "Review not found",
|
||||
"score": "Score",
|
||||
"likesDislikes": "Likes / Dislikes",
|
||||
"selectAllAria": "Select all on page",
|
||||
"selectReviewAria": "Select review {{id}}",
|
||||
"selectReviews": "Select reviews",
|
||||
"reasonRequired": "Enter a reason for the status change",
|
||||
"reasonRequiredShort": "Enter a reason",
|
||||
"bulkStatusTitle": "Change status to «{{status}}» for {{count}} reviews",
|
||||
"bulkReasonPlaceholder": "Shared reason for selected reviews",
|
||||
"ratingValue": "Score {{rating}}"
|
||||
},
|
||||
"tickets": {
|
||||
"title": "Tickets",
|
||||
"detailTitle": "Ticket {{id}}",
|
||||
"deleteTitle": "Delete ticket?",
|
||||
"notFound": "Ticket not found",
|
||||
"statsHint": "Explore · closed {{closed}}, total errors {{errors}}"
|
||||
},
|
||||
"subscriptions": {
|
||||
"title": "Subscriptions",
|
||||
"editTitle": "Edit subscription",
|
||||
"deleteTitle": "Delete subscription?",
|
||||
"trial": "Trial",
|
||||
"trialUsed": "Trial used",
|
||||
"trialCount": "Trial",
|
||||
"expiresUntil": "until {{date}}",
|
||||
"trialBadge": "trial"
|
||||
},
|
||||
"admins": {
|
||||
"title": "Admins",
|
||||
"detailTitle": "Admin {{name}}",
|
||||
"description": "Manage administrator accounts",
|
||||
"add": "Add admin",
|
||||
"createTitle": "Create admin",
|
||||
"editTitle": "Edit admin",
|
||||
"deleteTitle": "Delete admin?",
|
||||
"notFound": "Admin not found"
|
||||
},
|
||||
"audit": {
|
||||
"title": "Audit",
|
||||
"description": "Administrator action log",
|
||||
"admin": "Admin",
|
||||
"action": "Action",
|
||||
"name": "Name",
|
||||
"searchAdmin": "Search administrator",
|
||||
"searchAdminPlaceholder": "Email…"
|
||||
},
|
||||
"bannedWords": {
|
||||
"title": "Banned words",
|
||||
"description": "Manage banned words in content",
|
||||
"placeholder": "New word",
|
||||
"deleteTitle": "Delete word?",
|
||||
"deleteBody": "«{{word}}» will be removed from the banned list.",
|
||||
"addedBy": "Added by",
|
||||
"addedAt": "Added at"
|
||||
},
|
||||
"menu": {
|
||||
"dashboard": "Dashboard",
|
||||
"users": "Users",
|
||||
@@ -12,23 +450,5 @@
|
||||
"admins": "Admins",
|
||||
"audit": "Audit",
|
||||
"monitoring": "Monitoring"
|
||||
},
|
||||
"profile": {
|
||||
"title": "My profile",
|
||||
"edit": "Edit",
|
||||
"saved": "Profile updated"
|
||||
},
|
||||
"login": {
|
||||
"title": "Sign in",
|
||||
"email": "Email",
|
||||
"password": "Password",
|
||||
"submit": "Sign in",
|
||||
"invalid_credentials": "Invalid email or password",
|
||||
"insufficient_permissions": "Insufficient permissions",
|
||||
"error": "Sign-in error"
|
||||
},
|
||||
"ws": {
|
||||
"newReport": "New report",
|
||||
"newTicket": "New ticket"
|
||||
}
|
||||
}
|
||||
|
||||
+438
-18
@@ -1,4 +1,442 @@
|
||||
{
|
||||
"common": {
|
||||
"appTitle": "EventHub",
|
||||
"cancel": "Отмена",
|
||||
"save": "Сохранить",
|
||||
"saving": "Сохранение…",
|
||||
"delete": "Удалить",
|
||||
"edit": "Редактировать",
|
||||
"open": "Открыть",
|
||||
"close": "Закрыть",
|
||||
"create": "Создать",
|
||||
"add": "Добавить",
|
||||
"find": "Найти",
|
||||
"search": "Поиск",
|
||||
"actions": "Действия",
|
||||
"backToList": "К списку",
|
||||
"tryAgain": "Попробовать снова",
|
||||
"toDashboard": "На дашборд",
|
||||
"yes": "Да",
|
||||
"no": "Нет",
|
||||
"noData": "Нет данных",
|
||||
"loading": "Загрузка…",
|
||||
"emDash": "—",
|
||||
"all": "Все",
|
||||
"allStatuses": "Все статусы",
|
||||
"allPlans": "Все планы",
|
||||
"allTypes": "Все типы",
|
||||
"total": "Всего",
|
||||
"freeze": "Заморозить",
|
||||
"unfreeze": "Разморозить",
|
||||
"quickView": "Быстрый просмотр",
|
||||
"show": "Показать",
|
||||
"hide": "Скрыть",
|
||||
"irreversible": "Это действие нельзя отменить.",
|
||||
"pageOf": "{{current}} / {{total}}",
|
||||
"shownRange": "Показано {{from}}–{{to}} из {{total}}",
|
||||
"pageLabel": "Страница {{current}}",
|
||||
"perPage": "На странице",
|
||||
"searchPlaceholder": "Поиск…",
|
||||
"selectRole": "Выберите роль",
|
||||
"selectStatus": "Выберите статус",
|
||||
"selectType": "Выберите тип",
|
||||
"selectPlan": "Выберите план",
|
||||
"selectLanguage": "Выберите язык",
|
||||
"selectTimezone": "Выберите пояс",
|
||||
"selectAdmin": "Выберите администратора",
|
||||
"enterReason": "Введите причину изменения статуса",
|
||||
"unassigned": "Не назначен",
|
||||
"email": "Email",
|
||||
"nickname": "Ник",
|
||||
"role": "Роль",
|
||||
"status": "Статус",
|
||||
"reason": "Причина",
|
||||
"phone": "Телефон",
|
||||
"language": "Язык",
|
||||
"timezone": "Часовой пояс",
|
||||
"lastLogin": "Последний вход",
|
||||
"createdAt": "Создано",
|
||||
"updatedAt": "Обновлено",
|
||||
"title": "Название",
|
||||
"description": "Описание",
|
||||
"type": "Тип",
|
||||
"start": "Начало",
|
||||
"rating": "Рейтинг",
|
||||
"owner": "Владелец",
|
||||
"target": "Цель",
|
||||
"targetType": "Тип цели",
|
||||
"sender": "Отправитель",
|
||||
"plan": "План",
|
||||
"comment": "Комментарий",
|
||||
"password": "Пароль",
|
||||
"error": "Ошибка",
|
||||
"word": "Слово",
|
||||
"date": "Дата",
|
||||
"dateFrom": "Дата с",
|
||||
"dateTo": "Дата по",
|
||||
"assigned": "Назначен",
|
||||
"expiresAt": "Дата окончания",
|
||||
"count": "Повторов",
|
||||
"firstSeen": "Первый раз",
|
||||
"lastSeen": "Последний",
|
||||
"user": "Пользователь",
|
||||
"entityUpdated": "Обновлено",
|
||||
"entityDeleted": "Удалено",
|
||||
"entityCreated": "Создано",
|
||||
"updateError": "Ошибка обновления",
|
||||
"deleteError": "Ошибка удаления",
|
||||
"createError": "Ошибка создания",
|
||||
"loadError": "Ошибка загрузки",
|
||||
"notFound": "Не найдено",
|
||||
"langRu": "Русский",
|
||||
"langEn": "English",
|
||||
"reviewed": "Рассмотрено",
|
||||
"dismissed": "Отклонено",
|
||||
"resolved": "Решено",
|
||||
"inProgress": "В работу",
|
||||
"pendingUsers": "Неподтверждённые",
|
||||
"queueEmpty": "Очередь пуста",
|
||||
"openInbox": "Открыть входящие",
|
||||
"nothingFound": "Ничего не найдено",
|
||||
"category": "Категория",
|
||||
"ip": "IP",
|
||||
"apply": "Применить",
|
||||
"id": "ID",
|
||||
"changeStatusTo": "Изменить статус на «{{status}}»",
|
||||
"confirmMarkAs": "Отметить как «{{status}}»?",
|
||||
"bulkUpdated": "Статусы обновлены",
|
||||
"bulkUpdateError": "Ошибка массового обновления",
|
||||
"openFull": "Открыть полностью",
|
||||
"socialLinks": "Социальные ссылки",
|
||||
"shortName": "Короткое имя",
|
||||
"color": "Цвет",
|
||||
"image": "Изображение",
|
||||
"confirmation": "Подтверждение",
|
||||
"settings": "Настройки",
|
||||
"specialist": "Специалист",
|
||||
"calendar": "Календарь",
|
||||
"masterEvent": "Мастер-событие",
|
||||
"attachments": "Вложения",
|
||||
"editHistory": "История изменений",
|
||||
"recurrence": "Повторение",
|
||||
"location": "Локация",
|
||||
"isInstance": "Является экземпляром",
|
||||
"likes": "Лайки",
|
||||
"dislikes": "Дизлайки",
|
||||
"errorHash": "Хеш ошибки",
|
||||
"errorMessage": "Сообщение",
|
||||
"stacktrace": "Стектрейс",
|
||||
"context": "Контекст",
|
||||
"resolution": "Решение",
|
||||
"resolutionNote": "Комментарий решения",
|
||||
"assign": "Назначить"
|
||||
},
|
||||
"navGroup": {
|
||||
"work": "Работа",
|
||||
"overview": "Обзор",
|
||||
"content": "Контент",
|
||||
"moderation": "Модерация",
|
||||
"system": "Система",
|
||||
"account": "Аккаунт"
|
||||
},
|
||||
"nav": {
|
||||
"inboxReports": "Входящие · жалобы",
|
||||
"inboxTickets": "Входящие · тикеты",
|
||||
"dashboard": "Дашборд",
|
||||
"monitoring": "Мониторинг",
|
||||
"users": "Пользователи",
|
||||
"calendars": "Календари",
|
||||
"events": "События",
|
||||
"subscriptions": "Подписки",
|
||||
"reports": "Жалобы (список)",
|
||||
"reviews": "Отзывы",
|
||||
"bannedWords": "Бан-слова",
|
||||
"tickets": "Тикеты (список)",
|
||||
"admins": "Администраторы",
|
||||
"audit": "Аудит",
|
||||
"profile": "Мой профиль"
|
||||
},
|
||||
"layout": {
|
||||
"search": "Поиск",
|
||||
"searchHotkey": "Поиск (⌘K)",
|
||||
"myProfile": "Мой профиль",
|
||||
"uiLanguage": "Язык интерфейса",
|
||||
"logout": "Выйти",
|
||||
"densityCompact": "Плотность: компактная",
|
||||
"densityNormal": "Плотность: обычная",
|
||||
"densityToNormal": "Обычная плотность",
|
||||
"densityToCompact": "Компактная плотность",
|
||||
"paletteTitle": "Командная палитра",
|
||||
"palettePlaceholder": "Перейти к разделу…",
|
||||
"paletteHints": "↑↓ навигация · Enter открыть · Esc закрыть",
|
||||
"nodesNoData": "Ноды: нет данных",
|
||||
"nodesPrev": "Предыдущие ноды",
|
||||
"nodesNext": "Следующие ноды"
|
||||
},
|
||||
"explore": {
|
||||
"viewAria": "Вид списка",
|
||||
"table": "Таблица",
|
||||
"rows": "Строки",
|
||||
"tops": "Топы",
|
||||
"listsCount": "{{count}} списка",
|
||||
"descPreviewName": "Explore · клик по имени — preview, ⋯ — действия",
|
||||
"descPreviewTitle": "Explore · клик по названию — preview, ⋯ — действия",
|
||||
"descActions": "Explore · ⋯ — действия",
|
||||
"descBulk": "Explore · ⋯ — действия, массовые операции через выбор строк",
|
||||
"descRowOpen": "Explore · клик по строке — открыть, ⋯ — действия",
|
||||
"searchEvents": "Поиск событий…",
|
||||
"searchCalendars": "Поиск календарей…",
|
||||
"searchUsers": "Поиск (email, ник)…",
|
||||
"searchWord": "Поиск по слову",
|
||||
"expiringSoon": "Скоро истекают",
|
||||
"paid30d": "Платные · 30 дней",
|
||||
"byRating": "Рейтинг",
|
||||
"byReviews": "Отзывы",
|
||||
"positive": "Позитивные",
|
||||
"negative": "Негативные",
|
||||
"allReviews": "Все отзывы",
|
||||
"byReports": "По жалобам",
|
||||
"loginAt": "вход {{date}}",
|
||||
"ownerId": "владелец {{id}}"
|
||||
},
|
||||
"inbox": {
|
||||
"reportsTitle": "Входящие · Жалобы",
|
||||
"ticketsTitle": "Входящие · Тикеты",
|
||||
"reportsHints": "j/k · Enter открыть · 1 рассмотрено · 2 отклонено · клик по ссылке → preview",
|
||||
"ticketsHints": "j/k · Enter открыть · 1 решено · 2 в работу",
|
||||
"pending": "Ожидают",
|
||||
"all": "Все",
|
||||
"active": "Активные",
|
||||
"mine": "Мои",
|
||||
"queue": "Очередь ({{count}})",
|
||||
"selectReport": "Выберите жалобу из очереди",
|
||||
"selectTicket": "Выберите тикет из очереди",
|
||||
"reportCard": "Жалоба {{id}}",
|
||||
"fullCard": "Полная карточка",
|
||||
"bannerReports": "Оперативная работа с жалобами — во входящих",
|
||||
"bannerTickets": "Оперативная работа с тикетами — во входящих"
|
||||
},
|
||||
"dashboard": {
|
||||
"controlCenter": "Control Center",
|
||||
"moderation": "Модерация",
|
||||
"support": "Поддержка",
|
||||
"subtitleAdmin": "Работа · Обзор · расследование",
|
||||
"subtitleModeration": "Главный рабочий режим — входящие. Здесь только KPI смены.",
|
||||
"subtitleSupport": "Фокус на назначенных тикетах — не на полном каталоге ошибок.",
|
||||
"reportsInboxTitle": "Входящие жалобы",
|
||||
"reportsInboxDesc": "Split-view очередь: j/k, 1 рассмотрено, 2 отклонено",
|
||||
"ticketsInboxTitle": "Входящие тикеты",
|
||||
"ticketsInboxDesc": "Активные / мои · j/k · 1 решено · 2 в работу",
|
||||
"reportQueueTitle": "Очередь жалоб",
|
||||
"reportQueueDesc": "Ожидают: {{count}}",
|
||||
"ticketQueueTitle": "Очередь тикетов",
|
||||
"ticketQueueDesc": "Открытых: {{count}}",
|
||||
"quickOverview": "Быстрый обзор",
|
||||
"pending": "Ожидают",
|
||||
"reviewed": "Рассмотрено",
|
||||
"avgTimeH": "Ср. время (ч)",
|
||||
"assignedOpen": "Назначено открытых",
|
||||
"assignedTotal": "Всего назначено",
|
||||
"avgResolutionH": "Ср. решение (ч)",
|
||||
"eventsByDay": "События по дням",
|
||||
"registrationsByDay": "Регистрации по дням",
|
||||
"reviewsByDay": "Отзывы по дням",
|
||||
"reportsByDay": "Жалобы по дням",
|
||||
"ticketsByDay": "Тикеты по дням",
|
||||
"subscriptionsByDay": "Подписки по дням",
|
||||
"loadStatsError": "Не удалось загрузить статистику",
|
||||
"ticketsTotal": "Тикеты (всего)",
|
||||
"ticketsOpen": "Открытых тикетов",
|
||||
"trialSubscriptions": "Пробные подписки"
|
||||
},
|
||||
"monitoring": {
|
||||
"title": "Наблюдение · Мониторинг",
|
||||
"subtitle": "Live WS + история метрик · диапазон {{minutes}} мин",
|
||||
"noData": "нет данных",
|
||||
"waitingTitle": "Ожидание телеметрии",
|
||||
"waitingDesc": "Метрики появятся по WebSocket или после ответа REST history за выбранный интервал.",
|
||||
"noPoints": "Пока нет точек данных.",
|
||||
"node": "Нода",
|
||||
"nodeNamed": "Нода {{name}}",
|
||||
"refreshing": "Обновление истории…",
|
||||
"m5": "5 мин",
|
||||
"m15": "15 мин",
|
||||
"m30": "30 мин",
|
||||
"h1": "1 час",
|
||||
"onlineNodes": "Онлайн-ноды",
|
||||
"cpuPeak": "Пик CPU (latest)",
|
||||
"memoryAvg": "Память avg",
|
||||
"cpuMemory": "CPU и память (МБ)",
|
||||
"memoryByType": "Память по типам (МБ)",
|
||||
"wsQueue": "WebSocket и очередь",
|
||||
"mnesia": "Mnesia",
|
||||
"mnesiaTables": "Размеры таблиц Mnesia (последняя точка)",
|
||||
"noTableData": "Нет данных по таблицам за выбранный интервал",
|
||||
"table": "Таблица",
|
||||
"records": "Записей",
|
||||
"healthy": "{{count}} нод в норме",
|
||||
"load": "{{count}} нод · нагрузка"
|
||||
},
|
||||
"status": {
|
||||
"active": "Активен",
|
||||
"frozen": "Заморожен",
|
||||
"deleted": "Удалён",
|
||||
"pending": "Ожидает",
|
||||
"reviewed": "Рассмотрено",
|
||||
"dismissed": "Отклонено",
|
||||
"open": "Открыт",
|
||||
"in_progress": "В работе",
|
||||
"resolved": "Решён",
|
||||
"closed": "Закрыт",
|
||||
"visible": "Видимый",
|
||||
"hidden": "Скрыт",
|
||||
"cancelled": "Отменён",
|
||||
"completed": "Завершён",
|
||||
"expired": "Истёк"
|
||||
},
|
||||
"ws": {
|
||||
"newReport": "Новая жалоба",
|
||||
"reportId": "Жалоба #{{id}}",
|
||||
"onTarget": "на {{type}}",
|
||||
"newTicket": "Создан новый тикет",
|
||||
"ticketCreated": "Тикет #{{id}} создан",
|
||||
"open": "Открыть"
|
||||
},
|
||||
"errors": {
|
||||
"forbiddenTitle": "403",
|
||||
"forbiddenMessage": "У вас нет доступа к разделу «{{section}}».",
|
||||
"renderTitle": "Ошибка отображения",
|
||||
"renderFallback": "Не удалось отобразить страницу."
|
||||
},
|
||||
"login": {
|
||||
"title": "Вход",
|
||||
"subtitle": "Control Center · модерация и поддержка",
|
||||
"email": "Email",
|
||||
"password": "Пароль",
|
||||
"submit": "Войти",
|
||||
"invalid_credentials": "Неверный email или пароль",
|
||||
"insufficient_permissions": "Недостаточно прав для входа",
|
||||
"error": "Ошибка входа"
|
||||
},
|
||||
"profile": {
|
||||
"title": "Мой профиль",
|
||||
"description": "Данные учётной записи администратора",
|
||||
"edit": "Редактировать",
|
||||
"saved": "Профиль обновлён",
|
||||
"saveError": "Ошибка обновления профиля",
|
||||
"avatarUrl": "URL аватара",
|
||||
"preferences": "Настройки",
|
||||
"preferencesJson": "Настройки (JSON)",
|
||||
"invalidJson": "Невалидный JSON",
|
||||
"preferencesInvalidJson": "Поле «Настройки» должно быть валидным JSON"
|
||||
},
|
||||
"users": {
|
||||
"title": "Пользователи",
|
||||
"editTitle": "Редактировать пользователя",
|
||||
"deleteTitle": "Удалить пользователя?",
|
||||
"deleteHint": "Это действие нельзя отменить. При необходимости предварительно укажите причину через редактирование.",
|
||||
"statusTitle": "Изменить статус на «{{status}}»",
|
||||
"notFound": "Пользователь не найден"
|
||||
},
|
||||
"events": {
|
||||
"title": "События",
|
||||
"entity": "Событие",
|
||||
"detailTitle": "Событие {{name}}",
|
||||
"editTitle": "Редактировать событие",
|
||||
"deleteTitle": "Удалить событие?",
|
||||
"notFound": "Событие не найдено",
|
||||
"topsRating": "Топ по рейтингу",
|
||||
"startDatetime": "Дата и время начала",
|
||||
"durationMin": "Продолжительность (мин)",
|
||||
"capacity": "Вместимость",
|
||||
"specialistId": "Специалист (ID)",
|
||||
"calendarId": "Календарь (ID)",
|
||||
"onlineLink": "Ссылка онлайн",
|
||||
"tags": "Теги",
|
||||
"recurrenceInterval": "{{freq}} (интервал: {{interval}})",
|
||||
"ratingWithCount": "{{avg}} ({{count}} оценок)"
|
||||
},
|
||||
"calendars": {
|
||||
"title": "Календари",
|
||||
"entity": "Календарь",
|
||||
"detailTitle": "Календарь {{name}}",
|
||||
"editTitle": "Редактировать календарь",
|
||||
"deleteTitle": "Удалить календарь?",
|
||||
"notFound": "Календарь не найден"
|
||||
},
|
||||
"reports": {
|
||||
"title": "Жалобы",
|
||||
"entity": "Жалоба",
|
||||
"notFound": "Жалоба не найдена",
|
||||
"detailTitle": "Жалоба {{id}}",
|
||||
"resolvedAt": "Решено",
|
||||
"resolvedBy": "Кем решено",
|
||||
"id": "ID"
|
||||
},
|
||||
"reviews": {
|
||||
"title": "Отзывы",
|
||||
"detailTitle": "Отзыв {{id}}",
|
||||
"editTitle": "Редактировать отзыв",
|
||||
"hideSelected": "Скрыть выбранные",
|
||||
"showSelected": "Показать выбранные",
|
||||
"deleteSelected": "Удалить выбранные",
|
||||
"notFound": "Отзыв не найден",
|
||||
"score": "Оценка",
|
||||
"likesDislikes": "Лайки / Дизлайки",
|
||||
"selectAllAria": "Выбрать все на странице",
|
||||
"selectReviewAria": "Выбрать отзыв {{id}}",
|
||||
"selectReviews": "Выберите отзывы",
|
||||
"reasonRequired": "Укажите причину изменения статуса",
|
||||
"reasonRequiredShort": "Укажите причину",
|
||||
"bulkStatusTitle": "Изменить статус на «{{status}}» для {{count}} отзывов",
|
||||
"bulkReasonPlaceholder": "Общая причина для выбранных отзывов",
|
||||
"ratingValue": "Оценка {{rating}}"
|
||||
},
|
||||
"tickets": {
|
||||
"title": "Тикеты",
|
||||
"detailTitle": "Тикет {{id}}",
|
||||
"deleteTitle": "Удалить тикет?",
|
||||
"notFound": "Тикет не найден",
|
||||
"statsHint": "Explore · закрыто {{closed}}, всего ошибок {{errors}}"
|
||||
},
|
||||
"subscriptions": {
|
||||
"title": "Подписки",
|
||||
"editTitle": "Редактировать подписку",
|
||||
"deleteTitle": "Удалить подписку?",
|
||||
"trial": "Пробный",
|
||||
"trialUsed": "Пробный период использован",
|
||||
"trialCount": "Пробные",
|
||||
"expiresUntil": "до {{date}}",
|
||||
"trialBadge": "пробный"
|
||||
},
|
||||
"admins": {
|
||||
"title": "Администраторы",
|
||||
"detailTitle": "Администратор {{name}}",
|
||||
"description": "Управление учётными записями администраторов",
|
||||
"add": "Добавить администратора",
|
||||
"createTitle": "Создать администратора",
|
||||
"editTitle": "Редактировать администратора",
|
||||
"deleteTitle": "Удалить администратора?",
|
||||
"notFound": "Администратор не найден"
|
||||
},
|
||||
"audit": {
|
||||
"title": "Аудит",
|
||||
"description": "Журнал действий администраторов",
|
||||
"admin": "Администратор",
|
||||
"action": "Действие",
|
||||
"name": "Наименование",
|
||||
"searchAdmin": "Поиск администратора",
|
||||
"searchAdminPlaceholder": "Email…"
|
||||
},
|
||||
"bannedWords": {
|
||||
"title": "Бан-слова",
|
||||
"description": "Управление запрещёнными словами в контенте",
|
||||
"placeholder": "Новое слово",
|
||||
"deleteTitle": "Удалить слово?",
|
||||
"deleteBody": "Слово «{{word}}» будет удалено из списка запрещённых.",
|
||||
"addedBy": "Кем добавлено",
|
||||
"addedAt": "Дата добавления"
|
||||
},
|
||||
"menu": {
|
||||
"dashboard": "Дашборд",
|
||||
"users": "Пользователи",
|
||||
@@ -12,23 +450,5 @@
|
||||
"admins": "Администраторы",
|
||||
"audit": "Аудит",
|
||||
"monitoring": "Мониторинг"
|
||||
},
|
||||
"profile": {
|
||||
"title": "Мой профиль",
|
||||
"edit": "Редактировать",
|
||||
"saved": "Профиль обновлён"
|
||||
},
|
||||
"login": {
|
||||
"title": "Вход",
|
||||
"email": "Email",
|
||||
"password": "Пароль",
|
||||
"submit": "Войти",
|
||||
"invalid_credentials": "Неверный email или пароль",
|
||||
"insufficient_permissions": "Недостаточно прав для входа",
|
||||
"error": "Ошибка входа"
|
||||
},
|
||||
"ws": {
|
||||
"newReport": "Новая жалоба",
|
||||
"newTicket": "Новый тикет"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user