feat(cms): add recovery history and operational reliability tools
This commit is contained in:
1 parent
89526af344
commit
1ef405be0a
92 files changed
+6384
-267
No files matched your search
+140
-3
@@ -6,7 +6,8 @@
|
||||
"pages": {
|
||||
"admin": {
|
||||
"nav": {
|
||||
"studio": "Studio"
|
||||
"studio": "Studio",
|
||||
"operationsCenter": "Operations center"
|
||||
},
|
||||
"logs": {
|
||||
"audit": {
|
||||
@@ -22,6 +23,51 @@
|
||||
"beforeValue": "Before",
|
||||
"afterValue": "After",
|
||||
"exportHint": "CSV exports the current filtered page, up to 100 records."
|
||||
},
|
||||
"history": {
|
||||
"preview": "Preview restore",
|
||||
"title": "Restore a recorded edit",
|
||||
"description": "Compare current values with the previous values before confirming. Only category settings, offer prices or news content are restored. Deleted records and category hierarchy cannot be restored here.",
|
||||
"loading": "Loading…",
|
||||
"unavailable": "This revision is unavailable or you do not have permission to restore it.",
|
||||
"conflict": "This record changed after the selected edit. Refresh and review its latest history before restoring.",
|
||||
"failed": "The restore could not be completed. Please reload and try again.",
|
||||
"field": "Field",
|
||||
"current": "Current value",
|
||||
"restore": "Value to restore",
|
||||
"confirm": "Confirm restore",
|
||||
"restoring": "Restoring…",
|
||||
"fields": {
|
||||
"caption": "Category name",
|
||||
"captionSave": "Internal category name",
|
||||
"pageLayout": "Category layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"minRank": "Minimum rank",
|
||||
"iconImage": "Category icon",
|
||||
"iconColor": "Icon colour",
|
||||
"pageHeadline": "Header image",
|
||||
"pageTeaser": "Preview image",
|
||||
"pageSpecial": "Special image",
|
||||
"pageText1": "Primary text",
|
||||
"pageText2": "Secondary text",
|
||||
"pageTextDetails": "Details text",
|
||||
"pageTextTeaser": "Preview text",
|
||||
"includes": "Included categories",
|
||||
"costCredits": "Credit price",
|
||||
"costPoints": "Points price",
|
||||
"pointsType": "Points currency",
|
||||
"title": "News title",
|
||||
"slug": "News address",
|
||||
"image": "News image",
|
||||
"shortStory": "Summary",
|
||||
"fullStory": "Article content",
|
||||
"status": "Publication status",
|
||||
"publishAt": "Scheduled publication",
|
||||
"publishedAt": "Publication date"
|
||||
}
|
||||
}
|
||||
},
|
||||
"cmsErrors": {
|
||||
@@ -36,7 +82,17 @@
|
||||
"clearAssignment": "Clear assignment",
|
||||
"openOperation": "Open related area",
|
||||
"releaseOccurrences": "Occurrences by release",
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error."
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error.",
|
||||
"releaseFilter": "Version",
|
||||
"allReleases": "All versions",
|
||||
"period": "Period",
|
||||
"allRetained": "All retained events",
|
||||
"last24h": "Last 24 hours",
|
||||
"last7d": "Last 7 days",
|
||||
"sort": "Order",
|
||||
"recentFirst": "Most recent first",
|
||||
"frequentFirst": "Most frequent first",
|
||||
"filterScope": "Counts refer to matching retained events. Group status and latest details remain current across versions."
|
||||
},
|
||||
"installation": {
|
||||
"title": "Installation diagnostics",
|
||||
@@ -76,7 +132,11 @@
|
||||
"refreshHistory": "Refresh history",
|
||||
"showMoreItems": "Show 50 more items",
|
||||
"uncertainOutcome": "An interrupted item may already have changed local data. It is excluded from retries.",
|
||||
"reviewLocalData": "Review local data"
|
||||
"reviewLocalData": "Review local data",
|
||||
"ownerHistory": "Your imports and repairs, newest first. Retries never repeat completed or uncertain items.",
|
||||
"previousPage": "Previous",
|
||||
"nextPage": "Next",
|
||||
"page": "Page {page}"
|
||||
},
|
||||
"articles": {
|
||||
"form": {
|
||||
@@ -217,6 +277,40 @@
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
},
|
||||
"integrity": {
|
||||
"title": "Catalog integrity",
|
||||
"description": "Check references, category paths, identifiers and furniture icons. Scanning does not change records.",
|
||||
"catalog": "Catalog",
|
||||
"normal": "Normal catalog",
|
||||
"bc": "Builders Club",
|
||||
"refresh": "Scan again",
|
||||
"working": "Checking…",
|
||||
"failed": "The operation could not be completed. Try again.",
|
||||
"stalePreview": "The catalog changed after the preview. Create a new preview before applying repairs.",
|
||||
"applied": "{count} categories reattached to the catalog root.",
|
||||
"iconsUnavailable": "The icon folder could not be read. Icon availability has not been verified.",
|
||||
"healthy": "No issues found in the completed checks.",
|
||||
"total": "{count} issues found. Showing {shown}.",
|
||||
"open": "Open",
|
||||
"reference": "Reference: {value}",
|
||||
"repairHint": "Preview categories whose parent no longer exists. Applying moves only these categories to the root and preserves every record. Cycles, missing furniture, icons and identifier conflicts require individual review.",
|
||||
"preview": "Preview safe repairs",
|
||||
"planned": "{count} categories will be moved:",
|
||||
"parentChange": "parent #{from} → catalog root",
|
||||
"apply": "Apply previewed repairs",
|
||||
"legacyTitle": "Advanced maintenance actions",
|
||||
"legacyHint": "These existing maintenance tools can rewrite identifiers and merge or remove duplicate records. They are separate from the non-destructive integrity check and its previewed parent repair.",
|
||||
"issues": {
|
||||
"missing_furniture": "Offer references missing furniture",
|
||||
"invalid_item_ids": "Invalid furniture identifiers",
|
||||
"missing_page": "Offer references a missing category",
|
||||
"unreachable_page": "Unreachable category",
|
||||
"category_cycle": "Category path contains a cycle",
|
||||
"missing_icon": "Missing furniture icon",
|
||||
"invalid_offer_id": "Invalid offer identifier",
|
||||
"duplicate_offer_id": "Repeated offer identifier"
|
||||
}
|
||||
}
|
||||
},
|
||||
"catalogPackages": {
|
||||
@@ -371,6 +465,49 @@
|
||||
"retry": "Retry",
|
||||
"description": "Search pages, users, furniture, catalog categories, articles and support tickets.",
|
||||
"partialError": "Some results could not be loaded. Try again."
|
||||
},
|
||||
"permissionPreview": {
|
||||
"title": "Role access preview",
|
||||
"description": "Inspect CMS access without changing a session or impersonating a user.",
|
||||
"back": "Back to permissions",
|
||||
"role": "Role",
|
||||
"show": "Show access",
|
||||
"missing": "Select an existing role.",
|
||||
"entryAllowed": "Housekeeping entry allowed",
|
||||
"entryDenied": "Housekeeping entry denied: dashboard permission missing",
|
||||
"superAdmin": "This rank currently receives the highest-rank override.",
|
||||
"scope": "This preview shows one role only. A user may receive additional roles. Navigation customization can hide allowed sections; specific records and actions can require further checks.",
|
||||
"sections": "Sections",
|
||||
"allowed": "Allowed",
|
||||
"denied": "Denied",
|
||||
"actions": "CMS permissions",
|
||||
"actionScope": "A granted permission alone does not bypass dashboard entry, rank hierarchy, record ownership or action-specific validation.",
|
||||
"granted": "Granted",
|
||||
"notGranted": "Not granted"
|
||||
},
|
||||
"operationsCenter": {
|
||||
"title": "Operations center",
|
||||
"hint": "Track your durable imports and repairs, and the shared catalog export queue.",
|
||||
"syncTitle": "Source synchronization",
|
||||
"syncHint": "Source synchronization shows live progress on its own page. It has no durable history or automatic retry of failed items here. Catalog export reports the shared queue and latest result; item-level retry is not supported.",
|
||||
"openSync": "Open synchronization and export",
|
||||
"openImports": "Open furniture imports"
|
||||
},
|
||||
"operationsExport": {
|
||||
"title": "Catalog repository export",
|
||||
"hint": "Automatic export of bundles, icons, gamedata, translations and catalog SQL. The queue and latest result are shared across operators.",
|
||||
"loadError": "Unable to load export status",
|
||||
"queueError": "Unable to queue export",
|
||||
"loading": "Loading…",
|
||||
"disabled": "Export is disabled. Open synchronization to review its configuration.",
|
||||
"active": "Waiting for {count} operation(s) to finish.",
|
||||
"running": "Export in progress…",
|
||||
"pending": "{count} update(s) queued for export.",
|
||||
"idle": "No pending updates.",
|
||||
"lastCommit": "Last published commit:",
|
||||
"lastAttempt": "Last attempt: {date}",
|
||||
"queuing": "Queuing…",
|
||||
"queue": "Export now / retry"
|
||||
}
|
||||
},
|
||||
"myDashboard": {
|
||||
|
||||
+140
-3
@@ -916,7 +916,8 @@
|
||||
"tools": "Tools",
|
||||
"guilds": "Guilds",
|
||||
"itemsBase": "Items base",
|
||||
"adminMenu": "Admin menu"
|
||||
"adminMenu": "Admin menu",
|
||||
"operationsCenter": "Operations center"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Табло за управление",
|
||||
@@ -1597,6 +1598,40 @@
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
},
|
||||
"integrity": {
|
||||
"title": "Catalog integrity",
|
||||
"description": "Check references, category paths, identifiers and furniture icons. Scanning does not change records.",
|
||||
"catalog": "Catalog",
|
||||
"normal": "Normal catalog",
|
||||
"bc": "Builders Club",
|
||||
"refresh": "Scan again",
|
||||
"working": "Checking…",
|
||||
"failed": "The operation could not be completed. Try again.",
|
||||
"stalePreview": "The catalog changed after the preview. Create a new preview before applying repairs.",
|
||||
"applied": "{count} categories reattached to the catalog root.",
|
||||
"iconsUnavailable": "The icon folder could not be read. Icon availability has not been verified.",
|
||||
"healthy": "No issues found in the completed checks.",
|
||||
"total": "{count} issues found. Showing {shown}.",
|
||||
"open": "Open",
|
||||
"reference": "Reference: {value}",
|
||||
"repairHint": "Preview categories whose parent no longer exists. Applying moves only these categories to the root and preserves every record. Cycles, missing furniture, icons and identifier conflicts require individual review.",
|
||||
"preview": "Preview safe repairs",
|
||||
"planned": "{count} categories will be moved:",
|
||||
"parentChange": "parent #{from} → catalog root",
|
||||
"apply": "Apply previewed repairs",
|
||||
"legacyTitle": "Advanced maintenance actions",
|
||||
"legacyHint": "These existing maintenance tools can rewrite identifiers and merge or remove duplicate records. They are separate from the non-destructive integrity check and its previewed parent repair.",
|
||||
"issues": {
|
||||
"missing_furniture": "Offer references missing furniture",
|
||||
"invalid_item_ids": "Invalid furniture identifiers",
|
||||
"missing_page": "Offer references a missing category",
|
||||
"unreachable_page": "Unreachable category",
|
||||
"category_cycle": "Category path contains a cycle",
|
||||
"missing_icon": "Missing furniture icon",
|
||||
"invalid_offer_id": "Invalid offer identifier",
|
||||
"duplicate_offer_id": "Repeated offer identifier"
|
||||
}
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -2303,6 +2338,51 @@
|
||||
"colStatus": "Status",
|
||||
"statusUnknown": "unknown",
|
||||
"searchPlaceholder": "Search by username…"
|
||||
},
|
||||
"history": {
|
||||
"preview": "Preview restore",
|
||||
"title": "Restore a recorded edit",
|
||||
"description": "Compare current values with the previous values before confirming. Only category settings, offer prices or news content are restored. Deleted records and category hierarchy cannot be restored here.",
|
||||
"loading": "Loading…",
|
||||
"unavailable": "This revision is unavailable or you do not have permission to restore it.",
|
||||
"conflict": "This record changed after the selected edit. Refresh and review its latest history before restoring.",
|
||||
"failed": "The restore could not be completed. Please reload and try again.",
|
||||
"field": "Field",
|
||||
"current": "Current value",
|
||||
"restore": "Value to restore",
|
||||
"confirm": "Confirm restore",
|
||||
"restoring": "Restoring…",
|
||||
"fields": {
|
||||
"caption": "Category name",
|
||||
"captionSave": "Internal category name",
|
||||
"pageLayout": "Category layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"minRank": "Minimum rank",
|
||||
"iconImage": "Category icon",
|
||||
"iconColor": "Icon colour",
|
||||
"pageHeadline": "Header image",
|
||||
"pageTeaser": "Preview image",
|
||||
"pageSpecial": "Special image",
|
||||
"pageText1": "Primary text",
|
||||
"pageText2": "Secondary text",
|
||||
"pageTextDetails": "Details text",
|
||||
"pageTextTeaser": "Preview text",
|
||||
"includes": "Included categories",
|
||||
"costCredits": "Credit price",
|
||||
"costPoints": "Points price",
|
||||
"pointsType": "Points currency",
|
||||
"title": "News title",
|
||||
"slug": "News address",
|
||||
"image": "News image",
|
||||
"shortStory": "Summary",
|
||||
"fullStory": "Article content",
|
||||
"status": "Publication status",
|
||||
"publishAt": "Scheduled publication",
|
||||
"publishedAt": "Publication date"
|
||||
}
|
||||
}
|
||||
},
|
||||
"wordfilter": {
|
||||
@@ -3200,7 +3280,17 @@
|
||||
"clearAssignment": "Clear assignment",
|
||||
"openOperation": "Open related area",
|
||||
"releaseOccurrences": "Occurrences by release",
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error."
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error.",
|
||||
"releaseFilter": "Version",
|
||||
"allReleases": "All versions",
|
||||
"period": "Period",
|
||||
"allRetained": "All retained events",
|
||||
"last24h": "Last 24 hours",
|
||||
"last7d": "Last 7 days",
|
||||
"sort": "Order",
|
||||
"recentFirst": "Most recent first",
|
||||
"frequentFirst": "Most frequent first",
|
||||
"filterScope": "Counts refer to matching retained events. Group status and latest details remain current across versions."
|
||||
},
|
||||
"installation": {
|
||||
"title": "Installation diagnostics",
|
||||
@@ -3240,7 +3330,11 @@
|
||||
"refreshHistory": "Refresh history",
|
||||
"showMoreItems": "Show 50 more items",
|
||||
"uncertainOutcome": "An interrupted item may already have changed local data. It is excluded from retries.",
|
||||
"reviewLocalData": "Review local data"
|
||||
"reviewLocalData": "Review local data",
|
||||
"ownerHistory": "Your imports and repairs, newest first. Retries never repeat completed or uncertain items.",
|
||||
"previousPage": "Previous",
|
||||
"nextPage": "Next",
|
||||
"page": "Page {page}"
|
||||
},
|
||||
"operations": {
|
||||
"title": "Needs attention",
|
||||
@@ -3325,6 +3419,49 @@
|
||||
"retry": "Retry",
|
||||
"description": "Search pages, users, furniture, catalog categories, articles and support tickets.",
|
||||
"partialError": "Some results could not be loaded. Try again."
|
||||
},
|
||||
"permissionPreview": {
|
||||
"title": "Role access preview",
|
||||
"description": "Inspect CMS access without changing a session or impersonating a user.",
|
||||
"back": "Back to permissions",
|
||||
"role": "Role",
|
||||
"show": "Show access",
|
||||
"missing": "Select an existing role.",
|
||||
"entryAllowed": "Housekeeping entry allowed",
|
||||
"entryDenied": "Housekeeping entry denied: dashboard permission missing",
|
||||
"superAdmin": "This rank currently receives the highest-rank override.",
|
||||
"scope": "This preview shows one role only. A user may receive additional roles. Navigation customization can hide allowed sections; specific records and actions can require further checks.",
|
||||
"sections": "Sections",
|
||||
"allowed": "Allowed",
|
||||
"denied": "Denied",
|
||||
"actions": "CMS permissions",
|
||||
"actionScope": "A granted permission alone does not bypass dashboard entry, rank hierarchy, record ownership or action-specific validation.",
|
||||
"granted": "Granted",
|
||||
"notGranted": "Not granted"
|
||||
},
|
||||
"operationsCenter": {
|
||||
"title": "Operations center",
|
||||
"hint": "Track your durable imports and repairs, and the shared catalog export queue.",
|
||||
"syncTitle": "Source synchronization",
|
||||
"syncHint": "Source synchronization shows live progress on its own page. It has no durable history or automatic retry of failed items here. Catalog export reports the shared queue and latest result; item-level retry is not supported.",
|
||||
"openSync": "Open synchronization and export",
|
||||
"openImports": "Open furniture imports"
|
||||
},
|
||||
"operationsExport": {
|
||||
"title": "Catalog repository export",
|
||||
"hint": "Automatic export of bundles, icons, gamedata, translations and catalog SQL. The queue and latest result are shared across operators.",
|
||||
"loadError": "Unable to load export status",
|
||||
"queueError": "Unable to queue export",
|
||||
"loading": "Loading…",
|
||||
"disabled": "Export is disabled. Open synchronization to review its configuration.",
|
||||
"active": "Waiting for {count} operation(s) to finish.",
|
||||
"running": "Export in progress…",
|
||||
"pending": "{count} update(s) queued for export.",
|
||||
"idle": "No pending updates.",
|
||||
"lastCommit": "Last published commit:",
|
||||
"lastAttempt": "Last attempt: {date}",
|
||||
"queuing": "Queuing…",
|
||||
"queue": "Export now / retry"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
+140
-3
@@ -916,7 +916,8 @@
|
||||
"tools": "Tools",
|
||||
"guilds": "Guilds",
|
||||
"itemsBase": "Items base",
|
||||
"adminMenu": "Admin menu"
|
||||
"adminMenu": "Admin menu",
|
||||
"operationsCenter": "Operations center"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Dashboard",
|
||||
@@ -1597,6 +1598,40 @@
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
},
|
||||
"integrity": {
|
||||
"title": "Catalog integrity",
|
||||
"description": "Check references, category paths, identifiers and furniture icons. Scanning does not change records.",
|
||||
"catalog": "Catalog",
|
||||
"normal": "Normal catalog",
|
||||
"bc": "Builders Club",
|
||||
"refresh": "Scan again",
|
||||
"working": "Checking…",
|
||||
"failed": "The operation could not be completed. Try again.",
|
||||
"stalePreview": "The catalog changed after the preview. Create a new preview before applying repairs.",
|
||||
"applied": "{count} categories reattached to the catalog root.",
|
||||
"iconsUnavailable": "The icon folder could not be read. Icon availability has not been verified.",
|
||||
"healthy": "No issues found in the completed checks.",
|
||||
"total": "{count} issues found. Showing {shown}.",
|
||||
"open": "Open",
|
||||
"reference": "Reference: {value}",
|
||||
"repairHint": "Preview categories whose parent no longer exists. Applying moves only these categories to the root and preserves every record. Cycles, missing furniture, icons and identifier conflicts require individual review.",
|
||||
"preview": "Preview safe repairs",
|
||||
"planned": "{count} categories will be moved:",
|
||||
"parentChange": "parent #{from} → catalog root",
|
||||
"apply": "Apply previewed repairs",
|
||||
"legacyTitle": "Advanced maintenance actions",
|
||||
"legacyHint": "These existing maintenance tools can rewrite identifiers and merge or remove duplicate records. They are separate from the non-destructive integrity check and its previewed parent repair.",
|
||||
"issues": {
|
||||
"missing_furniture": "Offer references missing furniture",
|
||||
"invalid_item_ids": "Invalid furniture identifiers",
|
||||
"missing_page": "Offer references a missing category",
|
||||
"unreachable_page": "Unreachable category",
|
||||
"category_cycle": "Category path contains a cycle",
|
||||
"missing_icon": "Missing furniture icon",
|
||||
"invalid_offer_id": "Invalid offer identifier",
|
||||
"duplicate_offer_id": "Repeated offer identifier"
|
||||
}
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -2303,6 +2338,51 @@
|
||||
"colStatus": "Status",
|
||||
"statusUnknown": "unknown",
|
||||
"searchPlaceholder": "Search by username…"
|
||||
},
|
||||
"history": {
|
||||
"preview": "Preview restore",
|
||||
"title": "Restore a recorded edit",
|
||||
"description": "Compare current values with the previous values before confirming. Only category settings, offer prices or news content are restored. Deleted records and category hierarchy cannot be restored here.",
|
||||
"loading": "Loading…",
|
||||
"unavailable": "This revision is unavailable or you do not have permission to restore it.",
|
||||
"conflict": "This record changed after the selected edit. Refresh and review its latest history before restoring.",
|
||||
"failed": "The restore could not be completed. Please reload and try again.",
|
||||
"field": "Field",
|
||||
"current": "Current value",
|
||||
"restore": "Value to restore",
|
||||
"confirm": "Confirm restore",
|
||||
"restoring": "Restoring…",
|
||||
"fields": {
|
||||
"caption": "Category name",
|
||||
"captionSave": "Internal category name",
|
||||
"pageLayout": "Category layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"minRank": "Minimum rank",
|
||||
"iconImage": "Category icon",
|
||||
"iconColor": "Icon colour",
|
||||
"pageHeadline": "Header image",
|
||||
"pageTeaser": "Preview image",
|
||||
"pageSpecial": "Special image",
|
||||
"pageText1": "Primary text",
|
||||
"pageText2": "Secondary text",
|
||||
"pageTextDetails": "Details text",
|
||||
"pageTextTeaser": "Preview text",
|
||||
"includes": "Included categories",
|
||||
"costCredits": "Credit price",
|
||||
"costPoints": "Points price",
|
||||
"pointsType": "Points currency",
|
||||
"title": "News title",
|
||||
"slug": "News address",
|
||||
"image": "News image",
|
||||
"shortStory": "Summary",
|
||||
"fullStory": "Article content",
|
||||
"status": "Publication status",
|
||||
"publishAt": "Scheduled publication",
|
||||
"publishedAt": "Publication date"
|
||||
}
|
||||
}
|
||||
},
|
||||
"wordfilter": {
|
||||
@@ -3200,7 +3280,17 @@
|
||||
"clearAssignment": "Clear assignment",
|
||||
"openOperation": "Open related area",
|
||||
"releaseOccurrences": "Occurrences by release",
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error."
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error.",
|
||||
"releaseFilter": "Version",
|
||||
"allReleases": "All versions",
|
||||
"period": "Period",
|
||||
"allRetained": "All retained events",
|
||||
"last24h": "Last 24 hours",
|
||||
"last7d": "Last 7 days",
|
||||
"sort": "Order",
|
||||
"recentFirst": "Most recent first",
|
||||
"frequentFirst": "Most frequent first",
|
||||
"filterScope": "Counts refer to matching retained events. Group status and latest details remain current across versions."
|
||||
},
|
||||
"installation": {
|
||||
"title": "Installation diagnostics",
|
||||
@@ -3240,7 +3330,11 @@
|
||||
"refreshHistory": "Refresh history",
|
||||
"showMoreItems": "Show 50 more items",
|
||||
"uncertainOutcome": "An interrupted item may already have changed local data. It is excluded from retries.",
|
||||
"reviewLocalData": "Review local data"
|
||||
"reviewLocalData": "Review local data",
|
||||
"ownerHistory": "Your imports and repairs, newest first. Retries never repeat completed or uncertain items.",
|
||||
"previousPage": "Previous",
|
||||
"nextPage": "Next",
|
||||
"page": "Page {page}"
|
||||
},
|
||||
"operations": {
|
||||
"title": "Needs attention",
|
||||
@@ -3325,6 +3419,49 @@
|
||||
"retry": "Retry",
|
||||
"description": "Search pages, users, furniture, catalog categories, articles and support tickets.",
|
||||
"partialError": "Some results could not be loaded. Try again."
|
||||
},
|
||||
"permissionPreview": {
|
||||
"title": "Role access preview",
|
||||
"description": "Inspect CMS access without changing a session or impersonating a user.",
|
||||
"back": "Back to permissions",
|
||||
"role": "Role",
|
||||
"show": "Show access",
|
||||
"missing": "Select an existing role.",
|
||||
"entryAllowed": "Housekeeping entry allowed",
|
||||
"entryDenied": "Housekeeping entry denied: dashboard permission missing",
|
||||
"superAdmin": "This rank currently receives the highest-rank override.",
|
||||
"scope": "This preview shows one role only. A user may receive additional roles. Navigation customization can hide allowed sections; specific records and actions can require further checks.",
|
||||
"sections": "Sections",
|
||||
"allowed": "Allowed",
|
||||
"denied": "Denied",
|
||||
"actions": "CMS permissions",
|
||||
"actionScope": "A granted permission alone does not bypass dashboard entry, rank hierarchy, record ownership or action-specific validation.",
|
||||
"granted": "Granted",
|
||||
"notGranted": "Not granted"
|
||||
},
|
||||
"operationsCenter": {
|
||||
"title": "Operations center",
|
||||
"hint": "Track your durable imports and repairs, and the shared catalog export queue.",
|
||||
"syncTitle": "Source synchronization",
|
||||
"syncHint": "Source synchronization shows live progress on its own page. It has no durable history or automatic retry of failed items here. Catalog export reports the shared queue and latest result; item-level retry is not supported.",
|
||||
"openSync": "Open synchronization and export",
|
||||
"openImports": "Open furniture imports"
|
||||
},
|
||||
"operationsExport": {
|
||||
"title": "Catalog repository export",
|
||||
"hint": "Automatic export of bundles, icons, gamedata, translations and catalog SQL. The queue and latest result are shared across operators.",
|
||||
"loadError": "Unable to load export status",
|
||||
"queueError": "Unable to queue export",
|
||||
"loading": "Loading…",
|
||||
"disabled": "Export is disabled. Open synchronization to review its configuration.",
|
||||
"active": "Waiting for {count} operation(s) to finish.",
|
||||
"running": "Export in progress…",
|
||||
"pending": "{count} update(s) queued for export.",
|
||||
"idle": "No pending updates.",
|
||||
"lastCommit": "Last published commit:",
|
||||
"lastAttempt": "Last attempt: {date}",
|
||||
"queuing": "Queuing…",
|
||||
"queue": "Export now / retry"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
+140
-3
@@ -916,7 +916,8 @@
|
||||
"tools": "Tools",
|
||||
"guilds": "Guilds",
|
||||
"itemsBase": "Items base",
|
||||
"adminMenu": "Admin menu"
|
||||
"adminMenu": "Admin menu",
|
||||
"operationsCenter": "Operations center"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Dashboard",
|
||||
@@ -1597,6 +1598,40 @@
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
},
|
||||
"integrity": {
|
||||
"title": "Catalog integrity",
|
||||
"description": "Check references, category paths, identifiers and furniture icons. Scanning does not change records.",
|
||||
"catalog": "Catalog",
|
||||
"normal": "Normal catalog",
|
||||
"bc": "Builders Club",
|
||||
"refresh": "Scan again",
|
||||
"working": "Checking…",
|
||||
"failed": "The operation could not be completed. Try again.",
|
||||
"stalePreview": "The catalog changed after the preview. Create a new preview before applying repairs.",
|
||||
"applied": "{count} categories reattached to the catalog root.",
|
||||
"iconsUnavailable": "The icon folder could not be read. Icon availability has not been verified.",
|
||||
"healthy": "No issues found in the completed checks.",
|
||||
"total": "{count} issues found. Showing {shown}.",
|
||||
"open": "Open",
|
||||
"reference": "Reference: {value}",
|
||||
"repairHint": "Preview categories whose parent no longer exists. Applying moves only these categories to the root and preserves every record. Cycles, missing furniture, icons and identifier conflicts require individual review.",
|
||||
"preview": "Preview safe repairs",
|
||||
"planned": "{count} categories will be moved:",
|
||||
"parentChange": "parent #{from} → catalog root",
|
||||
"apply": "Apply previewed repairs",
|
||||
"legacyTitle": "Advanced maintenance actions",
|
||||
"legacyHint": "These existing maintenance tools can rewrite identifiers and merge or remove duplicate records. They are separate from the non-destructive integrity check and its previewed parent repair.",
|
||||
"issues": {
|
||||
"missing_furniture": "Offer references missing furniture",
|
||||
"invalid_item_ids": "Invalid furniture identifiers",
|
||||
"missing_page": "Offer references a missing category",
|
||||
"unreachable_page": "Unreachable category",
|
||||
"category_cycle": "Category path contains a cycle",
|
||||
"missing_icon": "Missing furniture icon",
|
||||
"invalid_offer_id": "Invalid offer identifier",
|
||||
"duplicate_offer_id": "Repeated offer identifier"
|
||||
}
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -2303,6 +2338,51 @@
|
||||
"colStatus": "Status",
|
||||
"statusUnknown": "unknown",
|
||||
"searchPlaceholder": "Search by username…"
|
||||
},
|
||||
"history": {
|
||||
"preview": "Preview restore",
|
||||
"title": "Restore a recorded edit",
|
||||
"description": "Compare current values with the previous values before confirming. Only category settings, offer prices or news content are restored. Deleted records and category hierarchy cannot be restored here.",
|
||||
"loading": "Loading…",
|
||||
"unavailable": "This revision is unavailable or you do not have permission to restore it.",
|
||||
"conflict": "This record changed after the selected edit. Refresh and review its latest history before restoring.",
|
||||
"failed": "The restore could not be completed. Please reload and try again.",
|
||||
"field": "Field",
|
||||
"current": "Current value",
|
||||
"restore": "Value to restore",
|
||||
"confirm": "Confirm restore",
|
||||
"restoring": "Restoring…",
|
||||
"fields": {
|
||||
"caption": "Category name",
|
||||
"captionSave": "Internal category name",
|
||||
"pageLayout": "Category layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"minRank": "Minimum rank",
|
||||
"iconImage": "Category icon",
|
||||
"iconColor": "Icon colour",
|
||||
"pageHeadline": "Header image",
|
||||
"pageTeaser": "Preview image",
|
||||
"pageSpecial": "Special image",
|
||||
"pageText1": "Primary text",
|
||||
"pageText2": "Secondary text",
|
||||
"pageTextDetails": "Details text",
|
||||
"pageTextTeaser": "Preview text",
|
||||
"includes": "Included categories",
|
||||
"costCredits": "Credit price",
|
||||
"costPoints": "Points price",
|
||||
"pointsType": "Points currency",
|
||||
"title": "News title",
|
||||
"slug": "News address",
|
||||
"image": "News image",
|
||||
"shortStory": "Summary",
|
||||
"fullStory": "Article content",
|
||||
"status": "Publication status",
|
||||
"publishAt": "Scheduled publication",
|
||||
"publishedAt": "Publication date"
|
||||
}
|
||||
}
|
||||
},
|
||||
"wordfilter": {
|
||||
@@ -3200,7 +3280,17 @@
|
||||
"clearAssignment": "Clear assignment",
|
||||
"openOperation": "Open related area",
|
||||
"releaseOccurrences": "Occurrences by release",
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error."
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error.",
|
||||
"releaseFilter": "Version",
|
||||
"allReleases": "All versions",
|
||||
"period": "Period",
|
||||
"allRetained": "All retained events",
|
||||
"last24h": "Last 24 hours",
|
||||
"last7d": "Last 7 days",
|
||||
"sort": "Order",
|
||||
"recentFirst": "Most recent first",
|
||||
"frequentFirst": "Most frequent first",
|
||||
"filterScope": "Counts refer to matching retained events. Group status and latest details remain current across versions."
|
||||
},
|
||||
"installation": {
|
||||
"title": "Installation diagnostics",
|
||||
@@ -3240,7 +3330,11 @@
|
||||
"refreshHistory": "Refresh history",
|
||||
"showMoreItems": "Show 50 more items",
|
||||
"uncertainOutcome": "An interrupted item may already have changed local data. It is excluded from retries.",
|
||||
"reviewLocalData": "Review local data"
|
||||
"reviewLocalData": "Review local data",
|
||||
"ownerHistory": "Your imports and repairs, newest first. Retries never repeat completed or uncertain items.",
|
||||
"previousPage": "Previous",
|
||||
"nextPage": "Next",
|
||||
"page": "Page {page}"
|
||||
},
|
||||
"operations": {
|
||||
"title": "Needs attention",
|
||||
@@ -3325,6 +3419,49 @@
|
||||
"retry": "Retry",
|
||||
"description": "Search pages, users, furniture, catalog categories, articles and support tickets.",
|
||||
"partialError": "Some results could not be loaded. Try again."
|
||||
},
|
||||
"permissionPreview": {
|
||||
"title": "Role access preview",
|
||||
"description": "Inspect CMS access without changing a session or impersonating a user.",
|
||||
"back": "Back to permissions",
|
||||
"role": "Role",
|
||||
"show": "Show access",
|
||||
"missing": "Select an existing role.",
|
||||
"entryAllowed": "Housekeeping entry allowed",
|
||||
"entryDenied": "Housekeeping entry denied: dashboard permission missing",
|
||||
"superAdmin": "This rank currently receives the highest-rank override.",
|
||||
"scope": "This preview shows one role only. A user may receive additional roles. Navigation customization can hide allowed sections; specific records and actions can require further checks.",
|
||||
"sections": "Sections",
|
||||
"allowed": "Allowed",
|
||||
"denied": "Denied",
|
||||
"actions": "CMS permissions",
|
||||
"actionScope": "A granted permission alone does not bypass dashboard entry, rank hierarchy, record ownership or action-specific validation.",
|
||||
"granted": "Granted",
|
||||
"notGranted": "Not granted"
|
||||
},
|
||||
"operationsCenter": {
|
||||
"title": "Operations center",
|
||||
"hint": "Track your durable imports and repairs, and the shared catalog export queue.",
|
||||
"syncTitle": "Source synchronization",
|
||||
"syncHint": "Source synchronization shows live progress on its own page. It has no durable history or automatic retry of failed items here. Catalog export reports the shared queue and latest result; item-level retry is not supported.",
|
||||
"openSync": "Open synchronization and export",
|
||||
"openImports": "Open furniture imports"
|
||||
},
|
||||
"operationsExport": {
|
||||
"title": "Catalog repository export",
|
||||
"hint": "Automatic export of bundles, icons, gamedata, translations and catalog SQL. The queue and latest result are shared across operators.",
|
||||
"loadError": "Unable to load export status",
|
||||
"queueError": "Unable to queue export",
|
||||
"loading": "Loading…",
|
||||
"disabled": "Export is disabled. Open synchronization to review its configuration.",
|
||||
"active": "Waiting for {count} operation(s) to finish.",
|
||||
"running": "Export in progress…",
|
||||
"pending": "{count} update(s) queued for export.",
|
||||
"idle": "No pending updates.",
|
||||
"lastCommit": "Last published commit:",
|
||||
"lastAttempt": "Last attempt: {date}",
|
||||
"queuing": "Queuing…",
|
||||
"queue": "Export now / retry"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
+140
-3
@@ -887,7 +887,8 @@
|
||||
"guilds": "Guilds",
|
||||
"itemsBase": "Items base",
|
||||
"adminMenu": "Admin menu",
|
||||
"studio": "Studio"
|
||||
"studio": "Studio",
|
||||
"operationsCenter": "Operations center"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Dashboard",
|
||||
@@ -1568,6 +1569,40 @@
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
},
|
||||
"integrity": {
|
||||
"title": "Catalog integrity",
|
||||
"description": "Check references, category paths, identifiers and furniture icons. Scanning does not change records.",
|
||||
"catalog": "Catalog",
|
||||
"normal": "Normal catalog",
|
||||
"bc": "Builders Club",
|
||||
"refresh": "Scan again",
|
||||
"working": "Checking…",
|
||||
"failed": "The operation could not be completed. Try again.",
|
||||
"stalePreview": "The catalog changed after the preview. Create a new preview before applying repairs.",
|
||||
"applied": "{count} categories reattached to the catalog root.",
|
||||
"iconsUnavailable": "The icon folder could not be read. Icon availability has not been verified.",
|
||||
"healthy": "No issues found in the completed checks.",
|
||||
"total": "{count} issues found. Showing {shown}.",
|
||||
"open": "Open",
|
||||
"reference": "Reference: {value}",
|
||||
"repairHint": "Preview categories whose parent no longer exists. Applying moves only these categories to the root and preserves every record. Cycles, missing furniture, icons and identifier conflicts require individual review.",
|
||||
"preview": "Preview safe repairs",
|
||||
"planned": "{count} categories will be moved:",
|
||||
"parentChange": "parent #{from} → catalog root",
|
||||
"apply": "Apply previewed repairs",
|
||||
"legacyTitle": "Advanced maintenance actions",
|
||||
"legacyHint": "These existing maintenance tools can rewrite identifiers and merge or remove duplicate records. They are separate from the non-destructive integrity check and its previewed parent repair.",
|
||||
"issues": {
|
||||
"missing_furniture": "Offer references missing furniture",
|
||||
"invalid_item_ids": "Invalid furniture identifiers",
|
||||
"missing_page": "Offer references a missing category",
|
||||
"unreachable_page": "Unreachable category",
|
||||
"category_cycle": "Category path contains a cycle",
|
||||
"missing_icon": "Missing furniture icon",
|
||||
"invalid_offer_id": "Invalid offer identifier",
|
||||
"duplicate_offer_id": "Repeated offer identifier"
|
||||
}
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -2274,6 +2309,51 @@
|
||||
"colStatus": "Status",
|
||||
"statusUnknown": "unknown",
|
||||
"searchPlaceholder": "Search by username…"
|
||||
},
|
||||
"history": {
|
||||
"preview": "Preview restore",
|
||||
"title": "Restore a recorded edit",
|
||||
"description": "Compare current values with the previous values before confirming. Only category settings, offer prices or news content are restored. Deleted records and category hierarchy cannot be restored here.",
|
||||
"loading": "Loading…",
|
||||
"unavailable": "This revision is unavailable or you do not have permission to restore it.",
|
||||
"conflict": "This record changed after the selected edit. Refresh and review its latest history before restoring.",
|
||||
"failed": "The restore could not be completed. Please reload and try again.",
|
||||
"field": "Field",
|
||||
"current": "Current value",
|
||||
"restore": "Value to restore",
|
||||
"confirm": "Confirm restore",
|
||||
"restoring": "Restoring…",
|
||||
"fields": {
|
||||
"caption": "Category name",
|
||||
"captionSave": "Internal category name",
|
||||
"pageLayout": "Category layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"minRank": "Minimum rank",
|
||||
"iconImage": "Category icon",
|
||||
"iconColor": "Icon colour",
|
||||
"pageHeadline": "Header image",
|
||||
"pageTeaser": "Preview image",
|
||||
"pageSpecial": "Special image",
|
||||
"pageText1": "Primary text",
|
||||
"pageText2": "Secondary text",
|
||||
"pageTextDetails": "Details text",
|
||||
"pageTextTeaser": "Preview text",
|
||||
"includes": "Included categories",
|
||||
"costCredits": "Credit price",
|
||||
"costPoints": "Points price",
|
||||
"pointsType": "Points currency",
|
||||
"title": "News title",
|
||||
"slug": "News address",
|
||||
"image": "News image",
|
||||
"shortStory": "Summary",
|
||||
"fullStory": "Article content",
|
||||
"status": "Publication status",
|
||||
"publishAt": "Scheduled publication",
|
||||
"publishedAt": "Publication date"
|
||||
}
|
||||
}
|
||||
},
|
||||
"wordfilter": {
|
||||
@@ -3171,7 +3251,17 @@
|
||||
"clearAssignment": "Clear assignment",
|
||||
"openOperation": "Open related area",
|
||||
"releaseOccurrences": "Occurrences by release",
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error."
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error.",
|
||||
"releaseFilter": "Version",
|
||||
"allReleases": "All versions",
|
||||
"period": "Period",
|
||||
"allRetained": "All retained events",
|
||||
"last24h": "Last 24 hours",
|
||||
"last7d": "Last 7 days",
|
||||
"sort": "Order",
|
||||
"recentFirst": "Most recent first",
|
||||
"frequentFirst": "Most frequent first",
|
||||
"filterScope": "Counts refer to matching retained events. Group status and latest details remain current across versions."
|
||||
},
|
||||
"installation": {
|
||||
"title": "Installation diagnostics",
|
||||
@@ -3211,7 +3301,11 @@
|
||||
"refreshHistory": "Refresh history",
|
||||
"showMoreItems": "Show 50 more items",
|
||||
"uncertainOutcome": "An interrupted item may already have changed local data. It is excluded from retries.",
|
||||
"reviewLocalData": "Review local data"
|
||||
"reviewLocalData": "Review local data",
|
||||
"ownerHistory": "Your imports and repairs, newest first. Retries never repeat completed or uncertain items.",
|
||||
"previousPage": "Previous",
|
||||
"nextPage": "Next",
|
||||
"page": "Page {page}"
|
||||
},
|
||||
"operations": {
|
||||
"title": "Needs attention",
|
||||
@@ -3296,6 +3390,49 @@
|
||||
"retry": "Retry",
|
||||
"description": "Search pages, users, furniture, catalog categories, articles and support tickets.",
|
||||
"partialError": "Some results could not be loaded. Try again."
|
||||
},
|
||||
"permissionPreview": {
|
||||
"title": "Role access preview",
|
||||
"description": "Inspect CMS access without changing a session or impersonating a user.",
|
||||
"back": "Back to permissions",
|
||||
"role": "Role",
|
||||
"show": "Show access",
|
||||
"missing": "Select an existing role.",
|
||||
"entryAllowed": "Housekeeping entry allowed",
|
||||
"entryDenied": "Housekeeping entry denied: dashboard permission missing",
|
||||
"superAdmin": "This rank currently receives the highest-rank override.",
|
||||
"scope": "This preview shows one role only. A user may receive additional roles. Navigation customization can hide allowed sections; specific records and actions can require further checks.",
|
||||
"sections": "Sections",
|
||||
"allowed": "Allowed",
|
||||
"denied": "Denied",
|
||||
"actions": "CMS permissions",
|
||||
"actionScope": "A granted permission alone does not bypass dashboard entry, rank hierarchy, record ownership or action-specific validation.",
|
||||
"granted": "Granted",
|
||||
"notGranted": "Not granted"
|
||||
},
|
||||
"operationsCenter": {
|
||||
"title": "Operations center",
|
||||
"hint": "Track your durable imports and repairs, and the shared catalog export queue.",
|
||||
"syncTitle": "Source synchronization",
|
||||
"syncHint": "Source synchronization shows live progress on its own page. It has no durable history or automatic retry of failed items here. Catalog export reports the shared queue and latest result; item-level retry is not supported.",
|
||||
"openSync": "Open synchronization and export",
|
||||
"openImports": "Open furniture imports"
|
||||
},
|
||||
"operationsExport": {
|
||||
"title": "Catalog repository export",
|
||||
"hint": "Automatic export of bundles, icons, gamedata, translations and catalog SQL. The queue and latest result are shared across operators.",
|
||||
"loadError": "Unable to load export status",
|
||||
"queueError": "Unable to queue export",
|
||||
"loading": "Loading…",
|
||||
"disabled": "Export is disabled. Open synchronization to review its configuration.",
|
||||
"active": "Waiting for {count} operation(s) to finish.",
|
||||
"running": "Export in progress…",
|
||||
"pending": "{count} update(s) queued for export.",
|
||||
"idle": "No pending updates.",
|
||||
"lastCommit": "Last published commit:",
|
||||
"lastAttempt": "Last attempt: {date}",
|
||||
"queuing": "Queuing…",
|
||||
"queue": "Export now / retry"
|
||||
}
|
||||
},
|
||||
"radioRequests": {
|
||||
|
||||
+140
-3
@@ -916,7 +916,8 @@
|
||||
"tools": "Tools",
|
||||
"guilds": "Guilds",
|
||||
"itemsBase": "Items base",
|
||||
"adminMenu": "Admin menu"
|
||||
"adminMenu": "Admin menu",
|
||||
"operationsCenter": "Operations center"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Ταμπλό",
|
||||
@@ -1597,6 +1598,40 @@
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
},
|
||||
"integrity": {
|
||||
"title": "Catalog integrity",
|
||||
"description": "Check references, category paths, identifiers and furniture icons. Scanning does not change records.",
|
||||
"catalog": "Catalog",
|
||||
"normal": "Normal catalog",
|
||||
"bc": "Builders Club",
|
||||
"refresh": "Scan again",
|
||||
"working": "Checking…",
|
||||
"failed": "The operation could not be completed. Try again.",
|
||||
"stalePreview": "The catalog changed after the preview. Create a new preview before applying repairs.",
|
||||
"applied": "{count} categories reattached to the catalog root.",
|
||||
"iconsUnavailable": "The icon folder could not be read. Icon availability has not been verified.",
|
||||
"healthy": "No issues found in the completed checks.",
|
||||
"total": "{count} issues found. Showing {shown}.",
|
||||
"open": "Open",
|
||||
"reference": "Reference: {value}",
|
||||
"repairHint": "Preview categories whose parent no longer exists. Applying moves only these categories to the root and preserves every record. Cycles, missing furniture, icons and identifier conflicts require individual review.",
|
||||
"preview": "Preview safe repairs",
|
||||
"planned": "{count} categories will be moved:",
|
||||
"parentChange": "parent #{from} → catalog root",
|
||||
"apply": "Apply previewed repairs",
|
||||
"legacyTitle": "Advanced maintenance actions",
|
||||
"legacyHint": "These existing maintenance tools can rewrite identifiers and merge or remove duplicate records. They are separate from the non-destructive integrity check and its previewed parent repair.",
|
||||
"issues": {
|
||||
"missing_furniture": "Offer references missing furniture",
|
||||
"invalid_item_ids": "Invalid furniture identifiers",
|
||||
"missing_page": "Offer references a missing category",
|
||||
"unreachable_page": "Unreachable category",
|
||||
"category_cycle": "Category path contains a cycle",
|
||||
"missing_icon": "Missing furniture icon",
|
||||
"invalid_offer_id": "Invalid offer identifier",
|
||||
"duplicate_offer_id": "Repeated offer identifier"
|
||||
}
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -2303,6 +2338,51 @@
|
||||
"colStatus": "Status",
|
||||
"statusUnknown": "unknown",
|
||||
"searchPlaceholder": "Search by username…"
|
||||
},
|
||||
"history": {
|
||||
"preview": "Preview restore",
|
||||
"title": "Restore a recorded edit",
|
||||
"description": "Compare current values with the previous values before confirming. Only category settings, offer prices or news content are restored. Deleted records and category hierarchy cannot be restored here.",
|
||||
"loading": "Loading…",
|
||||
"unavailable": "This revision is unavailable or you do not have permission to restore it.",
|
||||
"conflict": "This record changed after the selected edit. Refresh and review its latest history before restoring.",
|
||||
"failed": "The restore could not be completed. Please reload and try again.",
|
||||
"field": "Field",
|
||||
"current": "Current value",
|
||||
"restore": "Value to restore",
|
||||
"confirm": "Confirm restore",
|
||||
"restoring": "Restoring…",
|
||||
"fields": {
|
||||
"caption": "Category name",
|
||||
"captionSave": "Internal category name",
|
||||
"pageLayout": "Category layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"minRank": "Minimum rank",
|
||||
"iconImage": "Category icon",
|
||||
"iconColor": "Icon colour",
|
||||
"pageHeadline": "Header image",
|
||||
"pageTeaser": "Preview image",
|
||||
"pageSpecial": "Special image",
|
||||
"pageText1": "Primary text",
|
||||
"pageText2": "Secondary text",
|
||||
"pageTextDetails": "Details text",
|
||||
"pageTextTeaser": "Preview text",
|
||||
"includes": "Included categories",
|
||||
"costCredits": "Credit price",
|
||||
"costPoints": "Points price",
|
||||
"pointsType": "Points currency",
|
||||
"title": "News title",
|
||||
"slug": "News address",
|
||||
"image": "News image",
|
||||
"shortStory": "Summary",
|
||||
"fullStory": "Article content",
|
||||
"status": "Publication status",
|
||||
"publishAt": "Scheduled publication",
|
||||
"publishedAt": "Publication date"
|
||||
}
|
||||
}
|
||||
},
|
||||
"wordfilter": {
|
||||
@@ -3200,7 +3280,17 @@
|
||||
"clearAssignment": "Clear assignment",
|
||||
"openOperation": "Open related area",
|
||||
"releaseOccurrences": "Occurrences by release",
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error."
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error.",
|
||||
"releaseFilter": "Version",
|
||||
"allReleases": "All versions",
|
||||
"period": "Period",
|
||||
"allRetained": "All retained events",
|
||||
"last24h": "Last 24 hours",
|
||||
"last7d": "Last 7 days",
|
||||
"sort": "Order",
|
||||
"recentFirst": "Most recent first",
|
||||
"frequentFirst": "Most frequent first",
|
||||
"filterScope": "Counts refer to matching retained events. Group status and latest details remain current across versions."
|
||||
},
|
||||
"installation": {
|
||||
"title": "Installation diagnostics",
|
||||
@@ -3240,7 +3330,11 @@
|
||||
"refreshHistory": "Refresh history",
|
||||
"showMoreItems": "Show 50 more items",
|
||||
"uncertainOutcome": "An interrupted item may already have changed local data. It is excluded from retries.",
|
||||
"reviewLocalData": "Review local data"
|
||||
"reviewLocalData": "Review local data",
|
||||
"ownerHistory": "Your imports and repairs, newest first. Retries never repeat completed or uncertain items.",
|
||||
"previousPage": "Previous",
|
||||
"nextPage": "Next",
|
||||
"page": "Page {page}"
|
||||
},
|
||||
"operations": {
|
||||
"title": "Needs attention",
|
||||
@@ -3325,6 +3419,49 @@
|
||||
"retry": "Retry",
|
||||
"description": "Search pages, users, furniture, catalog categories, articles and support tickets.",
|
||||
"partialError": "Some results could not be loaded. Try again."
|
||||
},
|
||||
"permissionPreview": {
|
||||
"title": "Role access preview",
|
||||
"description": "Inspect CMS access without changing a session or impersonating a user.",
|
||||
"back": "Back to permissions",
|
||||
"role": "Role",
|
||||
"show": "Show access",
|
||||
"missing": "Select an existing role.",
|
||||
"entryAllowed": "Housekeeping entry allowed",
|
||||
"entryDenied": "Housekeeping entry denied: dashboard permission missing",
|
||||
"superAdmin": "This rank currently receives the highest-rank override.",
|
||||
"scope": "This preview shows one role only. A user may receive additional roles. Navigation customization can hide allowed sections; specific records and actions can require further checks.",
|
||||
"sections": "Sections",
|
||||
"allowed": "Allowed",
|
||||
"denied": "Denied",
|
||||
"actions": "CMS permissions",
|
||||
"actionScope": "A granted permission alone does not bypass dashboard entry, rank hierarchy, record ownership or action-specific validation.",
|
||||
"granted": "Granted",
|
||||
"notGranted": "Not granted"
|
||||
},
|
||||
"operationsCenter": {
|
||||
"title": "Operations center",
|
||||
"hint": "Track your durable imports and repairs, and the shared catalog export queue.",
|
||||
"syncTitle": "Source synchronization",
|
||||
"syncHint": "Source synchronization shows live progress on its own page. It has no durable history or automatic retry of failed items here. Catalog export reports the shared queue and latest result; item-level retry is not supported.",
|
||||
"openSync": "Open synchronization and export",
|
||||
"openImports": "Open furniture imports"
|
||||
},
|
||||
"operationsExport": {
|
||||
"title": "Catalog repository export",
|
||||
"hint": "Automatic export of bundles, icons, gamedata, translations and catalog SQL. The queue and latest result are shared across operators.",
|
||||
"loadError": "Unable to load export status",
|
||||
"queueError": "Unable to queue export",
|
||||
"loading": "Loading…",
|
||||
"disabled": "Export is disabled. Open synchronization to review its configuration.",
|
||||
"active": "Waiting for {count} operation(s) to finish.",
|
||||
"running": "Export in progress…",
|
||||
"pending": "{count} update(s) queued for export.",
|
||||
"idle": "No pending updates.",
|
||||
"lastCommit": "Last published commit:",
|
||||
"lastAttempt": "Last attempt: {date}",
|
||||
"queuing": "Queuing…",
|
||||
"queue": "Export now / retry"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
+140
-3
@@ -1103,7 +1103,8 @@
|
||||
"cmsErrors": "CMS errors",
|
||||
"themeBuilder": "Theme builder",
|
||||
"openSidebar": "Open menu",
|
||||
"closeSidebar": "Close menu"
|
||||
"closeSidebar": "Close menu",
|
||||
"operationsCenter": "Operations center"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Dashboard",
|
||||
@@ -2257,6 +2258,40 @@
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
},
|
||||
"integrity": {
|
||||
"title": "Catalog integrity",
|
||||
"description": "Check references, category paths, identifiers and furniture icons. Scanning does not change records.",
|
||||
"catalog": "Catalog",
|
||||
"normal": "Normal catalog",
|
||||
"bc": "Builders Club",
|
||||
"refresh": "Scan again",
|
||||
"working": "Checking…",
|
||||
"failed": "The operation could not be completed. Try again.",
|
||||
"stalePreview": "The catalog changed after the preview. Create a new preview before applying repairs.",
|
||||
"applied": "{count} categories reattached to the catalog root.",
|
||||
"iconsUnavailable": "The icon folder could not be read. Icon availability has not been verified.",
|
||||
"healthy": "No issues found in the completed checks.",
|
||||
"total": "{count} issues found. Showing {shown}.",
|
||||
"open": "Open",
|
||||
"reference": "Reference: {value}",
|
||||
"repairHint": "Preview categories whose parent no longer exists. Applying moves only these categories to the root and preserves every record. Cycles, missing furniture, icons and identifier conflicts require individual review.",
|
||||
"preview": "Preview safe repairs",
|
||||
"planned": "{count} categories will be moved:",
|
||||
"parentChange": "parent #{from} → catalog root",
|
||||
"apply": "Apply previewed repairs",
|
||||
"legacyTitle": "Advanced maintenance actions",
|
||||
"legacyHint": "These existing maintenance tools can rewrite identifiers and merge or remove duplicate records. They are separate from the non-destructive integrity check and its previewed parent repair.",
|
||||
"issues": {
|
||||
"missing_furniture": "Offer references missing furniture",
|
||||
"invalid_item_ids": "Invalid furniture identifiers",
|
||||
"missing_page": "Offer references a missing category",
|
||||
"unreachable_page": "Unreachable category",
|
||||
"category_cycle": "Category path contains a cycle",
|
||||
"missing_icon": "Missing furniture icon",
|
||||
"invalid_offer_id": "Invalid offer identifier",
|
||||
"duplicate_offer_id": "Repeated offer identifier"
|
||||
}
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -3217,6 +3252,51 @@
|
||||
"colStatus": "Status",
|
||||
"statusUnknown": "unknown",
|
||||
"searchPlaceholder": "Search by username…"
|
||||
},
|
||||
"history": {
|
||||
"preview": "Preview restore",
|
||||
"title": "Restore a recorded edit",
|
||||
"description": "Compare current values with the previous values before confirming. Only category settings, offer prices or news content are restored. Deleted records and category hierarchy cannot be restored here.",
|
||||
"loading": "Loading…",
|
||||
"unavailable": "This revision is unavailable or you do not have permission to restore it.",
|
||||
"conflict": "This record changed after the selected edit. Refresh and review its latest history before restoring.",
|
||||
"failed": "The restore could not be completed. Please reload and try again.",
|
||||
"field": "Field",
|
||||
"current": "Current value",
|
||||
"restore": "Value to restore",
|
||||
"confirm": "Confirm restore",
|
||||
"restoring": "Restoring…",
|
||||
"fields": {
|
||||
"caption": "Category name",
|
||||
"captionSave": "Internal category name",
|
||||
"pageLayout": "Category layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"minRank": "Minimum rank",
|
||||
"iconImage": "Category icon",
|
||||
"iconColor": "Icon colour",
|
||||
"pageHeadline": "Header image",
|
||||
"pageTeaser": "Preview image",
|
||||
"pageSpecial": "Special image",
|
||||
"pageText1": "Primary text",
|
||||
"pageText2": "Secondary text",
|
||||
"pageTextDetails": "Details text",
|
||||
"pageTextTeaser": "Preview text",
|
||||
"includes": "Included categories",
|
||||
"costCredits": "Credit price",
|
||||
"costPoints": "Points price",
|
||||
"pointsType": "Points currency",
|
||||
"title": "News title",
|
||||
"slug": "News address",
|
||||
"image": "News image",
|
||||
"shortStory": "Summary",
|
||||
"fullStory": "Article content",
|
||||
"status": "Publication status",
|
||||
"publishAt": "Scheduled publication",
|
||||
"publishedAt": "Publication date"
|
||||
}
|
||||
}
|
||||
},
|
||||
"hubs": {
|
||||
@@ -3991,7 +4071,17 @@
|
||||
"clearAssignment": "Clear assignment",
|
||||
"openOperation": "Open related area",
|
||||
"releaseOccurrences": "Occurrences by release",
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error."
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error.",
|
||||
"releaseFilter": "Version",
|
||||
"allReleases": "All versions",
|
||||
"period": "Period",
|
||||
"allRetained": "All retained events",
|
||||
"last24h": "Last 24 hours",
|
||||
"last7d": "Last 7 days",
|
||||
"sort": "Order",
|
||||
"recentFirst": "Most recent first",
|
||||
"frequentFirst": "Most frequent first",
|
||||
"filterScope": "Counts refer to matching retained events. Group status and latest details remain current across versions."
|
||||
},
|
||||
"importHistory": {
|
||||
"summary": "Import history · {count} active",
|
||||
@@ -4016,7 +4106,11 @@
|
||||
"refreshHistory": "Refresh history",
|
||||
"showMoreItems": "Show 50 more items",
|
||||
"uncertainOutcome": "An interrupted item may already have changed local data. It is excluded from retries.",
|
||||
"reviewLocalData": "Review local data"
|
||||
"reviewLocalData": "Review local data",
|
||||
"ownerHistory": "Your imports and repairs, newest first. Retries never repeat completed or uncertain items.",
|
||||
"previousPage": "Previous",
|
||||
"nextPage": "Next",
|
||||
"page": "Page {page}"
|
||||
},
|
||||
"installation": {
|
||||
"title": "Installation diagnostics",
|
||||
@@ -4119,6 +4213,49 @@
|
||||
"specialPricing": "Special pricing: {credits} credits, {points} points (type {type})",
|
||||
"restrictedOffers": "{count} offers in this category require Club membership.",
|
||||
"clubOffer": "Club offer"
|
||||
},
|
||||
"permissionPreview": {
|
||||
"title": "Role access preview",
|
||||
"description": "Inspect CMS access without changing a session or impersonating a user.",
|
||||
"back": "Back to permissions",
|
||||
"role": "Role",
|
||||
"show": "Show access",
|
||||
"missing": "Select an existing role.",
|
||||
"entryAllowed": "Housekeeping entry allowed",
|
||||
"entryDenied": "Housekeeping entry denied: dashboard permission missing",
|
||||
"superAdmin": "This rank currently receives the highest-rank override.",
|
||||
"scope": "This preview shows one role only. A user may receive additional roles. Navigation customization can hide allowed sections; specific records and actions can require further checks.",
|
||||
"sections": "Sections",
|
||||
"allowed": "Allowed",
|
||||
"denied": "Denied",
|
||||
"actions": "CMS permissions",
|
||||
"actionScope": "A granted permission alone does not bypass dashboard entry, rank hierarchy, record ownership or action-specific validation.",
|
||||
"granted": "Granted",
|
||||
"notGranted": "Not granted"
|
||||
},
|
||||
"operationsCenter": {
|
||||
"title": "Operations center",
|
||||
"hint": "Track your durable imports and repairs, and the shared catalog export queue.",
|
||||
"syncTitle": "Source synchronization",
|
||||
"syncHint": "Source synchronization shows live progress on its own page. It has no durable history or automatic retry of failed items here. Catalog export reports the shared queue and latest result; item-level retry is not supported.",
|
||||
"openSync": "Open synchronization and export",
|
||||
"openImports": "Open furniture imports"
|
||||
},
|
||||
"operationsExport": {
|
||||
"title": "Catalog repository export",
|
||||
"hint": "Automatic export of bundles, icons, gamedata, translations and catalog SQL. The queue and latest result are shared across operators.",
|
||||
"loadError": "Unable to load export status",
|
||||
"queueError": "Unable to queue export",
|
||||
"loading": "Loading…",
|
||||
"disabled": "Export is disabled. Open synchronization to review its configuration.",
|
||||
"active": "Waiting for {count} operation(s) to finish.",
|
||||
"running": "Export in progress…",
|
||||
"pending": "{count} update(s) queued for export.",
|
||||
"idle": "No pending updates.",
|
||||
"lastCommit": "Last published commit:",
|
||||
"lastAttempt": "Last attempt: {date}",
|
||||
"queuing": "Queuing…",
|
||||
"queue": "Export now / retry"
|
||||
}
|
||||
},
|
||||
"mod": {
|
||||
|
||||
+140
-3
@@ -887,7 +887,8 @@
|
||||
"guilds": "Guilds",
|
||||
"itemsBase": "Items base",
|
||||
"adminMenu": "Admin menu",
|
||||
"studio": "Studio"
|
||||
"studio": "Studio",
|
||||
"operationsCenter": "Operations center"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Panel",
|
||||
@@ -1568,6 +1569,40 @@
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
},
|
||||
"integrity": {
|
||||
"title": "Catalog integrity",
|
||||
"description": "Check references, category paths, identifiers and furniture icons. Scanning does not change records.",
|
||||
"catalog": "Catalog",
|
||||
"normal": "Normal catalog",
|
||||
"bc": "Builders Club",
|
||||
"refresh": "Scan again",
|
||||
"working": "Checking…",
|
||||
"failed": "The operation could not be completed. Try again.",
|
||||
"stalePreview": "The catalog changed after the preview. Create a new preview before applying repairs.",
|
||||
"applied": "{count} categories reattached to the catalog root.",
|
||||
"iconsUnavailable": "The icon folder could not be read. Icon availability has not been verified.",
|
||||
"healthy": "No issues found in the completed checks.",
|
||||
"total": "{count} issues found. Showing {shown}.",
|
||||
"open": "Open",
|
||||
"reference": "Reference: {value}",
|
||||
"repairHint": "Preview categories whose parent no longer exists. Applying moves only these categories to the root and preserves every record. Cycles, missing furniture, icons and identifier conflicts require individual review.",
|
||||
"preview": "Preview safe repairs",
|
||||
"planned": "{count} categories will be moved:",
|
||||
"parentChange": "parent #{from} → catalog root",
|
||||
"apply": "Apply previewed repairs",
|
||||
"legacyTitle": "Advanced maintenance actions",
|
||||
"legacyHint": "These existing maintenance tools can rewrite identifiers and merge or remove duplicate records. They are separate from the non-destructive integrity check and its previewed parent repair.",
|
||||
"issues": {
|
||||
"missing_furniture": "Offer references missing furniture",
|
||||
"invalid_item_ids": "Invalid furniture identifiers",
|
||||
"missing_page": "Offer references a missing category",
|
||||
"unreachable_page": "Unreachable category",
|
||||
"category_cycle": "Category path contains a cycle",
|
||||
"missing_icon": "Missing furniture icon",
|
||||
"invalid_offer_id": "Invalid offer identifier",
|
||||
"duplicate_offer_id": "Repeated offer identifier"
|
||||
}
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -2274,6 +2309,51 @@
|
||||
"colStatus": "Status",
|
||||
"statusUnknown": "unknown",
|
||||
"searchPlaceholder": "Search by username…"
|
||||
},
|
||||
"history": {
|
||||
"preview": "Preview restore",
|
||||
"title": "Restore a recorded edit",
|
||||
"description": "Compare current values with the previous values before confirming. Only category settings, offer prices or news content are restored. Deleted records and category hierarchy cannot be restored here.",
|
||||
"loading": "Loading…",
|
||||
"unavailable": "This revision is unavailable or you do not have permission to restore it.",
|
||||
"conflict": "This record changed after the selected edit. Refresh and review its latest history before restoring.",
|
||||
"failed": "The restore could not be completed. Please reload and try again.",
|
||||
"field": "Field",
|
||||
"current": "Current value",
|
||||
"restore": "Value to restore",
|
||||
"confirm": "Confirm restore",
|
||||
"restoring": "Restoring…",
|
||||
"fields": {
|
||||
"caption": "Category name",
|
||||
"captionSave": "Internal category name",
|
||||
"pageLayout": "Category layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"minRank": "Minimum rank",
|
||||
"iconImage": "Category icon",
|
||||
"iconColor": "Icon colour",
|
||||
"pageHeadline": "Header image",
|
||||
"pageTeaser": "Preview image",
|
||||
"pageSpecial": "Special image",
|
||||
"pageText1": "Primary text",
|
||||
"pageText2": "Secondary text",
|
||||
"pageTextDetails": "Details text",
|
||||
"pageTextTeaser": "Preview text",
|
||||
"includes": "Included categories",
|
||||
"costCredits": "Credit price",
|
||||
"costPoints": "Points price",
|
||||
"pointsType": "Points currency",
|
||||
"title": "News title",
|
||||
"slug": "News address",
|
||||
"image": "News image",
|
||||
"shortStory": "Summary",
|
||||
"fullStory": "Article content",
|
||||
"status": "Publication status",
|
||||
"publishAt": "Scheduled publication",
|
||||
"publishedAt": "Publication date"
|
||||
}
|
||||
}
|
||||
},
|
||||
"wordfilter": {
|
||||
@@ -3171,7 +3251,17 @@
|
||||
"clearAssignment": "Clear assignment",
|
||||
"openOperation": "Open related area",
|
||||
"releaseOccurrences": "Occurrences by release",
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error."
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error.",
|
||||
"releaseFilter": "Version",
|
||||
"allReleases": "All versions",
|
||||
"period": "Period",
|
||||
"allRetained": "All retained events",
|
||||
"last24h": "Last 24 hours",
|
||||
"last7d": "Last 7 days",
|
||||
"sort": "Order",
|
||||
"recentFirst": "Most recent first",
|
||||
"frequentFirst": "Most frequent first",
|
||||
"filterScope": "Counts refer to matching retained events. Group status and latest details remain current across versions."
|
||||
},
|
||||
"installation": {
|
||||
"title": "Installation diagnostics",
|
||||
@@ -3211,7 +3301,11 @@
|
||||
"refreshHistory": "Refresh history",
|
||||
"showMoreItems": "Show 50 more items",
|
||||
"uncertainOutcome": "An interrupted item may already have changed local data. It is excluded from retries.",
|
||||
"reviewLocalData": "Review local data"
|
||||
"reviewLocalData": "Review local data",
|
||||
"ownerHistory": "Your imports and repairs, newest first. Retries never repeat completed or uncertain items.",
|
||||
"previousPage": "Previous",
|
||||
"nextPage": "Next",
|
||||
"page": "Page {page}"
|
||||
},
|
||||
"operations": {
|
||||
"title": "Needs attention",
|
||||
@@ -3296,6 +3390,49 @@
|
||||
"retry": "Retry",
|
||||
"description": "Search pages, users, furniture, catalog categories, articles and support tickets.",
|
||||
"partialError": "Some results could not be loaded. Try again."
|
||||
},
|
||||
"permissionPreview": {
|
||||
"title": "Role access preview",
|
||||
"description": "Inspect CMS access without changing a session or impersonating a user.",
|
||||
"back": "Back to permissions",
|
||||
"role": "Role",
|
||||
"show": "Show access",
|
||||
"missing": "Select an existing role.",
|
||||
"entryAllowed": "Housekeeping entry allowed",
|
||||
"entryDenied": "Housekeeping entry denied: dashboard permission missing",
|
||||
"superAdmin": "This rank currently receives the highest-rank override.",
|
||||
"scope": "This preview shows one role only. A user may receive additional roles. Navigation customization can hide allowed sections; specific records and actions can require further checks.",
|
||||
"sections": "Sections",
|
||||
"allowed": "Allowed",
|
||||
"denied": "Denied",
|
||||
"actions": "CMS permissions",
|
||||
"actionScope": "A granted permission alone does not bypass dashboard entry, rank hierarchy, record ownership or action-specific validation.",
|
||||
"granted": "Granted",
|
||||
"notGranted": "Not granted"
|
||||
},
|
||||
"operationsCenter": {
|
||||
"title": "Operations center",
|
||||
"hint": "Track your durable imports and repairs, and the shared catalog export queue.",
|
||||
"syncTitle": "Source synchronization",
|
||||
"syncHint": "Source synchronization shows live progress on its own page. It has no durable history or automatic retry of failed items here. Catalog export reports the shared queue and latest result; item-level retry is not supported.",
|
||||
"openSync": "Open synchronization and export",
|
||||
"openImports": "Open furniture imports"
|
||||
},
|
||||
"operationsExport": {
|
||||
"title": "Catalog repository export",
|
||||
"hint": "Automatic export of bundles, icons, gamedata, translations and catalog SQL. The queue and latest result are shared across operators.",
|
||||
"loadError": "Unable to load export status",
|
||||
"queueError": "Unable to queue export",
|
||||
"loading": "Loading…",
|
||||
"disabled": "Export is disabled. Open synchronization to review its configuration.",
|
||||
"active": "Waiting for {count} operation(s) to finish.",
|
||||
"running": "Export in progress…",
|
||||
"pending": "{count} update(s) queued for export.",
|
||||
"idle": "No pending updates.",
|
||||
"lastCommit": "Last published commit:",
|
||||
"lastAttempt": "Last attempt: {date}",
|
||||
"queuing": "Queuing…",
|
||||
"queue": "Export now / retry"
|
||||
}
|
||||
},
|
||||
"radioRequests": {
|
||||
|
||||
+140
-3
@@ -6,7 +6,8 @@
|
||||
"pages": {
|
||||
"admin": {
|
||||
"nav": {
|
||||
"studio": "Studio"
|
||||
"studio": "Studio",
|
||||
"operationsCenter": "Operations center"
|
||||
},
|
||||
"logs": {
|
||||
"audit": {
|
||||
@@ -22,6 +23,51 @@
|
||||
"beforeValue": "Before",
|
||||
"afterValue": "After",
|
||||
"exportHint": "CSV exports the current filtered page, up to 100 records."
|
||||
},
|
||||
"history": {
|
||||
"preview": "Preview restore",
|
||||
"title": "Restore a recorded edit",
|
||||
"description": "Compare current values with the previous values before confirming. Only category settings, offer prices or news content are restored. Deleted records and category hierarchy cannot be restored here.",
|
||||
"loading": "Loading…",
|
||||
"unavailable": "This revision is unavailable or you do not have permission to restore it.",
|
||||
"conflict": "This record changed after the selected edit. Refresh and review its latest history before restoring.",
|
||||
"failed": "The restore could not be completed. Please reload and try again.",
|
||||
"field": "Field",
|
||||
"current": "Current value",
|
||||
"restore": "Value to restore",
|
||||
"confirm": "Confirm restore",
|
||||
"restoring": "Restoring…",
|
||||
"fields": {
|
||||
"caption": "Category name",
|
||||
"captionSave": "Internal category name",
|
||||
"pageLayout": "Category layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"minRank": "Minimum rank",
|
||||
"iconImage": "Category icon",
|
||||
"iconColor": "Icon colour",
|
||||
"pageHeadline": "Header image",
|
||||
"pageTeaser": "Preview image",
|
||||
"pageSpecial": "Special image",
|
||||
"pageText1": "Primary text",
|
||||
"pageText2": "Secondary text",
|
||||
"pageTextDetails": "Details text",
|
||||
"pageTextTeaser": "Preview text",
|
||||
"includes": "Included categories",
|
||||
"costCredits": "Credit price",
|
||||
"costPoints": "Points price",
|
||||
"pointsType": "Points currency",
|
||||
"title": "News title",
|
||||
"slug": "News address",
|
||||
"image": "News image",
|
||||
"shortStory": "Summary",
|
||||
"fullStory": "Article content",
|
||||
"status": "Publication status",
|
||||
"publishAt": "Scheduled publication",
|
||||
"publishedAt": "Publication date"
|
||||
}
|
||||
}
|
||||
},
|
||||
"cmsErrors": {
|
||||
@@ -36,7 +82,17 @@
|
||||
"clearAssignment": "Clear assignment",
|
||||
"openOperation": "Open related area",
|
||||
"releaseOccurrences": "Occurrences by release",
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error."
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error.",
|
||||
"releaseFilter": "Version",
|
||||
"allReleases": "All versions",
|
||||
"period": "Period",
|
||||
"allRetained": "All retained events",
|
||||
"last24h": "Last 24 hours",
|
||||
"last7d": "Last 7 days",
|
||||
"sort": "Order",
|
||||
"recentFirst": "Most recent first",
|
||||
"frequentFirst": "Most frequent first",
|
||||
"filterScope": "Counts refer to matching retained events. Group status and latest details remain current across versions."
|
||||
},
|
||||
"installation": {
|
||||
"title": "Installation diagnostics",
|
||||
@@ -76,7 +132,11 @@
|
||||
"refreshHistory": "Refresh history",
|
||||
"showMoreItems": "Show 50 more items",
|
||||
"uncertainOutcome": "An interrupted item may already have changed local data. It is excluded from retries.",
|
||||
"reviewLocalData": "Review local data"
|
||||
"reviewLocalData": "Review local data",
|
||||
"ownerHistory": "Your imports and repairs, newest first. Retries never repeat completed or uncertain items.",
|
||||
"previousPage": "Previous",
|
||||
"nextPage": "Next",
|
||||
"page": "Page {page}"
|
||||
},
|
||||
"articles": {
|
||||
"form": {
|
||||
@@ -217,6 +277,40 @@
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
},
|
||||
"integrity": {
|
||||
"title": "Catalog integrity",
|
||||
"description": "Check references, category paths, identifiers and furniture icons. Scanning does not change records.",
|
||||
"catalog": "Catalog",
|
||||
"normal": "Normal catalog",
|
||||
"bc": "Builders Club",
|
||||
"refresh": "Scan again",
|
||||
"working": "Checking…",
|
||||
"failed": "The operation could not be completed. Try again.",
|
||||
"stalePreview": "The catalog changed after the preview. Create a new preview before applying repairs.",
|
||||
"applied": "{count} categories reattached to the catalog root.",
|
||||
"iconsUnavailable": "The icon folder could not be read. Icon availability has not been verified.",
|
||||
"healthy": "No issues found in the completed checks.",
|
||||
"total": "{count} issues found. Showing {shown}.",
|
||||
"open": "Open",
|
||||
"reference": "Reference: {value}",
|
||||
"repairHint": "Preview categories whose parent no longer exists. Applying moves only these categories to the root and preserves every record. Cycles, missing furniture, icons and identifier conflicts require individual review.",
|
||||
"preview": "Preview safe repairs",
|
||||
"planned": "{count} categories will be moved:",
|
||||
"parentChange": "parent #{from} → catalog root",
|
||||
"apply": "Apply previewed repairs",
|
||||
"legacyTitle": "Advanced maintenance actions",
|
||||
"legacyHint": "These existing maintenance tools can rewrite identifiers and merge or remove duplicate records. They are separate from the non-destructive integrity check and its previewed parent repair.",
|
||||
"issues": {
|
||||
"missing_furniture": "Offer references missing furniture",
|
||||
"invalid_item_ids": "Invalid furniture identifiers",
|
||||
"missing_page": "Offer references a missing category",
|
||||
"unreachable_page": "Unreachable category",
|
||||
"category_cycle": "Category path contains a cycle",
|
||||
"missing_icon": "Missing furniture icon",
|
||||
"invalid_offer_id": "Invalid offer identifier",
|
||||
"duplicate_offer_id": "Repeated offer identifier"
|
||||
}
|
||||
}
|
||||
},
|
||||
"catalogPackages": {
|
||||
@@ -371,6 +465,49 @@
|
||||
"retry": "Retry",
|
||||
"description": "Search pages, users, furniture, catalog categories, articles and support tickets.",
|
||||
"partialError": "Some results could not be loaded. Try again."
|
||||
},
|
||||
"permissionPreview": {
|
||||
"title": "Role access preview",
|
||||
"description": "Inspect CMS access without changing a session or impersonating a user.",
|
||||
"back": "Back to permissions",
|
||||
"role": "Role",
|
||||
"show": "Show access",
|
||||
"missing": "Select an existing role.",
|
||||
"entryAllowed": "Housekeeping entry allowed",
|
||||
"entryDenied": "Housekeeping entry denied: dashboard permission missing",
|
||||
"superAdmin": "This rank currently receives the highest-rank override.",
|
||||
"scope": "This preview shows one role only. A user may receive additional roles. Navigation customization can hide allowed sections; specific records and actions can require further checks.",
|
||||
"sections": "Sections",
|
||||
"allowed": "Allowed",
|
||||
"denied": "Denied",
|
||||
"actions": "CMS permissions",
|
||||
"actionScope": "A granted permission alone does not bypass dashboard entry, rank hierarchy, record ownership or action-specific validation.",
|
||||
"granted": "Granted",
|
||||
"notGranted": "Not granted"
|
||||
},
|
||||
"operationsCenter": {
|
||||
"title": "Operations center",
|
||||
"hint": "Track your durable imports and repairs, and the shared catalog export queue.",
|
||||
"syncTitle": "Source synchronization",
|
||||
"syncHint": "Source synchronization shows live progress on its own page. It has no durable history or automatic retry of failed items here. Catalog export reports the shared queue and latest result; item-level retry is not supported.",
|
||||
"openSync": "Open synchronization and export",
|
||||
"openImports": "Open furniture imports"
|
||||
},
|
||||
"operationsExport": {
|
||||
"title": "Catalog repository export",
|
||||
"hint": "Automatic export of bundles, icons, gamedata, translations and catalog SQL. The queue and latest result are shared across operators.",
|
||||
"loadError": "Unable to load export status",
|
||||
"queueError": "Unable to queue export",
|
||||
"loading": "Loading…",
|
||||
"disabled": "Export is disabled. Open synchronization to review its configuration.",
|
||||
"active": "Waiting for {count} operation(s) to finish.",
|
||||
"running": "Export in progress…",
|
||||
"pending": "{count} update(s) queued for export.",
|
||||
"idle": "No pending updates.",
|
||||
"lastCommit": "Last published commit:",
|
||||
"lastAttempt": "Last attempt: {date}",
|
||||
"queuing": "Queuing…",
|
||||
"queue": "Export now / retry"
|
||||
}
|
||||
},
|
||||
"myDashboard": {
|
||||
|
||||
+140
-3
@@ -887,7 +887,8 @@
|
||||
"guilds": "Guilds",
|
||||
"itemsBase": "Items base",
|
||||
"adminMenu": "Admin menu",
|
||||
"studio": "Studio"
|
||||
"studio": "Studio",
|
||||
"operationsCenter": "Operations center"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Tableau de bord",
|
||||
@@ -1568,6 +1569,40 @@
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
},
|
||||
"integrity": {
|
||||
"title": "Catalog integrity",
|
||||
"description": "Check references, category paths, identifiers and furniture icons. Scanning does not change records.",
|
||||
"catalog": "Catalog",
|
||||
"normal": "Normal catalog",
|
||||
"bc": "Builders Club",
|
||||
"refresh": "Scan again",
|
||||
"working": "Checking…",
|
||||
"failed": "The operation could not be completed. Try again.",
|
||||
"stalePreview": "The catalog changed after the preview. Create a new preview before applying repairs.",
|
||||
"applied": "{count} categories reattached to the catalog root.",
|
||||
"iconsUnavailable": "The icon folder could not be read. Icon availability has not been verified.",
|
||||
"healthy": "No issues found in the completed checks.",
|
||||
"total": "{count} issues found. Showing {shown}.",
|
||||
"open": "Open",
|
||||
"reference": "Reference: {value}",
|
||||
"repairHint": "Preview categories whose parent no longer exists. Applying moves only these categories to the root and preserves every record. Cycles, missing furniture, icons and identifier conflicts require individual review.",
|
||||
"preview": "Preview safe repairs",
|
||||
"planned": "{count} categories will be moved:",
|
||||
"parentChange": "parent #{from} → catalog root",
|
||||
"apply": "Apply previewed repairs",
|
||||
"legacyTitle": "Advanced maintenance actions",
|
||||
"legacyHint": "These existing maintenance tools can rewrite identifiers and merge or remove duplicate records. They are separate from the non-destructive integrity check and its previewed parent repair.",
|
||||
"issues": {
|
||||
"missing_furniture": "Offer references missing furniture",
|
||||
"invalid_item_ids": "Invalid furniture identifiers",
|
||||
"missing_page": "Offer references a missing category",
|
||||
"unreachable_page": "Unreachable category",
|
||||
"category_cycle": "Category path contains a cycle",
|
||||
"missing_icon": "Missing furniture icon",
|
||||
"invalid_offer_id": "Invalid offer identifier",
|
||||
"duplicate_offer_id": "Repeated offer identifier"
|
||||
}
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -2274,6 +2309,51 @@
|
||||
"colStatus": "Status",
|
||||
"statusUnknown": "unknown",
|
||||
"searchPlaceholder": "Search by username…"
|
||||
},
|
||||
"history": {
|
||||
"preview": "Preview restore",
|
||||
"title": "Restore a recorded edit",
|
||||
"description": "Compare current values with the previous values before confirming. Only category settings, offer prices or news content are restored. Deleted records and category hierarchy cannot be restored here.",
|
||||
"loading": "Loading…",
|
||||
"unavailable": "This revision is unavailable or you do not have permission to restore it.",
|
||||
"conflict": "This record changed after the selected edit. Refresh and review its latest history before restoring.",
|
||||
"failed": "The restore could not be completed. Please reload and try again.",
|
||||
"field": "Field",
|
||||
"current": "Current value",
|
||||
"restore": "Value to restore",
|
||||
"confirm": "Confirm restore",
|
||||
"restoring": "Restoring…",
|
||||
"fields": {
|
||||
"caption": "Category name",
|
||||
"captionSave": "Internal category name",
|
||||
"pageLayout": "Category layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"minRank": "Minimum rank",
|
||||
"iconImage": "Category icon",
|
||||
"iconColor": "Icon colour",
|
||||
"pageHeadline": "Header image",
|
||||
"pageTeaser": "Preview image",
|
||||
"pageSpecial": "Special image",
|
||||
"pageText1": "Primary text",
|
||||
"pageText2": "Secondary text",
|
||||
"pageTextDetails": "Details text",
|
||||
"pageTextTeaser": "Preview text",
|
||||
"includes": "Included categories",
|
||||
"costCredits": "Credit price",
|
||||
"costPoints": "Points price",
|
||||
"pointsType": "Points currency",
|
||||
"title": "News title",
|
||||
"slug": "News address",
|
||||
"image": "News image",
|
||||
"shortStory": "Summary",
|
||||
"fullStory": "Article content",
|
||||
"status": "Publication status",
|
||||
"publishAt": "Scheduled publication",
|
||||
"publishedAt": "Publication date"
|
||||
}
|
||||
}
|
||||
},
|
||||
"wordfilter": {
|
||||
@@ -3171,7 +3251,17 @@
|
||||
"clearAssignment": "Clear assignment",
|
||||
"openOperation": "Open related area",
|
||||
"releaseOccurrences": "Occurrences by release",
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error."
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error.",
|
||||
"releaseFilter": "Version",
|
||||
"allReleases": "All versions",
|
||||
"period": "Period",
|
||||
"allRetained": "All retained events",
|
||||
"last24h": "Last 24 hours",
|
||||
"last7d": "Last 7 days",
|
||||
"sort": "Order",
|
||||
"recentFirst": "Most recent first",
|
||||
"frequentFirst": "Most frequent first",
|
||||
"filterScope": "Counts refer to matching retained events. Group status and latest details remain current across versions."
|
||||
},
|
||||
"installation": {
|
||||
"title": "Installation diagnostics",
|
||||
@@ -3211,7 +3301,11 @@
|
||||
"refreshHistory": "Refresh history",
|
||||
"showMoreItems": "Show 50 more items",
|
||||
"uncertainOutcome": "An interrupted item may already have changed local data. It is excluded from retries.",
|
||||
"reviewLocalData": "Review local data"
|
||||
"reviewLocalData": "Review local data",
|
||||
"ownerHistory": "Your imports and repairs, newest first. Retries never repeat completed or uncertain items.",
|
||||
"previousPage": "Previous",
|
||||
"nextPage": "Next",
|
||||
"page": "Page {page}"
|
||||
},
|
||||
"operations": {
|
||||
"title": "Needs attention",
|
||||
@@ -3296,6 +3390,49 @@
|
||||
"retry": "Retry",
|
||||
"description": "Search pages, users, furniture, catalog categories, articles and support tickets.",
|
||||
"partialError": "Some results could not be loaded. Try again."
|
||||
},
|
||||
"permissionPreview": {
|
||||
"title": "Role access preview",
|
||||
"description": "Inspect CMS access without changing a session or impersonating a user.",
|
||||
"back": "Back to permissions",
|
||||
"role": "Role",
|
||||
"show": "Show access",
|
||||
"missing": "Select an existing role.",
|
||||
"entryAllowed": "Housekeeping entry allowed",
|
||||
"entryDenied": "Housekeeping entry denied: dashboard permission missing",
|
||||
"superAdmin": "This rank currently receives the highest-rank override.",
|
||||
"scope": "This preview shows one role only. A user may receive additional roles. Navigation customization can hide allowed sections; specific records and actions can require further checks.",
|
||||
"sections": "Sections",
|
||||
"allowed": "Allowed",
|
||||
"denied": "Denied",
|
||||
"actions": "CMS permissions",
|
||||
"actionScope": "A granted permission alone does not bypass dashboard entry, rank hierarchy, record ownership or action-specific validation.",
|
||||
"granted": "Granted",
|
||||
"notGranted": "Not granted"
|
||||
},
|
||||
"operationsCenter": {
|
||||
"title": "Operations center",
|
||||
"hint": "Track your durable imports and repairs, and the shared catalog export queue.",
|
||||
"syncTitle": "Source synchronization",
|
||||
"syncHint": "Source synchronization shows live progress on its own page. It has no durable history or automatic retry of failed items here. Catalog export reports the shared queue and latest result; item-level retry is not supported.",
|
||||
"openSync": "Open synchronization and export",
|
||||
"openImports": "Open furniture imports"
|
||||
},
|
||||
"operationsExport": {
|
||||
"title": "Catalog repository export",
|
||||
"hint": "Automatic export of bundles, icons, gamedata, translations and catalog SQL. The queue and latest result are shared across operators.",
|
||||
"loadError": "Unable to load export status",
|
||||
"queueError": "Unable to queue export",
|
||||
"loading": "Loading…",
|
||||
"disabled": "Export is disabled. Open synchronization to review its configuration.",
|
||||
"active": "Waiting for {count} operation(s) to finish.",
|
||||
"running": "Export in progress…",
|
||||
"pending": "{count} update(s) queued for export.",
|
||||
"idle": "No pending updates.",
|
||||
"lastCommit": "Last published commit:",
|
||||
"lastAttempt": "Last attempt: {date}",
|
||||
"queuing": "Queuing…",
|
||||
"queue": "Export now / retry"
|
||||
}
|
||||
},
|
||||
"radioRequests": {
|
||||
|
||||
+140
-3
@@ -916,7 +916,8 @@
|
||||
"tools": "Tools",
|
||||
"guilds": "Guilds",
|
||||
"itemsBase": "Items base",
|
||||
"adminMenu": "Admin menu"
|
||||
"adminMenu": "Admin menu",
|
||||
"operationsCenter": "Operations center"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Nadzorna ploča",
|
||||
@@ -1597,6 +1598,40 @@
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
},
|
||||
"integrity": {
|
||||
"title": "Catalog integrity",
|
||||
"description": "Check references, category paths, identifiers and furniture icons. Scanning does not change records.",
|
||||
"catalog": "Catalog",
|
||||
"normal": "Normal catalog",
|
||||
"bc": "Builders Club",
|
||||
"refresh": "Scan again",
|
||||
"working": "Checking…",
|
||||
"failed": "The operation could not be completed. Try again.",
|
||||
"stalePreview": "The catalog changed after the preview. Create a new preview before applying repairs.",
|
||||
"applied": "{count} categories reattached to the catalog root.",
|
||||
"iconsUnavailable": "The icon folder could not be read. Icon availability has not been verified.",
|
||||
"healthy": "No issues found in the completed checks.",
|
||||
"total": "{count} issues found. Showing {shown}.",
|
||||
"open": "Open",
|
||||
"reference": "Reference: {value}",
|
||||
"repairHint": "Preview categories whose parent no longer exists. Applying moves only these categories to the root and preserves every record. Cycles, missing furniture, icons and identifier conflicts require individual review.",
|
||||
"preview": "Preview safe repairs",
|
||||
"planned": "{count} categories will be moved:",
|
||||
"parentChange": "parent #{from} → catalog root",
|
||||
"apply": "Apply previewed repairs",
|
||||
"legacyTitle": "Advanced maintenance actions",
|
||||
"legacyHint": "These existing maintenance tools can rewrite identifiers and merge or remove duplicate records. They are separate from the non-destructive integrity check and its previewed parent repair.",
|
||||
"issues": {
|
||||
"missing_furniture": "Offer references missing furniture",
|
||||
"invalid_item_ids": "Invalid furniture identifiers",
|
||||
"missing_page": "Offer references a missing category",
|
||||
"unreachable_page": "Unreachable category",
|
||||
"category_cycle": "Category path contains a cycle",
|
||||
"missing_icon": "Missing furniture icon",
|
||||
"invalid_offer_id": "Invalid offer identifier",
|
||||
"duplicate_offer_id": "Repeated offer identifier"
|
||||
}
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -2303,6 +2338,51 @@
|
||||
"colStatus": "Status",
|
||||
"statusUnknown": "unknown",
|
||||
"searchPlaceholder": "Search by username…"
|
||||
},
|
||||
"history": {
|
||||
"preview": "Preview restore",
|
||||
"title": "Restore a recorded edit",
|
||||
"description": "Compare current values with the previous values before confirming. Only category settings, offer prices or news content are restored. Deleted records and category hierarchy cannot be restored here.",
|
||||
"loading": "Loading…",
|
||||
"unavailable": "This revision is unavailable or you do not have permission to restore it.",
|
||||
"conflict": "This record changed after the selected edit. Refresh and review its latest history before restoring.",
|
||||
"failed": "The restore could not be completed. Please reload and try again.",
|
||||
"field": "Field",
|
||||
"current": "Current value",
|
||||
"restore": "Value to restore",
|
||||
"confirm": "Confirm restore",
|
||||
"restoring": "Restoring…",
|
||||
"fields": {
|
||||
"caption": "Category name",
|
||||
"captionSave": "Internal category name",
|
||||
"pageLayout": "Category layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"minRank": "Minimum rank",
|
||||
"iconImage": "Category icon",
|
||||
"iconColor": "Icon colour",
|
||||
"pageHeadline": "Header image",
|
||||
"pageTeaser": "Preview image",
|
||||
"pageSpecial": "Special image",
|
||||
"pageText1": "Primary text",
|
||||
"pageText2": "Secondary text",
|
||||
"pageTextDetails": "Details text",
|
||||
"pageTextTeaser": "Preview text",
|
||||
"includes": "Included categories",
|
||||
"costCredits": "Credit price",
|
||||
"costPoints": "Points price",
|
||||
"pointsType": "Points currency",
|
||||
"title": "News title",
|
||||
"slug": "News address",
|
||||
"image": "News image",
|
||||
"shortStory": "Summary",
|
||||
"fullStory": "Article content",
|
||||
"status": "Publication status",
|
||||
"publishAt": "Scheduled publication",
|
||||
"publishedAt": "Publication date"
|
||||
}
|
||||
}
|
||||
},
|
||||
"wordfilter": {
|
||||
@@ -3200,7 +3280,17 @@
|
||||
"clearAssignment": "Clear assignment",
|
||||
"openOperation": "Open related area",
|
||||
"releaseOccurrences": "Occurrences by release",
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error."
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error.",
|
||||
"releaseFilter": "Version",
|
||||
"allReleases": "All versions",
|
||||
"period": "Period",
|
||||
"allRetained": "All retained events",
|
||||
"last24h": "Last 24 hours",
|
||||
"last7d": "Last 7 days",
|
||||
"sort": "Order",
|
||||
"recentFirst": "Most recent first",
|
||||
"frequentFirst": "Most frequent first",
|
||||
"filterScope": "Counts refer to matching retained events. Group status and latest details remain current across versions."
|
||||
},
|
||||
"installation": {
|
||||
"title": "Installation diagnostics",
|
||||
@@ -3240,7 +3330,11 @@
|
||||
"refreshHistory": "Refresh history",
|
||||
"showMoreItems": "Show 50 more items",
|
||||
"uncertainOutcome": "An interrupted item may already have changed local data. It is excluded from retries.",
|
||||
"reviewLocalData": "Review local data"
|
||||
"reviewLocalData": "Review local data",
|
||||
"ownerHistory": "Your imports and repairs, newest first. Retries never repeat completed or uncertain items.",
|
||||
"previousPage": "Previous",
|
||||
"nextPage": "Next",
|
||||
"page": "Page {page}"
|
||||
},
|
||||
"operations": {
|
||||
"title": "Needs attention",
|
||||
@@ -3325,6 +3419,49 @@
|
||||
"retry": "Retry",
|
||||
"description": "Search pages, users, furniture, catalog categories, articles and support tickets.",
|
||||
"partialError": "Some results could not be loaded. Try again."
|
||||
},
|
||||
"permissionPreview": {
|
||||
"title": "Role access preview",
|
||||
"description": "Inspect CMS access without changing a session or impersonating a user.",
|
||||
"back": "Back to permissions",
|
||||
"role": "Role",
|
||||
"show": "Show access",
|
||||
"missing": "Select an existing role.",
|
||||
"entryAllowed": "Housekeeping entry allowed",
|
||||
"entryDenied": "Housekeeping entry denied: dashboard permission missing",
|
||||
"superAdmin": "This rank currently receives the highest-rank override.",
|
||||
"scope": "This preview shows one role only. A user may receive additional roles. Navigation customization can hide allowed sections; specific records and actions can require further checks.",
|
||||
"sections": "Sections",
|
||||
"allowed": "Allowed",
|
||||
"denied": "Denied",
|
||||
"actions": "CMS permissions",
|
||||
"actionScope": "A granted permission alone does not bypass dashboard entry, rank hierarchy, record ownership or action-specific validation.",
|
||||
"granted": "Granted",
|
||||
"notGranted": "Not granted"
|
||||
},
|
||||
"operationsCenter": {
|
||||
"title": "Operations center",
|
||||
"hint": "Track your durable imports and repairs, and the shared catalog export queue.",
|
||||
"syncTitle": "Source synchronization",
|
||||
"syncHint": "Source synchronization shows live progress on its own page. It has no durable history or automatic retry of failed items here. Catalog export reports the shared queue and latest result; item-level retry is not supported.",
|
||||
"openSync": "Open synchronization and export",
|
||||
"openImports": "Open furniture imports"
|
||||
},
|
||||
"operationsExport": {
|
||||
"title": "Catalog repository export",
|
||||
"hint": "Automatic export of bundles, icons, gamedata, translations and catalog SQL. The queue and latest result are shared across operators.",
|
||||
"loadError": "Unable to load export status",
|
||||
"queueError": "Unable to queue export",
|
||||
"loading": "Loading…",
|
||||
"disabled": "Export is disabled. Open synchronization to review its configuration.",
|
||||
"active": "Waiting for {count} operation(s) to finish.",
|
||||
"running": "Export in progress…",
|
||||
"pending": "{count} update(s) queued for export.",
|
||||
"idle": "No pending updates.",
|
||||
"lastCommit": "Last published commit:",
|
||||
"lastAttempt": "Last attempt: {date}",
|
||||
"queuing": "Queuing…",
|
||||
"queue": "Export now / retry"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
+140
-3
@@ -916,7 +916,8 @@
|
||||
"tools": "Tools",
|
||||
"guilds": "Guilds",
|
||||
"itemsBase": "Items base",
|
||||
"adminMenu": "Admin menu"
|
||||
"adminMenu": "Admin menu",
|
||||
"operationsCenter": "Operations center"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Irányítópult",
|
||||
@@ -1597,6 +1598,40 @@
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
},
|
||||
"integrity": {
|
||||
"title": "Catalog integrity",
|
||||
"description": "Check references, category paths, identifiers and furniture icons. Scanning does not change records.",
|
||||
"catalog": "Catalog",
|
||||
"normal": "Normal catalog",
|
||||
"bc": "Builders Club",
|
||||
"refresh": "Scan again",
|
||||
"working": "Checking…",
|
||||
"failed": "The operation could not be completed. Try again.",
|
||||
"stalePreview": "The catalog changed after the preview. Create a new preview before applying repairs.",
|
||||
"applied": "{count} categories reattached to the catalog root.",
|
||||
"iconsUnavailable": "The icon folder could not be read. Icon availability has not been verified.",
|
||||
"healthy": "No issues found in the completed checks.",
|
||||
"total": "{count} issues found. Showing {shown}.",
|
||||
"open": "Open",
|
||||
"reference": "Reference: {value}",
|
||||
"repairHint": "Preview categories whose parent no longer exists. Applying moves only these categories to the root and preserves every record. Cycles, missing furniture, icons and identifier conflicts require individual review.",
|
||||
"preview": "Preview safe repairs",
|
||||
"planned": "{count} categories will be moved:",
|
||||
"parentChange": "parent #{from} → catalog root",
|
||||
"apply": "Apply previewed repairs",
|
||||
"legacyTitle": "Advanced maintenance actions",
|
||||
"legacyHint": "These existing maintenance tools can rewrite identifiers and merge or remove duplicate records. They are separate from the non-destructive integrity check and its previewed parent repair.",
|
||||
"issues": {
|
||||
"missing_furniture": "Offer references missing furniture",
|
||||
"invalid_item_ids": "Invalid furniture identifiers",
|
||||
"missing_page": "Offer references a missing category",
|
||||
"unreachable_page": "Unreachable category",
|
||||
"category_cycle": "Category path contains a cycle",
|
||||
"missing_icon": "Missing furniture icon",
|
||||
"invalid_offer_id": "Invalid offer identifier",
|
||||
"duplicate_offer_id": "Repeated offer identifier"
|
||||
}
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -2303,6 +2338,51 @@
|
||||
"colStatus": "Status",
|
||||
"statusUnknown": "unknown",
|
||||
"searchPlaceholder": "Search by username…"
|
||||
},
|
||||
"history": {
|
||||
"preview": "Preview restore",
|
||||
"title": "Restore a recorded edit",
|
||||
"description": "Compare current values with the previous values before confirming. Only category settings, offer prices or news content are restored. Deleted records and category hierarchy cannot be restored here.",
|
||||
"loading": "Loading…",
|
||||
"unavailable": "This revision is unavailable or you do not have permission to restore it.",
|
||||
"conflict": "This record changed after the selected edit. Refresh and review its latest history before restoring.",
|
||||
"failed": "The restore could not be completed. Please reload and try again.",
|
||||
"field": "Field",
|
||||
"current": "Current value",
|
||||
"restore": "Value to restore",
|
||||
"confirm": "Confirm restore",
|
||||
"restoring": "Restoring…",
|
||||
"fields": {
|
||||
"caption": "Category name",
|
||||
"captionSave": "Internal category name",
|
||||
"pageLayout": "Category layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"minRank": "Minimum rank",
|
||||
"iconImage": "Category icon",
|
||||
"iconColor": "Icon colour",
|
||||
"pageHeadline": "Header image",
|
||||
"pageTeaser": "Preview image",
|
||||
"pageSpecial": "Special image",
|
||||
"pageText1": "Primary text",
|
||||
"pageText2": "Secondary text",
|
||||
"pageTextDetails": "Details text",
|
||||
"pageTextTeaser": "Preview text",
|
||||
"includes": "Included categories",
|
||||
"costCredits": "Credit price",
|
||||
"costPoints": "Points price",
|
||||
"pointsType": "Points currency",
|
||||
"title": "News title",
|
||||
"slug": "News address",
|
||||
"image": "News image",
|
||||
"shortStory": "Summary",
|
||||
"fullStory": "Article content",
|
||||
"status": "Publication status",
|
||||
"publishAt": "Scheduled publication",
|
||||
"publishedAt": "Publication date"
|
||||
}
|
||||
}
|
||||
},
|
||||
"wordfilter": {
|
||||
@@ -3200,7 +3280,17 @@
|
||||
"clearAssignment": "Clear assignment",
|
||||
"openOperation": "Open related area",
|
||||
"releaseOccurrences": "Occurrences by release",
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error."
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error.",
|
||||
"releaseFilter": "Version",
|
||||
"allReleases": "All versions",
|
||||
"period": "Period",
|
||||
"allRetained": "All retained events",
|
||||
"last24h": "Last 24 hours",
|
||||
"last7d": "Last 7 days",
|
||||
"sort": "Order",
|
||||
"recentFirst": "Most recent first",
|
||||
"frequentFirst": "Most frequent first",
|
||||
"filterScope": "Counts refer to matching retained events. Group status and latest details remain current across versions."
|
||||
},
|
||||
"installation": {
|
||||
"title": "Installation diagnostics",
|
||||
@@ -3240,7 +3330,11 @@
|
||||
"refreshHistory": "Refresh history",
|
||||
"showMoreItems": "Show 50 more items",
|
||||
"uncertainOutcome": "An interrupted item may already have changed local data. It is excluded from retries.",
|
||||
"reviewLocalData": "Review local data"
|
||||
"reviewLocalData": "Review local data",
|
||||
"ownerHistory": "Your imports and repairs, newest first. Retries never repeat completed or uncertain items.",
|
||||
"previousPage": "Previous",
|
||||
"nextPage": "Next",
|
||||
"page": "Page {page}"
|
||||
},
|
||||
"operations": {
|
||||
"title": "Needs attention",
|
||||
@@ -3325,6 +3419,49 @@
|
||||
"retry": "Retry",
|
||||
"description": "Search pages, users, furniture, catalog categories, articles and support tickets.",
|
||||
"partialError": "Some results could not be loaded. Try again."
|
||||
},
|
||||
"permissionPreview": {
|
||||
"title": "Role access preview",
|
||||
"description": "Inspect CMS access without changing a session or impersonating a user.",
|
||||
"back": "Back to permissions",
|
||||
"role": "Role",
|
||||
"show": "Show access",
|
||||
"missing": "Select an existing role.",
|
||||
"entryAllowed": "Housekeeping entry allowed",
|
||||
"entryDenied": "Housekeeping entry denied: dashboard permission missing",
|
||||
"superAdmin": "This rank currently receives the highest-rank override.",
|
||||
"scope": "This preview shows one role only. A user may receive additional roles. Navigation customization can hide allowed sections; specific records and actions can require further checks.",
|
||||
"sections": "Sections",
|
||||
"allowed": "Allowed",
|
||||
"denied": "Denied",
|
||||
"actions": "CMS permissions",
|
||||
"actionScope": "A granted permission alone does not bypass dashboard entry, rank hierarchy, record ownership or action-specific validation.",
|
||||
"granted": "Granted",
|
||||
"notGranted": "Not granted"
|
||||
},
|
||||
"operationsCenter": {
|
||||
"title": "Operations center",
|
||||
"hint": "Track your durable imports and repairs, and the shared catalog export queue.",
|
||||
"syncTitle": "Source synchronization",
|
||||
"syncHint": "Source synchronization shows live progress on its own page. It has no durable history or automatic retry of failed items here. Catalog export reports the shared queue and latest result; item-level retry is not supported.",
|
||||
"openSync": "Open synchronization and export",
|
||||
"openImports": "Open furniture imports"
|
||||
},
|
||||
"operationsExport": {
|
||||
"title": "Catalog repository export",
|
||||
"hint": "Automatic export of bundles, icons, gamedata, translations and catalog SQL. The queue and latest result are shared across operators.",
|
||||
"loadError": "Unable to load export status",
|
||||
"queueError": "Unable to queue export",
|
||||
"loading": "Loading…",
|
||||
"disabled": "Export is disabled. Open synchronization to review its configuration.",
|
||||
"active": "Waiting for {count} operation(s) to finish.",
|
||||
"running": "Export in progress…",
|
||||
"pending": "{count} update(s) queued for export.",
|
||||
"idle": "No pending updates.",
|
||||
"lastCommit": "Last published commit:",
|
||||
"lastAttempt": "Last attempt: {date}",
|
||||
"queuing": "Queuing…",
|
||||
"queue": "Export now / retry"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
+140
-3
@@ -1077,7 +1077,8 @@
|
||||
"guilds": "Gruppi",
|
||||
"shop": "Negozio",
|
||||
"hint": "Inizia a scrivere per cercare tra utenti, articoli, stanze, gruppi e articoli del negozio"
|
||||
}
|
||||
},
|
||||
"operationsCenter": "Centro operazioni"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Dashboard",
|
||||
@@ -2176,6 +2177,40 @@
|
||||
"acceptBulk": "Accetta prezzi nella bozza",
|
||||
"previous": "Precedente",
|
||||
"next": "Successiva"
|
||||
},
|
||||
"integrity": {
|
||||
"title": "Integrità del catalogo",
|
||||
"description": "Controlla riferimenti, percorsi delle categorie, identificativi e icone dei furni. Il controllo non modifica i record.",
|
||||
"catalog": "Catalogo",
|
||||
"normal": "Catalogo normale",
|
||||
"bc": "Builders Club",
|
||||
"refresh": "Ripeti controllo",
|
||||
"working": "Controllo in corso…",
|
||||
"failed": "Non è stato possibile completare l’operazione. Riprova.",
|
||||
"stalePreview": "Il catalogo è cambiato dopo l’anteprima. Genera una nuova anteprima prima di applicare le correzioni.",
|
||||
"applied": "{count} categorie ricollegate alla radice del catalogo.",
|
||||
"iconsUnavailable": "Impossibile leggere la cartella delle icone. La disponibilità delle icone non è stata verificata.",
|
||||
"healthy": "Nessun problema rilevato nei controlli completati.",
|
||||
"total": "Rilevati {count} problemi. Visualizzati {shown}.",
|
||||
"open": "Apri",
|
||||
"reference": "Riferimento: {value}",
|
||||
"repairHint": "Visualizza le categorie il cui genitore non esiste più. L’applicazione sposta solo queste categorie alla radice e conserva tutti i record. Cicli, furni mancanti, icone e conflitti di identificativi richiedono una verifica individuale.",
|
||||
"preview": "Anteprima correzioni sicure",
|
||||
"planned": "Verranno spostate {count} categorie:",
|
||||
"parentChange": "genitore #{from} → radice del catalogo",
|
||||
"apply": "Applica le correzioni mostrate",
|
||||
"legacyTitle": "Azioni di manutenzione avanzata",
|
||||
"legacyHint": "Questi strumenti di manutenzione esistenti possono riscrivere identificativi e unire o rimuovere record duplicati. Sono separati dal controllo di integrità non distruttivo e dalla correzione dei genitori mostrata in anteprima.",
|
||||
"issues": {
|
||||
"missing_furniture": "Offerta con furni mancanti",
|
||||
"invalid_item_ids": "Identificativi furni non validi",
|
||||
"missing_page": "Offerta con categoria mancante",
|
||||
"unreachable_page": "Categoria non raggiungibile",
|
||||
"category_cycle": "Percorso categoria con ciclo",
|
||||
"missing_icon": "Icona furni mancante",
|
||||
"invalid_offer_id": "Identificativo offerta non valido",
|
||||
"duplicate_offer_id": "Identificativo offerta ripetuto"
|
||||
}
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -3136,6 +3171,51 @@
|
||||
"colStatus": "Stato",
|
||||
"statusUnknown": "sconosciuto",
|
||||
"searchPlaceholder": "Cerca per username…"
|
||||
},
|
||||
"history": {
|
||||
"preview": "Anteprima ripristino",
|
||||
"title": "Ripristina una modifica registrata",
|
||||
"description": "Confronta i valori attuali con quelli precedenti prima di confermare. Vengono ripristinati solo impostazioni della categoria, prezzi dell’offerta o contenuto della notizia. Record eliminati e gerarchia delle categorie sono esclusi.",
|
||||
"loading": "Caricamento…",
|
||||
"unavailable": "La revisione non è disponibile oppure non hai il permesso di ripristinarla.",
|
||||
"conflict": "Questo record è cambiato dopo la modifica selezionata. Aggiorna e controlla lo storico più recente prima di ripristinare.",
|
||||
"failed": "Ripristino non completato. Ricarica la pagina e riprova.",
|
||||
"field": "Campo",
|
||||
"current": "Valore attuale",
|
||||
"restore": "Valore da ripristinare",
|
||||
"confirm": "Conferma ripristino",
|
||||
"restoring": "Ripristino in corso…",
|
||||
"fields": {
|
||||
"caption": "Nome categoria",
|
||||
"captionSave": "Nome interno categoria",
|
||||
"pageLayout": "Layout categoria",
|
||||
"enabled": "Abilitata",
|
||||
"visible": "Visibile",
|
||||
"clubOnly": "Solo membri Club",
|
||||
"vipOnly": "Solo membri VIP",
|
||||
"minRank": "Grado minimo",
|
||||
"iconImage": "Icona categoria",
|
||||
"iconColor": "Colore icona",
|
||||
"pageHeadline": "Immagine intestazione",
|
||||
"pageTeaser": "Immagine anteprima",
|
||||
"pageSpecial": "Immagine speciale",
|
||||
"pageText1": "Testo principale",
|
||||
"pageText2": "Testo secondario",
|
||||
"pageTextDetails": "Testo dettagli",
|
||||
"pageTextTeaser": "Testo anteprima",
|
||||
"includes": "Categorie incluse",
|
||||
"costCredits": "Prezzo in crediti",
|
||||
"costPoints": "Prezzo in punti",
|
||||
"pointsType": "Valuta dei punti",
|
||||
"title": "Titolo notizia",
|
||||
"slug": "Indirizzo notizia",
|
||||
"image": "Immagine notizia",
|
||||
"shortStory": "Sommario",
|
||||
"fullStory": "Contenuto articolo",
|
||||
"status": "Stato pubblicazione",
|
||||
"publishAt": "Pubblicazione programmata",
|
||||
"publishedAt": "Data pubblicazione"
|
||||
}
|
||||
}
|
||||
},
|
||||
"wordfilter": {
|
||||
@@ -3966,7 +4046,17 @@
|
||||
"clearAssignment": "Rimuovi assegnazione",
|
||||
"openOperation": "Apri area collegata",
|
||||
"releaseOccurrences": "Occorrenze per release",
|
||||
"releaseScope": "Queste release compaiono nei dati conservati. La prima occorrenza disponibile non dimostra quale release abbia introdotto l’errore."
|
||||
"releaseScope": "Queste release compaiono nei dati conservati. La prima occorrenza disponibile non dimostra quale release abbia introdotto l’errore.",
|
||||
"releaseFilter": "Versione",
|
||||
"allReleases": "Tutte le versioni",
|
||||
"period": "Periodo",
|
||||
"allRetained": "Tutti gli eventi conservati",
|
||||
"last24h": "Ultime 24 ore",
|
||||
"last7d": "Ultimi 7 giorni",
|
||||
"sort": "Ordine",
|
||||
"recentFirst": "Prima i più recenti",
|
||||
"frequentFirst": "Prima i più frequenti",
|
||||
"filterScope": "I conteggi riguardano gli eventi conservati che corrispondono ai filtri. Stato e dettagli più recenti del gruppo restano aggiornati tra le versioni."
|
||||
},
|
||||
"importHistory": {
|
||||
"summary": "Storico importazioni · {count} attive",
|
||||
@@ -3991,7 +4081,11 @@
|
||||
"refreshHistory": "Aggiorna cronologia",
|
||||
"showMoreItems": "Mostra altri 50 elementi",
|
||||
"uncertainOutcome": "Un elemento interrotto potrebbe avere già modificato i dati locali. È escluso dai tentativi successivi.",
|
||||
"reviewLocalData": "Controlla i dati locali"
|
||||
"reviewLocalData": "Controlla i dati locali",
|
||||
"ownerHistory": "Le tue importazioni e riparazioni, dalla più recente. Il retry non ripete elementi completati o dall’esito incerto.",
|
||||
"previousPage": "Precedente",
|
||||
"nextPage": "Successiva",
|
||||
"page": "Pagina {page}"
|
||||
},
|
||||
"installation": {
|
||||
"title": "Diagnostica installazione",
|
||||
@@ -4094,6 +4188,49 @@
|
||||
"specialPricing": "Prezzo speciale: {credits} crediti, {points} punti (tipo {type})",
|
||||
"restrictedOffers": "{count} offerte in questa categoria richiedono l’iscrizione al Club.",
|
||||
"clubOffer": "Offerta Club"
|
||||
},
|
||||
"permissionPreview": {
|
||||
"title": "Anteprima accessi del ruolo",
|
||||
"description": "Verifica gli accessi CMS senza modificare sessioni o impersonare utenti.",
|
||||
"back": "Torna ai permessi",
|
||||
"role": "Ruolo",
|
||||
"show": "Mostra accessi",
|
||||
"missing": "Seleziona un ruolo esistente.",
|
||||
"entryAllowed": "Accesso HK consentito",
|
||||
"entryDenied": "Accesso HK negato: manca il permesso dashboard",
|
||||
"superAdmin": "Questo grado riceve attualmente i privilegi del grado più alto.",
|
||||
"scope": "Questa anteprima considera un solo ruolo. Un utente può avere altri ruoli. La navigazione personalizzata può nascondere sezioni consentite; singoli dati e azioni possono richiedere ulteriori controlli.",
|
||||
"sections": "Sezioni",
|
||||
"allowed": "Consentito",
|
||||
"denied": "Negato",
|
||||
"actions": "Permessi CMS",
|
||||
"actionScope": "Un permesso concesso non supera i controlli di accesso HK, gerarchia dei gradi, proprietà dei dati o validazione della singola azione.",
|
||||
"granted": "Concesso",
|
||||
"notGranted": "Non concesso"
|
||||
},
|
||||
"operationsCenter": {
|
||||
"title": "Centro operazioni",
|
||||
"hint": "Segui le tue importazioni e riparazioni persistenti e la coda condivisa di esportazione catalogo.",
|
||||
"syncTitle": "Sincronizzazione sorgenti",
|
||||
"syncHint": "La sincronizzazione delle sorgenti avviene nella sua pagina. Qui non dispone di cronologia persistente o ripetizione automatica degli elementi falliti. L’esportazione catalogo mostra coda condivisa e ultimo esito; non supporta retry dei singoli elementi.",
|
||||
"openSync": "Apri sincronizzazione ed esportazione",
|
||||
"openImports": "Apri importazioni furni"
|
||||
},
|
||||
"operationsExport": {
|
||||
"title": "Esportazione repository catalogo",
|
||||
"hint": "Esportazione automatica di bundle, icone, gamedata, traduzioni e SQL catalogo. Coda e ultimo esito sono condivisi tra operatori.",
|
||||
"loadError": "Impossibile caricare lo stato esportazione",
|
||||
"queueError": "Impossibile accodare l’esportazione",
|
||||
"loading": "Caricamento…",
|
||||
"disabled": "Esportazione disabilitata. Apri sincronizzazione per verificarne la configurazione.",
|
||||
"active": "In attesa del completamento di {count} operazioni.",
|
||||
"running": "Esportazione in corso…",
|
||||
"pending": "{count} aggiornamenti in coda per esportazione.",
|
||||
"idle": "Nessun aggiornamento in attesa.",
|
||||
"lastCommit": "Ultimo commit pubblicato:",
|
||||
"lastAttempt": "Ultimo tentativo: {date}",
|
||||
"queuing": "Accodamento…",
|
||||
"queue": "Esporta ora / riprova"
|
||||
}
|
||||
},
|
||||
"radioRequests": {
|
||||
|
||||
+140
-3
@@ -6,7 +6,8 @@
|
||||
"pages": {
|
||||
"admin": {
|
||||
"nav": {
|
||||
"studio": "Studio"
|
||||
"studio": "Studio",
|
||||
"operationsCenter": "Operations center"
|
||||
},
|
||||
"logs": {
|
||||
"audit": {
|
||||
@@ -22,6 +23,51 @@
|
||||
"beforeValue": "Before",
|
||||
"afterValue": "After",
|
||||
"exportHint": "CSV exports the current filtered page, up to 100 records."
|
||||
},
|
||||
"history": {
|
||||
"preview": "Preview restore",
|
||||
"title": "Restore a recorded edit",
|
||||
"description": "Compare current values with the previous values before confirming. Only category settings, offer prices or news content are restored. Deleted records and category hierarchy cannot be restored here.",
|
||||
"loading": "Loading…",
|
||||
"unavailable": "This revision is unavailable or you do not have permission to restore it.",
|
||||
"conflict": "This record changed after the selected edit. Refresh and review its latest history before restoring.",
|
||||
"failed": "The restore could not be completed. Please reload and try again.",
|
||||
"field": "Field",
|
||||
"current": "Current value",
|
||||
"restore": "Value to restore",
|
||||
"confirm": "Confirm restore",
|
||||
"restoring": "Restoring…",
|
||||
"fields": {
|
||||
"caption": "Category name",
|
||||
"captionSave": "Internal category name",
|
||||
"pageLayout": "Category layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"minRank": "Minimum rank",
|
||||
"iconImage": "Category icon",
|
||||
"iconColor": "Icon colour",
|
||||
"pageHeadline": "Header image",
|
||||
"pageTeaser": "Preview image",
|
||||
"pageSpecial": "Special image",
|
||||
"pageText1": "Primary text",
|
||||
"pageText2": "Secondary text",
|
||||
"pageTextDetails": "Details text",
|
||||
"pageTextTeaser": "Preview text",
|
||||
"includes": "Included categories",
|
||||
"costCredits": "Credit price",
|
||||
"costPoints": "Points price",
|
||||
"pointsType": "Points currency",
|
||||
"title": "News title",
|
||||
"slug": "News address",
|
||||
"image": "News image",
|
||||
"shortStory": "Summary",
|
||||
"fullStory": "Article content",
|
||||
"status": "Publication status",
|
||||
"publishAt": "Scheduled publication",
|
||||
"publishedAt": "Publication date"
|
||||
}
|
||||
}
|
||||
},
|
||||
"cmsErrors": {
|
||||
@@ -36,7 +82,17 @@
|
||||
"clearAssignment": "Clear assignment",
|
||||
"openOperation": "Open related area",
|
||||
"releaseOccurrences": "Occurrences by release",
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error."
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error.",
|
||||
"releaseFilter": "Version",
|
||||
"allReleases": "All versions",
|
||||
"period": "Period",
|
||||
"allRetained": "All retained events",
|
||||
"last24h": "Last 24 hours",
|
||||
"last7d": "Last 7 days",
|
||||
"sort": "Order",
|
||||
"recentFirst": "Most recent first",
|
||||
"frequentFirst": "Most frequent first",
|
||||
"filterScope": "Counts refer to matching retained events. Group status and latest details remain current across versions."
|
||||
},
|
||||
"installation": {
|
||||
"title": "Installation diagnostics",
|
||||
@@ -76,7 +132,11 @@
|
||||
"refreshHistory": "Refresh history",
|
||||
"showMoreItems": "Show 50 more items",
|
||||
"uncertainOutcome": "An interrupted item may already have changed local data. It is excluded from retries.",
|
||||
"reviewLocalData": "Review local data"
|
||||
"reviewLocalData": "Review local data",
|
||||
"ownerHistory": "Your imports and repairs, newest first. Retries never repeat completed or uncertain items.",
|
||||
"previousPage": "Previous",
|
||||
"nextPage": "Next",
|
||||
"page": "Page {page}"
|
||||
},
|
||||
"articles": {
|
||||
"form": {
|
||||
@@ -217,6 +277,40 @@
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
},
|
||||
"integrity": {
|
||||
"title": "Catalog integrity",
|
||||
"description": "Check references, category paths, identifiers and furniture icons. Scanning does not change records.",
|
||||
"catalog": "Catalog",
|
||||
"normal": "Normal catalog",
|
||||
"bc": "Builders Club",
|
||||
"refresh": "Scan again",
|
||||
"working": "Checking…",
|
||||
"failed": "The operation could not be completed. Try again.",
|
||||
"stalePreview": "The catalog changed after the preview. Create a new preview before applying repairs.",
|
||||
"applied": "{count} categories reattached to the catalog root.",
|
||||
"iconsUnavailable": "The icon folder could not be read. Icon availability has not been verified.",
|
||||
"healthy": "No issues found in the completed checks.",
|
||||
"total": "{count} issues found. Showing {shown}.",
|
||||
"open": "Open",
|
||||
"reference": "Reference: {value}",
|
||||
"repairHint": "Preview categories whose parent no longer exists. Applying moves only these categories to the root and preserves every record. Cycles, missing furniture, icons and identifier conflicts require individual review.",
|
||||
"preview": "Preview safe repairs",
|
||||
"planned": "{count} categories will be moved:",
|
||||
"parentChange": "parent #{from} → catalog root",
|
||||
"apply": "Apply previewed repairs",
|
||||
"legacyTitle": "Advanced maintenance actions",
|
||||
"legacyHint": "These existing maintenance tools can rewrite identifiers and merge or remove duplicate records. They are separate from the non-destructive integrity check and its previewed parent repair.",
|
||||
"issues": {
|
||||
"missing_furniture": "Offer references missing furniture",
|
||||
"invalid_item_ids": "Invalid furniture identifiers",
|
||||
"missing_page": "Offer references a missing category",
|
||||
"unreachable_page": "Unreachable category",
|
||||
"category_cycle": "Category path contains a cycle",
|
||||
"missing_icon": "Missing furniture icon",
|
||||
"invalid_offer_id": "Invalid offer identifier",
|
||||
"duplicate_offer_id": "Repeated offer identifier"
|
||||
}
|
||||
}
|
||||
},
|
||||
"catalogPackages": {
|
||||
@@ -371,6 +465,49 @@
|
||||
"retry": "Retry",
|
||||
"description": "Search pages, users, furniture, catalog categories, articles and support tickets.",
|
||||
"partialError": "Some results could not be loaded. Try again."
|
||||
},
|
||||
"permissionPreview": {
|
||||
"title": "Role access preview",
|
||||
"description": "Inspect CMS access without changing a session or impersonating a user.",
|
||||
"back": "Back to permissions",
|
||||
"role": "Role",
|
||||
"show": "Show access",
|
||||
"missing": "Select an existing role.",
|
||||
"entryAllowed": "Housekeeping entry allowed",
|
||||
"entryDenied": "Housekeeping entry denied: dashboard permission missing",
|
||||
"superAdmin": "This rank currently receives the highest-rank override.",
|
||||
"scope": "This preview shows one role only. A user may receive additional roles. Navigation customization can hide allowed sections; specific records and actions can require further checks.",
|
||||
"sections": "Sections",
|
||||
"allowed": "Allowed",
|
||||
"denied": "Denied",
|
||||
"actions": "CMS permissions",
|
||||
"actionScope": "A granted permission alone does not bypass dashboard entry, rank hierarchy, record ownership or action-specific validation.",
|
||||
"granted": "Granted",
|
||||
"notGranted": "Not granted"
|
||||
},
|
||||
"operationsCenter": {
|
||||
"title": "Operations center",
|
||||
"hint": "Track your durable imports and repairs, and the shared catalog export queue.",
|
||||
"syncTitle": "Source synchronization",
|
||||
"syncHint": "Source synchronization shows live progress on its own page. It has no durable history or automatic retry of failed items here. Catalog export reports the shared queue and latest result; item-level retry is not supported.",
|
||||
"openSync": "Open synchronization and export",
|
||||
"openImports": "Open furniture imports"
|
||||
},
|
||||
"operationsExport": {
|
||||
"title": "Catalog repository export",
|
||||
"hint": "Automatic export of bundles, icons, gamedata, translations and catalog SQL. The queue and latest result are shared across operators.",
|
||||
"loadError": "Unable to load export status",
|
||||
"queueError": "Unable to queue export",
|
||||
"loading": "Loading…",
|
||||
"disabled": "Export is disabled. Open synchronization to review its configuration.",
|
||||
"active": "Waiting for {count} operation(s) to finish.",
|
||||
"running": "Export in progress…",
|
||||
"pending": "{count} update(s) queued for export.",
|
||||
"idle": "No pending updates.",
|
||||
"lastCommit": "Last published commit:",
|
||||
"lastAttempt": "Last attempt: {date}",
|
||||
"queuing": "Queuing…",
|
||||
"queue": "Export now / retry"
|
||||
}
|
||||
},
|
||||
"myDashboard": {
|
||||
|
||||
+140
-3
@@ -1090,7 +1090,8 @@
|
||||
"guilds": "Groepen",
|
||||
"shop": "Winkel",
|
||||
"hint": "Typ om te zoeken naar gebruikers, artikelen, kamers, groepen en winkelartikelen."
|
||||
}
|
||||
},
|
||||
"operationsCenter": "Operatiecentrum"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Dashboard",
|
||||
@@ -2033,6 +2034,40 @@
|
||||
"acceptBulk": "Prijzen overnemen in concept",
|
||||
"previous": "Vorige",
|
||||
"next": "Volgende"
|
||||
},
|
||||
"integrity": {
|
||||
"title": "Catalogusintegriteit",
|
||||
"description": "Controleer verwijzingen, categoriepaden, identificaties en meubeliconen. Een controle wijzigt geen records.",
|
||||
"catalog": "Catalogus",
|
||||
"normal": "Normale catalogus",
|
||||
"bc": "Builders Club",
|
||||
"refresh": "Opnieuw controleren",
|
||||
"working": "Controleren…",
|
||||
"failed": "De bewerking kon niet worden voltooid. Probeer opnieuw.",
|
||||
"stalePreview": "De catalogus is sinds het voorbeeld gewijzigd. Maak een nieuw voorbeeld voordat je reparaties toepast.",
|
||||
"applied": "{count} categorieën opnieuw aan de catalogushoofdmap gekoppeld.",
|
||||
"iconsUnavailable": "De map met iconen kon niet worden gelezen. De beschikbaarheid van iconen is niet gecontroleerd.",
|
||||
"healthy": "Geen problemen gevonden in de voltooide controles.",
|
||||
"total": "{count} problemen gevonden. {shown} weergegeven.",
|
||||
"open": "Openen",
|
||||
"reference": "Verwijzing: {value}",
|
||||
"repairHint": "Bekijk categorieën waarvan de bovenliggende categorie niet meer bestaat. Alleen deze categorieën worden naar de hoofdmap verplaatst; alle records blijven behouden. Cycli, ontbrekende meubels, iconen en conflicterende identificaties vereisen afzonderlijke controle.",
|
||||
"preview": "Veilige reparaties bekijken",
|
||||
"planned": "{count} categorieën worden verplaatst:",
|
||||
"parentChange": "bovenliggende categorie #{from} → catalogushoofdmap",
|
||||
"apply": "Getoonde reparaties toepassen",
|
||||
"legacyTitle": "Geavanceerd onderhoud",
|
||||
"legacyHint": "Deze bestaande onderhoudstools kunnen identificaties herschrijven en dubbele records samenvoegen of verwijderen. Ze staan los van de integriteitscontrole die niets verwijdert en de vooraf getoonde reparatie van bovenliggende categorieën.",
|
||||
"issues": {
|
||||
"missing_furniture": "Aanbieding verwijst naar ontbrekende meubels",
|
||||
"invalid_item_ids": "Ongeldige meubelidentificaties",
|
||||
"missing_page": "Aanbieding verwijst naar ontbrekende categorie",
|
||||
"unreachable_page": "Onbereikbare categorie",
|
||||
"category_cycle": "Categoriepad bevat een cyclus",
|
||||
"missing_icon": "Ontbrekend meubelicoon",
|
||||
"invalid_offer_id": "Ongeldige aanbiedingsidentificatie",
|
||||
"duplicate_offer_id": "Herhaalde aanbiedingsidentificatie"
|
||||
}
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -2782,6 +2817,51 @@
|
||||
"colStatus": "Status",
|
||||
"statusUnknown": "onbekend",
|
||||
"searchPlaceholder": "Zoek op gebruikersnaam…"
|
||||
},
|
||||
"history": {
|
||||
"preview": "Herstel bekijken",
|
||||
"title": "Een opgeslagen wijziging herstellen",
|
||||
"description": "Vergelijk de huidige waarden met de vorige waarden voordat je bevestigt. Alleen categorie-instellingen, aanbiedingsprijzen of nieuwsinhoud worden hersteld. Verwijderde gegevens en de categoriehiërarchie kunnen hier niet worden hersteld.",
|
||||
"loading": "Laden…",
|
||||
"unavailable": "Deze revisie is niet beschikbaar of je hebt geen toestemming om deze te herstellen.",
|
||||
"conflict": "Dit record is na de geselecteerde wijziging aangepast. Vernieuw en bekijk de nieuwste geschiedenis voordat je herstelt.",
|
||||
"failed": "Het herstellen is mislukt. Vernieuw de pagina en probeer het opnieuw.",
|
||||
"field": "Veld",
|
||||
"current": "Huidige waarde",
|
||||
"restore": "Te herstellen waarde",
|
||||
"confirm": "Herstel bevestigen",
|
||||
"restoring": "Herstellen…",
|
||||
"fields": {
|
||||
"caption": "Categorienaam",
|
||||
"captionSave": "Interne categorienaam",
|
||||
"pageLayout": "Categorie-indeling",
|
||||
"enabled": "Ingeschakeld",
|
||||
"visible": "Zichtbaar",
|
||||
"clubOnly": "Alleen clubleden",
|
||||
"vipOnly": "Alleen VIP-leden",
|
||||
"minRank": "Minimale rang",
|
||||
"iconImage": "Categoriepictogram",
|
||||
"iconColor": "Pictogramkleur",
|
||||
"pageHeadline": "Kopafbeelding",
|
||||
"pageTeaser": "Voorbeeldafbeelding",
|
||||
"pageSpecial": "Speciale afbeelding",
|
||||
"pageText1": "Primaire tekst",
|
||||
"pageText2": "Secundaire tekst",
|
||||
"pageTextDetails": "Detailtekst",
|
||||
"pageTextTeaser": "Voorbeeldtekst",
|
||||
"includes": "Inbegrepen categorieën",
|
||||
"costCredits": "Prijs in credits",
|
||||
"costPoints": "Prijs in punten",
|
||||
"pointsType": "Puntenvaluta",
|
||||
"title": "Nieuwstitel",
|
||||
"slug": "Nieuwsadres",
|
||||
"image": "Nieuwsafbeelding",
|
||||
"shortStory": "Samenvatting",
|
||||
"fullStory": "Artikelinhoud",
|
||||
"status": "Publicatiestatus",
|
||||
"publishAt": "Geplande publicatie",
|
||||
"publishedAt": "Publicatiedatum"
|
||||
}
|
||||
}
|
||||
},
|
||||
"wordfilter": {
|
||||
@@ -3574,7 +3654,17 @@
|
||||
"clearAssignment": "Toewijzing verwijderen",
|
||||
"openOperation": "Gerelateerd onderdeel openen",
|
||||
"releaseOccurrences": "Gebeurtenissen per release",
|
||||
"releaseScope": "Deze releases komen voor in de bewaarde gegevens. De eerste beschikbare gebeurtenis bewijst niet welke release de fout heeft geïntroduceerd."
|
||||
"releaseScope": "Deze releases komen voor in de bewaarde gegevens. De eerste beschikbare gebeurtenis bewijst niet welke release de fout heeft geïntroduceerd.",
|
||||
"releaseFilter": "Versie",
|
||||
"allReleases": "Alle versies",
|
||||
"period": "Periode",
|
||||
"allRetained": "Alle bewaarde gebeurtenissen",
|
||||
"last24h": "Afgelopen 24 uur",
|
||||
"last7d": "Afgelopen 7 dagen",
|
||||
"sort": "Volgorde",
|
||||
"recentFirst": "Nieuwste eerst",
|
||||
"frequentFirst": "Meest voorkomend eerst",
|
||||
"filterScope": "Aantallen gelden voor passende bewaarde gebeurtenissen. Groepsstatus en nieuwste details blijven actueel over alle versies."
|
||||
},
|
||||
"installation": {
|
||||
"title": "Installatiediagnose",
|
||||
@@ -3614,7 +3704,11 @@
|
||||
"refreshHistory": "Geschiedenis vernieuwen",
|
||||
"showMoreItems": "Nog 50 items tonen",
|
||||
"uncertainOutcome": "Een onderbroken item heeft mogelijk al lokale gegevens gewijzigd. Het wordt niet opnieuw geprobeerd.",
|
||||
"reviewLocalData": "Lokale gegevens controleren"
|
||||
"reviewLocalData": "Lokale gegevens controleren",
|
||||
"ownerHistory": "Je imports en reparaties, nieuwste eerst. Herhalen voert voltooide of onzekere onderdelen nooit opnieuw uit.",
|
||||
"previousPage": "Vorige",
|
||||
"nextPage": "Volgende",
|
||||
"page": "Pagina {page}"
|
||||
},
|
||||
"operations": {
|
||||
"title": "Aandacht nodig",
|
||||
@@ -3708,6 +3802,49 @@
|
||||
"retry": "Opnieuw proberen",
|
||||
"description": "Zoek pagina’s, gebruikers, meubels, cataloguscategorieën, artikelen en supporttickets.",
|
||||
"partialError": "Sommige resultaten konden niet worden geladen. Probeer opnieuw."
|
||||
},
|
||||
"permissionPreview": {
|
||||
"title": "Voorbeeld van roltoegang",
|
||||
"description": "Bekijk CMS-toegang zonder een sessie te wijzigen of een gebruiker over te nemen.",
|
||||
"back": "Terug naar rechten",
|
||||
"role": "Rol",
|
||||
"show": "Toegang bekijken",
|
||||
"missing": "Selecteer een bestaande rol.",
|
||||
"entryAllowed": "Toegang tot housekeeping toegestaan",
|
||||
"entryDenied": "Geen toegang tot housekeeping: dashboardrecht ontbreekt",
|
||||
"superAdmin": "Deze rang krijgt momenteel de rechten van de hoogste rang.",
|
||||
"scope": "Dit voorbeeld toont één rol. Een gebruiker kan extra rollen hebben. Aangepaste navigatie kan toegestane onderdelen verbergen; specifieke gegevens en acties kunnen extra controles vereisen.",
|
||||
"sections": "Onderdelen",
|
||||
"allowed": "Toegestaan",
|
||||
"denied": "Niet toegestaan",
|
||||
"actions": "CMS-rechten",
|
||||
"actionScope": "Een toegekend recht omzeilt geen controles op toegang, ranghiërarchie, eigendom of de specifieke actie.",
|
||||
"granted": "Toegekend",
|
||||
"notGranted": "Niet toegekend"
|
||||
},
|
||||
"operationsCenter": {
|
||||
"title": "Operatiecentrum",
|
||||
"hint": "Volg je opgeslagen imports en reparaties en de gedeelde wachtrij voor catalogusexport.",
|
||||
"syncTitle": "Bronsynchronisatie",
|
||||
"syncHint": "Bronsynchronisatie wordt op de eigen pagina uitgevoerd. Er is hier geen opgeslagen geschiedenis of automatische herhaling van mislukte onderdelen. Catalogusexport toont de gedeelde wachtrij en het laatste resultaat; herhalen per onderdeel wordt niet ondersteund.",
|
||||
"openSync": "Synchronisatie en export openen",
|
||||
"openImports": "Meubelimports openen"
|
||||
},
|
||||
"operationsExport": {
|
||||
"title": "Catalogusrepository export",
|
||||
"hint": "Automatische export van bundels, pictogrammen, gamedata, vertalingen en catalogus-SQL. De wachtrij en het laatste resultaat worden gedeeld tussen medewerkers.",
|
||||
"loadError": "Exportstatus kon niet worden geladen",
|
||||
"queueError": "Export kon niet worden ingepland",
|
||||
"loading": "Laden…",
|
||||
"disabled": "Export is uitgeschakeld. Open synchronisatie om de configuratie te bekijken.",
|
||||
"active": "Wachten totdat {count} bewerking(en) voltooid zijn.",
|
||||
"running": "Export wordt uitgevoerd…",
|
||||
"pending": "{count} update(s) in de exportwachtrij.",
|
||||
"idle": "Geen updates in de wachtrij.",
|
||||
"lastCommit": "Laatst gepubliceerde commit:",
|
||||
"lastAttempt": "Laatste poging: {date}",
|
||||
"queuing": "Inplannen…",
|
||||
"queue": "Nu exporteren / opnieuw proberen"
|
||||
}
|
||||
},
|
||||
"mod": {
|
||||
|
||||
+140
-3
@@ -916,7 +916,8 @@
|
||||
"tools": "Tools",
|
||||
"guilds": "Guilds",
|
||||
"itemsBase": "Items base",
|
||||
"adminMenu": "Admin menu"
|
||||
"adminMenu": "Admin menu",
|
||||
"operationsCenter": "Operations center"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Dashbord",
|
||||
@@ -1597,6 +1598,40 @@
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
},
|
||||
"integrity": {
|
||||
"title": "Catalog integrity",
|
||||
"description": "Check references, category paths, identifiers and furniture icons. Scanning does not change records.",
|
||||
"catalog": "Catalog",
|
||||
"normal": "Normal catalog",
|
||||
"bc": "Builders Club",
|
||||
"refresh": "Scan again",
|
||||
"working": "Checking…",
|
||||
"failed": "The operation could not be completed. Try again.",
|
||||
"stalePreview": "The catalog changed after the preview. Create a new preview before applying repairs.",
|
||||
"applied": "{count} categories reattached to the catalog root.",
|
||||
"iconsUnavailable": "The icon folder could not be read. Icon availability has not been verified.",
|
||||
"healthy": "No issues found in the completed checks.",
|
||||
"total": "{count} issues found. Showing {shown}.",
|
||||
"open": "Open",
|
||||
"reference": "Reference: {value}",
|
||||
"repairHint": "Preview categories whose parent no longer exists. Applying moves only these categories to the root and preserves every record. Cycles, missing furniture, icons and identifier conflicts require individual review.",
|
||||
"preview": "Preview safe repairs",
|
||||
"planned": "{count} categories will be moved:",
|
||||
"parentChange": "parent #{from} → catalog root",
|
||||
"apply": "Apply previewed repairs",
|
||||
"legacyTitle": "Advanced maintenance actions",
|
||||
"legacyHint": "These existing maintenance tools can rewrite identifiers and merge or remove duplicate records. They are separate from the non-destructive integrity check and its previewed parent repair.",
|
||||
"issues": {
|
||||
"missing_furniture": "Offer references missing furniture",
|
||||
"invalid_item_ids": "Invalid furniture identifiers",
|
||||
"missing_page": "Offer references a missing category",
|
||||
"unreachable_page": "Unreachable category",
|
||||
"category_cycle": "Category path contains a cycle",
|
||||
"missing_icon": "Missing furniture icon",
|
||||
"invalid_offer_id": "Invalid offer identifier",
|
||||
"duplicate_offer_id": "Repeated offer identifier"
|
||||
}
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -2303,6 +2338,51 @@
|
||||
"colStatus": "Status",
|
||||
"statusUnknown": "unknown",
|
||||
"searchPlaceholder": "Search by username…"
|
||||
},
|
||||
"history": {
|
||||
"preview": "Preview restore",
|
||||
"title": "Restore a recorded edit",
|
||||
"description": "Compare current values with the previous values before confirming. Only category settings, offer prices or news content are restored. Deleted records and category hierarchy cannot be restored here.",
|
||||
"loading": "Loading…",
|
||||
"unavailable": "This revision is unavailable or you do not have permission to restore it.",
|
||||
"conflict": "This record changed after the selected edit. Refresh and review its latest history before restoring.",
|
||||
"failed": "The restore could not be completed. Please reload and try again.",
|
||||
"field": "Field",
|
||||
"current": "Current value",
|
||||
"restore": "Value to restore",
|
||||
"confirm": "Confirm restore",
|
||||
"restoring": "Restoring…",
|
||||
"fields": {
|
||||
"caption": "Category name",
|
||||
"captionSave": "Internal category name",
|
||||
"pageLayout": "Category layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"minRank": "Minimum rank",
|
||||
"iconImage": "Category icon",
|
||||
"iconColor": "Icon colour",
|
||||
"pageHeadline": "Header image",
|
||||
"pageTeaser": "Preview image",
|
||||
"pageSpecial": "Special image",
|
||||
"pageText1": "Primary text",
|
||||
"pageText2": "Secondary text",
|
||||
"pageTextDetails": "Details text",
|
||||
"pageTextTeaser": "Preview text",
|
||||
"includes": "Included categories",
|
||||
"costCredits": "Credit price",
|
||||
"costPoints": "Points price",
|
||||
"pointsType": "Points currency",
|
||||
"title": "News title",
|
||||
"slug": "News address",
|
||||
"image": "News image",
|
||||
"shortStory": "Summary",
|
||||
"fullStory": "Article content",
|
||||
"status": "Publication status",
|
||||
"publishAt": "Scheduled publication",
|
||||
"publishedAt": "Publication date"
|
||||
}
|
||||
}
|
||||
},
|
||||
"wordfilter": {
|
||||
@@ -3200,7 +3280,17 @@
|
||||
"clearAssignment": "Clear assignment",
|
||||
"openOperation": "Open related area",
|
||||
"releaseOccurrences": "Occurrences by release",
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error."
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error.",
|
||||
"releaseFilter": "Version",
|
||||
"allReleases": "All versions",
|
||||
"period": "Period",
|
||||
"allRetained": "All retained events",
|
||||
"last24h": "Last 24 hours",
|
||||
"last7d": "Last 7 days",
|
||||
"sort": "Order",
|
||||
"recentFirst": "Most recent first",
|
||||
"frequentFirst": "Most frequent first",
|
||||
"filterScope": "Counts refer to matching retained events. Group status and latest details remain current across versions."
|
||||
},
|
||||
"installation": {
|
||||
"title": "Installation diagnostics",
|
||||
@@ -3240,7 +3330,11 @@
|
||||
"refreshHistory": "Refresh history",
|
||||
"showMoreItems": "Show 50 more items",
|
||||
"uncertainOutcome": "An interrupted item may already have changed local data. It is excluded from retries.",
|
||||
"reviewLocalData": "Review local data"
|
||||
"reviewLocalData": "Review local data",
|
||||
"ownerHistory": "Your imports and repairs, newest first. Retries never repeat completed or uncertain items.",
|
||||
"previousPage": "Previous",
|
||||
"nextPage": "Next",
|
||||
"page": "Page {page}"
|
||||
},
|
||||
"operations": {
|
||||
"title": "Needs attention",
|
||||
@@ -3325,6 +3419,49 @@
|
||||
"retry": "Retry",
|
||||
"description": "Search pages, users, furniture, catalog categories, articles and support tickets.",
|
||||
"partialError": "Some results could not be loaded. Try again."
|
||||
},
|
||||
"permissionPreview": {
|
||||
"title": "Role access preview",
|
||||
"description": "Inspect CMS access without changing a session or impersonating a user.",
|
||||
"back": "Back to permissions",
|
||||
"role": "Role",
|
||||
"show": "Show access",
|
||||
"missing": "Select an existing role.",
|
||||
"entryAllowed": "Housekeeping entry allowed",
|
||||
"entryDenied": "Housekeeping entry denied: dashboard permission missing",
|
||||
"superAdmin": "This rank currently receives the highest-rank override.",
|
||||
"scope": "This preview shows one role only. A user may receive additional roles. Navigation customization can hide allowed sections; specific records and actions can require further checks.",
|
||||
"sections": "Sections",
|
||||
"allowed": "Allowed",
|
||||
"denied": "Denied",
|
||||
"actions": "CMS permissions",
|
||||
"actionScope": "A granted permission alone does not bypass dashboard entry, rank hierarchy, record ownership or action-specific validation.",
|
||||
"granted": "Granted",
|
||||
"notGranted": "Not granted"
|
||||
},
|
||||
"operationsCenter": {
|
||||
"title": "Operations center",
|
||||
"hint": "Track your durable imports and repairs, and the shared catalog export queue.",
|
||||
"syncTitle": "Source synchronization",
|
||||
"syncHint": "Source synchronization shows live progress on its own page. It has no durable history or automatic retry of failed items here. Catalog export reports the shared queue and latest result; item-level retry is not supported.",
|
||||
"openSync": "Open synchronization and export",
|
||||
"openImports": "Open furniture imports"
|
||||
},
|
||||
"operationsExport": {
|
||||
"title": "Catalog repository export",
|
||||
"hint": "Automatic export of bundles, icons, gamedata, translations and catalog SQL. The queue and latest result are shared across operators.",
|
||||
"loadError": "Unable to load export status",
|
||||
"queueError": "Unable to queue export",
|
||||
"loading": "Loading…",
|
||||
"disabled": "Export is disabled. Open synchronization to review its configuration.",
|
||||
"active": "Waiting for {count} operation(s) to finish.",
|
||||
"running": "Export in progress…",
|
||||
"pending": "{count} update(s) queued for export.",
|
||||
"idle": "No pending updates.",
|
||||
"lastCommit": "Last published commit:",
|
||||
"lastAttempt": "Last attempt: {date}",
|
||||
"queuing": "Queuing…",
|
||||
"queue": "Export now / retry"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
+140
-3
@@ -917,7 +917,8 @@
|
||||
"guilds": "Guilds",
|
||||
"itemsBase": "Items base",
|
||||
"adminMenu": "Admin menu",
|
||||
"studio": "Studio"
|
||||
"studio": "Studio",
|
||||
"operationsCenter": "Operations center"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Pulpit nawigacyjny",
|
||||
@@ -1598,6 +1599,40 @@
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
},
|
||||
"integrity": {
|
||||
"title": "Catalog integrity",
|
||||
"description": "Check references, category paths, identifiers and furniture icons. Scanning does not change records.",
|
||||
"catalog": "Catalog",
|
||||
"normal": "Normal catalog",
|
||||
"bc": "Builders Club",
|
||||
"refresh": "Scan again",
|
||||
"working": "Checking…",
|
||||
"failed": "The operation could not be completed. Try again.",
|
||||
"stalePreview": "The catalog changed after the preview. Create a new preview before applying repairs.",
|
||||
"applied": "{count} categories reattached to the catalog root.",
|
||||
"iconsUnavailable": "The icon folder could not be read. Icon availability has not been verified.",
|
||||
"healthy": "No issues found in the completed checks.",
|
||||
"total": "{count} issues found. Showing {shown}.",
|
||||
"open": "Open",
|
||||
"reference": "Reference: {value}",
|
||||
"repairHint": "Preview categories whose parent no longer exists. Applying moves only these categories to the root and preserves every record. Cycles, missing furniture, icons and identifier conflicts require individual review.",
|
||||
"preview": "Preview safe repairs",
|
||||
"planned": "{count} categories will be moved:",
|
||||
"parentChange": "parent #{from} → catalog root",
|
||||
"apply": "Apply previewed repairs",
|
||||
"legacyTitle": "Advanced maintenance actions",
|
||||
"legacyHint": "These existing maintenance tools can rewrite identifiers and merge or remove duplicate records. They are separate from the non-destructive integrity check and its previewed parent repair.",
|
||||
"issues": {
|
||||
"missing_furniture": "Offer references missing furniture",
|
||||
"invalid_item_ids": "Invalid furniture identifiers",
|
||||
"missing_page": "Offer references a missing category",
|
||||
"unreachable_page": "Unreachable category",
|
||||
"category_cycle": "Category path contains a cycle",
|
||||
"missing_icon": "Missing furniture icon",
|
||||
"invalid_offer_id": "Invalid offer identifier",
|
||||
"duplicate_offer_id": "Repeated offer identifier"
|
||||
}
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -2304,6 +2339,51 @@
|
||||
"colStatus": "Status",
|
||||
"statusUnknown": "unknown",
|
||||
"searchPlaceholder": "Search by username…"
|
||||
},
|
||||
"history": {
|
||||
"preview": "Preview restore",
|
||||
"title": "Restore a recorded edit",
|
||||
"description": "Compare current values with the previous values before confirming. Only category settings, offer prices or news content are restored. Deleted records and category hierarchy cannot be restored here.",
|
||||
"loading": "Loading…",
|
||||
"unavailable": "This revision is unavailable or you do not have permission to restore it.",
|
||||
"conflict": "This record changed after the selected edit. Refresh and review its latest history before restoring.",
|
||||
"failed": "The restore could not be completed. Please reload and try again.",
|
||||
"field": "Field",
|
||||
"current": "Current value",
|
||||
"restore": "Value to restore",
|
||||
"confirm": "Confirm restore",
|
||||
"restoring": "Restoring…",
|
||||
"fields": {
|
||||
"caption": "Category name",
|
||||
"captionSave": "Internal category name",
|
||||
"pageLayout": "Category layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"minRank": "Minimum rank",
|
||||
"iconImage": "Category icon",
|
||||
"iconColor": "Icon colour",
|
||||
"pageHeadline": "Header image",
|
||||
"pageTeaser": "Preview image",
|
||||
"pageSpecial": "Special image",
|
||||
"pageText1": "Primary text",
|
||||
"pageText2": "Secondary text",
|
||||
"pageTextDetails": "Details text",
|
||||
"pageTextTeaser": "Preview text",
|
||||
"includes": "Included categories",
|
||||
"costCredits": "Credit price",
|
||||
"costPoints": "Points price",
|
||||
"pointsType": "Points currency",
|
||||
"title": "News title",
|
||||
"slug": "News address",
|
||||
"image": "News image",
|
||||
"shortStory": "Summary",
|
||||
"fullStory": "Article content",
|
||||
"status": "Publication status",
|
||||
"publishAt": "Scheduled publication",
|
||||
"publishedAt": "Publication date"
|
||||
}
|
||||
}
|
||||
},
|
||||
"wordfilter": {
|
||||
@@ -3201,7 +3281,17 @@
|
||||
"clearAssignment": "Clear assignment",
|
||||
"openOperation": "Open related area",
|
||||
"releaseOccurrences": "Occurrences by release",
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error."
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error.",
|
||||
"releaseFilter": "Version",
|
||||
"allReleases": "All versions",
|
||||
"period": "Period",
|
||||
"allRetained": "All retained events",
|
||||
"last24h": "Last 24 hours",
|
||||
"last7d": "Last 7 days",
|
||||
"sort": "Order",
|
||||
"recentFirst": "Most recent first",
|
||||
"frequentFirst": "Most frequent first",
|
||||
"filterScope": "Counts refer to matching retained events. Group status and latest details remain current across versions."
|
||||
},
|
||||
"installation": {
|
||||
"title": "Installation diagnostics",
|
||||
@@ -3241,7 +3331,11 @@
|
||||
"refreshHistory": "Refresh history",
|
||||
"showMoreItems": "Show 50 more items",
|
||||
"uncertainOutcome": "An interrupted item may already have changed local data. It is excluded from retries.",
|
||||
"reviewLocalData": "Review local data"
|
||||
"reviewLocalData": "Review local data",
|
||||
"ownerHistory": "Your imports and repairs, newest first. Retries never repeat completed or uncertain items.",
|
||||
"previousPage": "Previous",
|
||||
"nextPage": "Next",
|
||||
"page": "Page {page}"
|
||||
},
|
||||
"operations": {
|
||||
"title": "Needs attention",
|
||||
@@ -3326,6 +3420,49 @@
|
||||
"retry": "Retry",
|
||||
"description": "Search pages, users, furniture, catalog categories, articles and support tickets.",
|
||||
"partialError": "Some results could not be loaded. Try again."
|
||||
},
|
||||
"permissionPreview": {
|
||||
"title": "Role access preview",
|
||||
"description": "Inspect CMS access without changing a session or impersonating a user.",
|
||||
"back": "Back to permissions",
|
||||
"role": "Role",
|
||||
"show": "Show access",
|
||||
"missing": "Select an existing role.",
|
||||
"entryAllowed": "Housekeeping entry allowed",
|
||||
"entryDenied": "Housekeeping entry denied: dashboard permission missing",
|
||||
"superAdmin": "This rank currently receives the highest-rank override.",
|
||||
"scope": "This preview shows one role only. A user may receive additional roles. Navigation customization can hide allowed sections; specific records and actions can require further checks.",
|
||||
"sections": "Sections",
|
||||
"allowed": "Allowed",
|
||||
"denied": "Denied",
|
||||
"actions": "CMS permissions",
|
||||
"actionScope": "A granted permission alone does not bypass dashboard entry, rank hierarchy, record ownership or action-specific validation.",
|
||||
"granted": "Granted",
|
||||
"notGranted": "Not granted"
|
||||
},
|
||||
"operationsCenter": {
|
||||
"title": "Operations center",
|
||||
"hint": "Track your durable imports and repairs, and the shared catalog export queue.",
|
||||
"syncTitle": "Source synchronization",
|
||||
"syncHint": "Source synchronization shows live progress on its own page. It has no durable history or automatic retry of failed items here. Catalog export reports the shared queue and latest result; item-level retry is not supported.",
|
||||
"openSync": "Open synchronization and export",
|
||||
"openImports": "Open furniture imports"
|
||||
},
|
||||
"operationsExport": {
|
||||
"title": "Catalog repository export",
|
||||
"hint": "Automatic export of bundles, icons, gamedata, translations and catalog SQL. The queue and latest result are shared across operators.",
|
||||
"loadError": "Unable to load export status",
|
||||
"queueError": "Unable to queue export",
|
||||
"loading": "Loading…",
|
||||
"disabled": "Export is disabled. Open synchronization to review its configuration.",
|
||||
"active": "Waiting for {count} operation(s) to finish.",
|
||||
"running": "Export in progress…",
|
||||
"pending": "{count} update(s) queued for export.",
|
||||
"idle": "No pending updates.",
|
||||
"lastCommit": "Last published commit:",
|
||||
"lastAttempt": "Last attempt: {date}",
|
||||
"queuing": "Queuing…",
|
||||
"queue": "Export now / retry"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
+140
-3
@@ -917,7 +917,8 @@
|
||||
"guilds": "Guilds",
|
||||
"itemsBase": "Items base",
|
||||
"adminMenu": "Admin menu",
|
||||
"studio": "Studio"
|
||||
"studio": "Studio",
|
||||
"operationsCenter": "Operations center"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Painel",
|
||||
@@ -1598,6 +1599,40 @@
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
},
|
||||
"integrity": {
|
||||
"title": "Catalog integrity",
|
||||
"description": "Check references, category paths, identifiers and furniture icons. Scanning does not change records.",
|
||||
"catalog": "Catalog",
|
||||
"normal": "Normal catalog",
|
||||
"bc": "Builders Club",
|
||||
"refresh": "Scan again",
|
||||
"working": "Checking…",
|
||||
"failed": "The operation could not be completed. Try again.",
|
||||
"stalePreview": "The catalog changed after the preview. Create a new preview before applying repairs.",
|
||||
"applied": "{count} categories reattached to the catalog root.",
|
||||
"iconsUnavailable": "The icon folder could not be read. Icon availability has not been verified.",
|
||||
"healthy": "No issues found in the completed checks.",
|
||||
"total": "{count} issues found. Showing {shown}.",
|
||||
"open": "Open",
|
||||
"reference": "Reference: {value}",
|
||||
"repairHint": "Preview categories whose parent no longer exists. Applying moves only these categories to the root and preserves every record. Cycles, missing furniture, icons and identifier conflicts require individual review.",
|
||||
"preview": "Preview safe repairs",
|
||||
"planned": "{count} categories will be moved:",
|
||||
"parentChange": "parent #{from} → catalog root",
|
||||
"apply": "Apply previewed repairs",
|
||||
"legacyTitle": "Advanced maintenance actions",
|
||||
"legacyHint": "These existing maintenance tools can rewrite identifiers and merge or remove duplicate records. They are separate from the non-destructive integrity check and its previewed parent repair.",
|
||||
"issues": {
|
||||
"missing_furniture": "Offer references missing furniture",
|
||||
"invalid_item_ids": "Invalid furniture identifiers",
|
||||
"missing_page": "Offer references a missing category",
|
||||
"unreachable_page": "Unreachable category",
|
||||
"category_cycle": "Category path contains a cycle",
|
||||
"missing_icon": "Missing furniture icon",
|
||||
"invalid_offer_id": "Invalid offer identifier",
|
||||
"duplicate_offer_id": "Repeated offer identifier"
|
||||
}
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -2304,6 +2339,51 @@
|
||||
"colStatus": "Status",
|
||||
"statusUnknown": "unknown",
|
||||
"searchPlaceholder": "Search by username…"
|
||||
},
|
||||
"history": {
|
||||
"preview": "Preview restore",
|
||||
"title": "Restore a recorded edit",
|
||||
"description": "Compare current values with the previous values before confirming. Only category settings, offer prices or news content are restored. Deleted records and category hierarchy cannot be restored here.",
|
||||
"loading": "Loading…",
|
||||
"unavailable": "This revision is unavailable or you do not have permission to restore it.",
|
||||
"conflict": "This record changed after the selected edit. Refresh and review its latest history before restoring.",
|
||||
"failed": "The restore could not be completed. Please reload and try again.",
|
||||
"field": "Field",
|
||||
"current": "Current value",
|
||||
"restore": "Value to restore",
|
||||
"confirm": "Confirm restore",
|
||||
"restoring": "Restoring…",
|
||||
"fields": {
|
||||
"caption": "Category name",
|
||||
"captionSave": "Internal category name",
|
||||
"pageLayout": "Category layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"minRank": "Minimum rank",
|
||||
"iconImage": "Category icon",
|
||||
"iconColor": "Icon colour",
|
||||
"pageHeadline": "Header image",
|
||||
"pageTeaser": "Preview image",
|
||||
"pageSpecial": "Special image",
|
||||
"pageText1": "Primary text",
|
||||
"pageText2": "Secondary text",
|
||||
"pageTextDetails": "Details text",
|
||||
"pageTextTeaser": "Preview text",
|
||||
"includes": "Included categories",
|
||||
"costCredits": "Credit price",
|
||||
"costPoints": "Points price",
|
||||
"pointsType": "Points currency",
|
||||
"title": "News title",
|
||||
"slug": "News address",
|
||||
"image": "News image",
|
||||
"shortStory": "Summary",
|
||||
"fullStory": "Article content",
|
||||
"status": "Publication status",
|
||||
"publishAt": "Scheduled publication",
|
||||
"publishedAt": "Publication date"
|
||||
}
|
||||
}
|
||||
},
|
||||
"wordfilter": {
|
||||
@@ -3201,7 +3281,17 @@
|
||||
"clearAssignment": "Clear assignment",
|
||||
"openOperation": "Open related area",
|
||||
"releaseOccurrences": "Occurrences by release",
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error."
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error.",
|
||||
"releaseFilter": "Version",
|
||||
"allReleases": "All versions",
|
||||
"period": "Period",
|
||||
"allRetained": "All retained events",
|
||||
"last24h": "Last 24 hours",
|
||||
"last7d": "Last 7 days",
|
||||
"sort": "Order",
|
||||
"recentFirst": "Most recent first",
|
||||
"frequentFirst": "Most frequent first",
|
||||
"filterScope": "Counts refer to matching retained events. Group status and latest details remain current across versions."
|
||||
},
|
||||
"installation": {
|
||||
"title": "Installation diagnostics",
|
||||
@@ -3241,7 +3331,11 @@
|
||||
"refreshHistory": "Refresh history",
|
||||
"showMoreItems": "Show 50 more items",
|
||||
"uncertainOutcome": "An interrupted item may already have changed local data. It is excluded from retries.",
|
||||
"reviewLocalData": "Review local data"
|
||||
"reviewLocalData": "Review local data",
|
||||
"ownerHistory": "Your imports and repairs, newest first. Retries never repeat completed or uncertain items.",
|
||||
"previousPage": "Previous",
|
||||
"nextPage": "Next",
|
||||
"page": "Page {page}"
|
||||
},
|
||||
"operations": {
|
||||
"title": "Needs attention",
|
||||
@@ -3326,6 +3420,49 @@
|
||||
"retry": "Retry",
|
||||
"description": "Search pages, users, furniture, catalog categories, articles and support tickets.",
|
||||
"partialError": "Some results could not be loaded. Try again."
|
||||
},
|
||||
"permissionPreview": {
|
||||
"title": "Role access preview",
|
||||
"description": "Inspect CMS access without changing a session or impersonating a user.",
|
||||
"back": "Back to permissions",
|
||||
"role": "Role",
|
||||
"show": "Show access",
|
||||
"missing": "Select an existing role.",
|
||||
"entryAllowed": "Housekeeping entry allowed",
|
||||
"entryDenied": "Housekeeping entry denied: dashboard permission missing",
|
||||
"superAdmin": "This rank currently receives the highest-rank override.",
|
||||
"scope": "This preview shows one role only. A user may receive additional roles. Navigation customization can hide allowed sections; specific records and actions can require further checks.",
|
||||
"sections": "Sections",
|
||||
"allowed": "Allowed",
|
||||
"denied": "Denied",
|
||||
"actions": "CMS permissions",
|
||||
"actionScope": "A granted permission alone does not bypass dashboard entry, rank hierarchy, record ownership or action-specific validation.",
|
||||
"granted": "Granted",
|
||||
"notGranted": "Not granted"
|
||||
},
|
||||
"operationsCenter": {
|
||||
"title": "Operations center",
|
||||
"hint": "Track your durable imports and repairs, and the shared catalog export queue.",
|
||||
"syncTitle": "Source synchronization",
|
||||
"syncHint": "Source synchronization shows live progress on its own page. It has no durable history or automatic retry of failed items here. Catalog export reports the shared queue and latest result; item-level retry is not supported.",
|
||||
"openSync": "Open synchronization and export",
|
||||
"openImports": "Open furniture imports"
|
||||
},
|
||||
"operationsExport": {
|
||||
"title": "Catalog repository export",
|
||||
"hint": "Automatic export of bundles, icons, gamedata, translations and catalog SQL. The queue and latest result are shared across operators.",
|
||||
"loadError": "Unable to load export status",
|
||||
"queueError": "Unable to queue export",
|
||||
"loading": "Loading…",
|
||||
"disabled": "Export is disabled. Open synchronization to review its configuration.",
|
||||
"active": "Waiting for {count} operation(s) to finish.",
|
||||
"running": "Export in progress…",
|
||||
"pending": "{count} update(s) queued for export.",
|
||||
"idle": "No pending updates.",
|
||||
"lastCommit": "Last published commit:",
|
||||
"lastAttempt": "Last attempt: {date}",
|
||||
"queuing": "Queuing…",
|
||||
"queue": "Export now / retry"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
+140
-3
@@ -916,7 +916,8 @@
|
||||
"tools": "Tools",
|
||||
"guilds": "Guilds",
|
||||
"itemsBase": "Items base",
|
||||
"adminMenu": "Admin menu"
|
||||
"adminMenu": "Admin menu",
|
||||
"operationsCenter": "Operations center"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Tabloul de bord",
|
||||
@@ -1597,6 +1598,40 @@
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
},
|
||||
"integrity": {
|
||||
"title": "Catalog integrity",
|
||||
"description": "Check references, category paths, identifiers and furniture icons. Scanning does not change records.",
|
||||
"catalog": "Catalog",
|
||||
"normal": "Normal catalog",
|
||||
"bc": "Builders Club",
|
||||
"refresh": "Scan again",
|
||||
"working": "Checking…",
|
||||
"failed": "The operation could not be completed. Try again.",
|
||||
"stalePreview": "The catalog changed after the preview. Create a new preview before applying repairs.",
|
||||
"applied": "{count} categories reattached to the catalog root.",
|
||||
"iconsUnavailable": "The icon folder could not be read. Icon availability has not been verified.",
|
||||
"healthy": "No issues found in the completed checks.",
|
||||
"total": "{count} issues found. Showing {shown}.",
|
||||
"open": "Open",
|
||||
"reference": "Reference: {value}",
|
||||
"repairHint": "Preview categories whose parent no longer exists. Applying moves only these categories to the root and preserves every record. Cycles, missing furniture, icons and identifier conflicts require individual review.",
|
||||
"preview": "Preview safe repairs",
|
||||
"planned": "{count} categories will be moved:",
|
||||
"parentChange": "parent #{from} → catalog root",
|
||||
"apply": "Apply previewed repairs",
|
||||
"legacyTitle": "Advanced maintenance actions",
|
||||
"legacyHint": "These existing maintenance tools can rewrite identifiers and merge or remove duplicate records. They are separate from the non-destructive integrity check and its previewed parent repair.",
|
||||
"issues": {
|
||||
"missing_furniture": "Offer references missing furniture",
|
||||
"invalid_item_ids": "Invalid furniture identifiers",
|
||||
"missing_page": "Offer references a missing category",
|
||||
"unreachable_page": "Unreachable category",
|
||||
"category_cycle": "Category path contains a cycle",
|
||||
"missing_icon": "Missing furniture icon",
|
||||
"invalid_offer_id": "Invalid offer identifier",
|
||||
"duplicate_offer_id": "Repeated offer identifier"
|
||||
}
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -2303,6 +2338,51 @@
|
||||
"colStatus": "Status",
|
||||
"statusUnknown": "unknown",
|
||||
"searchPlaceholder": "Search by username…"
|
||||
},
|
||||
"history": {
|
||||
"preview": "Preview restore",
|
||||
"title": "Restore a recorded edit",
|
||||
"description": "Compare current values with the previous values before confirming. Only category settings, offer prices or news content are restored. Deleted records and category hierarchy cannot be restored here.",
|
||||
"loading": "Loading…",
|
||||
"unavailable": "This revision is unavailable or you do not have permission to restore it.",
|
||||
"conflict": "This record changed after the selected edit. Refresh and review its latest history before restoring.",
|
||||
"failed": "The restore could not be completed. Please reload and try again.",
|
||||
"field": "Field",
|
||||
"current": "Current value",
|
||||
"restore": "Value to restore",
|
||||
"confirm": "Confirm restore",
|
||||
"restoring": "Restoring…",
|
||||
"fields": {
|
||||
"caption": "Category name",
|
||||
"captionSave": "Internal category name",
|
||||
"pageLayout": "Category layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"minRank": "Minimum rank",
|
||||
"iconImage": "Category icon",
|
||||
"iconColor": "Icon colour",
|
||||
"pageHeadline": "Header image",
|
||||
"pageTeaser": "Preview image",
|
||||
"pageSpecial": "Special image",
|
||||
"pageText1": "Primary text",
|
||||
"pageText2": "Secondary text",
|
||||
"pageTextDetails": "Details text",
|
||||
"pageTextTeaser": "Preview text",
|
||||
"includes": "Included categories",
|
||||
"costCredits": "Credit price",
|
||||
"costPoints": "Points price",
|
||||
"pointsType": "Points currency",
|
||||
"title": "News title",
|
||||
"slug": "News address",
|
||||
"image": "News image",
|
||||
"shortStory": "Summary",
|
||||
"fullStory": "Article content",
|
||||
"status": "Publication status",
|
||||
"publishAt": "Scheduled publication",
|
||||
"publishedAt": "Publication date"
|
||||
}
|
||||
}
|
||||
},
|
||||
"wordfilter": {
|
||||
@@ -3200,7 +3280,17 @@
|
||||
"clearAssignment": "Clear assignment",
|
||||
"openOperation": "Open related area",
|
||||
"releaseOccurrences": "Occurrences by release",
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error."
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error.",
|
||||
"releaseFilter": "Version",
|
||||
"allReleases": "All versions",
|
||||
"period": "Period",
|
||||
"allRetained": "All retained events",
|
||||
"last24h": "Last 24 hours",
|
||||
"last7d": "Last 7 days",
|
||||
"sort": "Order",
|
||||
"recentFirst": "Most recent first",
|
||||
"frequentFirst": "Most frequent first",
|
||||
"filterScope": "Counts refer to matching retained events. Group status and latest details remain current across versions."
|
||||
},
|
||||
"installation": {
|
||||
"title": "Installation diagnostics",
|
||||
@@ -3240,7 +3330,11 @@
|
||||
"refreshHistory": "Refresh history",
|
||||
"showMoreItems": "Show 50 more items",
|
||||
"uncertainOutcome": "An interrupted item may already have changed local data. It is excluded from retries.",
|
||||
"reviewLocalData": "Review local data"
|
||||
"reviewLocalData": "Review local data",
|
||||
"ownerHistory": "Your imports and repairs, newest first. Retries never repeat completed or uncertain items.",
|
||||
"previousPage": "Previous",
|
||||
"nextPage": "Next",
|
||||
"page": "Page {page}"
|
||||
},
|
||||
"operations": {
|
||||
"title": "Needs attention",
|
||||
@@ -3325,6 +3419,49 @@
|
||||
"retry": "Retry",
|
||||
"description": "Search pages, users, furniture, catalog categories, articles and support tickets.",
|
||||
"partialError": "Some results could not be loaded. Try again."
|
||||
},
|
||||
"permissionPreview": {
|
||||
"title": "Role access preview",
|
||||
"description": "Inspect CMS access without changing a session or impersonating a user.",
|
||||
"back": "Back to permissions",
|
||||
"role": "Role",
|
||||
"show": "Show access",
|
||||
"missing": "Select an existing role.",
|
||||
"entryAllowed": "Housekeeping entry allowed",
|
||||
"entryDenied": "Housekeeping entry denied: dashboard permission missing",
|
||||
"superAdmin": "This rank currently receives the highest-rank override.",
|
||||
"scope": "This preview shows one role only. A user may receive additional roles. Navigation customization can hide allowed sections; specific records and actions can require further checks.",
|
||||
"sections": "Sections",
|
||||
"allowed": "Allowed",
|
||||
"denied": "Denied",
|
||||
"actions": "CMS permissions",
|
||||
"actionScope": "A granted permission alone does not bypass dashboard entry, rank hierarchy, record ownership or action-specific validation.",
|
||||
"granted": "Granted",
|
||||
"notGranted": "Not granted"
|
||||
},
|
||||
"operationsCenter": {
|
||||
"title": "Operations center",
|
||||
"hint": "Track your durable imports and repairs, and the shared catalog export queue.",
|
||||
"syncTitle": "Source synchronization",
|
||||
"syncHint": "Source synchronization shows live progress on its own page. It has no durable history or automatic retry of failed items here. Catalog export reports the shared queue and latest result; item-level retry is not supported.",
|
||||
"openSync": "Open synchronization and export",
|
||||
"openImports": "Open furniture imports"
|
||||
},
|
||||
"operationsExport": {
|
||||
"title": "Catalog repository export",
|
||||
"hint": "Automatic export of bundles, icons, gamedata, translations and catalog SQL. The queue and latest result are shared across operators.",
|
||||
"loadError": "Unable to load export status",
|
||||
"queueError": "Unable to queue export",
|
||||
"loading": "Loading…",
|
||||
"disabled": "Export is disabled. Open synchronization to review its configuration.",
|
||||
"active": "Waiting for {count} operation(s) to finish.",
|
||||
"running": "Export in progress…",
|
||||
"pending": "{count} update(s) queued for export.",
|
||||
"idle": "No pending updates.",
|
||||
"lastCommit": "Last published commit:",
|
||||
"lastAttempt": "Last attempt: {date}",
|
||||
"queuing": "Queuing…",
|
||||
"queue": "Export now / retry"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
+140
-3
@@ -915,7 +915,8 @@
|
||||
"guilds": "Guilds",
|
||||
"itemsBase": "Items base",
|
||||
"adminMenu": "Admin menu",
|
||||
"studio": "Studio"
|
||||
"studio": "Studio",
|
||||
"operationsCenter": "Operations center"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Панель управления",
|
||||
@@ -1596,6 +1597,40 @@
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
},
|
||||
"integrity": {
|
||||
"title": "Catalog integrity",
|
||||
"description": "Check references, category paths, identifiers and furniture icons. Scanning does not change records.",
|
||||
"catalog": "Catalog",
|
||||
"normal": "Normal catalog",
|
||||
"bc": "Builders Club",
|
||||
"refresh": "Scan again",
|
||||
"working": "Checking…",
|
||||
"failed": "The operation could not be completed. Try again.",
|
||||
"stalePreview": "The catalog changed after the preview. Create a new preview before applying repairs.",
|
||||
"applied": "{count} categories reattached to the catalog root.",
|
||||
"iconsUnavailable": "The icon folder could not be read. Icon availability has not been verified.",
|
||||
"healthy": "No issues found in the completed checks.",
|
||||
"total": "{count} issues found. Showing {shown}.",
|
||||
"open": "Open",
|
||||
"reference": "Reference: {value}",
|
||||
"repairHint": "Preview categories whose parent no longer exists. Applying moves only these categories to the root and preserves every record. Cycles, missing furniture, icons and identifier conflicts require individual review.",
|
||||
"preview": "Preview safe repairs",
|
||||
"planned": "{count} categories will be moved:",
|
||||
"parentChange": "parent #{from} → catalog root",
|
||||
"apply": "Apply previewed repairs",
|
||||
"legacyTitle": "Advanced maintenance actions",
|
||||
"legacyHint": "These existing maintenance tools can rewrite identifiers and merge or remove duplicate records. They are separate from the non-destructive integrity check and its previewed parent repair.",
|
||||
"issues": {
|
||||
"missing_furniture": "Offer references missing furniture",
|
||||
"invalid_item_ids": "Invalid furniture identifiers",
|
||||
"missing_page": "Offer references a missing category",
|
||||
"unreachable_page": "Unreachable category",
|
||||
"category_cycle": "Category path contains a cycle",
|
||||
"missing_icon": "Missing furniture icon",
|
||||
"invalid_offer_id": "Invalid offer identifier",
|
||||
"duplicate_offer_id": "Repeated offer identifier"
|
||||
}
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -2302,6 +2337,51 @@
|
||||
"colStatus": "Status",
|
||||
"statusUnknown": "unknown",
|
||||
"searchPlaceholder": "Search by username…"
|
||||
},
|
||||
"history": {
|
||||
"preview": "Preview restore",
|
||||
"title": "Restore a recorded edit",
|
||||
"description": "Compare current values with the previous values before confirming. Only category settings, offer prices or news content are restored. Deleted records and category hierarchy cannot be restored here.",
|
||||
"loading": "Loading…",
|
||||
"unavailable": "This revision is unavailable or you do not have permission to restore it.",
|
||||
"conflict": "This record changed after the selected edit. Refresh and review its latest history before restoring.",
|
||||
"failed": "The restore could not be completed. Please reload and try again.",
|
||||
"field": "Field",
|
||||
"current": "Current value",
|
||||
"restore": "Value to restore",
|
||||
"confirm": "Confirm restore",
|
||||
"restoring": "Restoring…",
|
||||
"fields": {
|
||||
"caption": "Category name",
|
||||
"captionSave": "Internal category name",
|
||||
"pageLayout": "Category layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"minRank": "Minimum rank",
|
||||
"iconImage": "Category icon",
|
||||
"iconColor": "Icon colour",
|
||||
"pageHeadline": "Header image",
|
||||
"pageTeaser": "Preview image",
|
||||
"pageSpecial": "Special image",
|
||||
"pageText1": "Primary text",
|
||||
"pageText2": "Secondary text",
|
||||
"pageTextDetails": "Details text",
|
||||
"pageTextTeaser": "Preview text",
|
||||
"includes": "Included categories",
|
||||
"costCredits": "Credit price",
|
||||
"costPoints": "Points price",
|
||||
"pointsType": "Points currency",
|
||||
"title": "News title",
|
||||
"slug": "News address",
|
||||
"image": "News image",
|
||||
"shortStory": "Summary",
|
||||
"fullStory": "Article content",
|
||||
"status": "Publication status",
|
||||
"publishAt": "Scheduled publication",
|
||||
"publishedAt": "Publication date"
|
||||
}
|
||||
}
|
||||
},
|
||||
"wordfilter": {
|
||||
@@ -3199,7 +3279,17 @@
|
||||
"clearAssignment": "Clear assignment",
|
||||
"openOperation": "Open related area",
|
||||
"releaseOccurrences": "Occurrences by release",
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error."
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error.",
|
||||
"releaseFilter": "Version",
|
||||
"allReleases": "All versions",
|
||||
"period": "Period",
|
||||
"allRetained": "All retained events",
|
||||
"last24h": "Last 24 hours",
|
||||
"last7d": "Last 7 days",
|
||||
"sort": "Order",
|
||||
"recentFirst": "Most recent first",
|
||||
"frequentFirst": "Most frequent first",
|
||||
"filterScope": "Counts refer to matching retained events. Group status and latest details remain current across versions."
|
||||
},
|
||||
"installation": {
|
||||
"title": "Installation diagnostics",
|
||||
@@ -3239,7 +3329,11 @@
|
||||
"refreshHistory": "Refresh history",
|
||||
"showMoreItems": "Show 50 more items",
|
||||
"uncertainOutcome": "An interrupted item may already have changed local data. It is excluded from retries.",
|
||||
"reviewLocalData": "Review local data"
|
||||
"reviewLocalData": "Review local data",
|
||||
"ownerHistory": "Your imports and repairs, newest first. Retries never repeat completed or uncertain items.",
|
||||
"previousPage": "Previous",
|
||||
"nextPage": "Next",
|
||||
"page": "Page {page}"
|
||||
},
|
||||
"operations": {
|
||||
"title": "Needs attention",
|
||||
@@ -3324,6 +3418,49 @@
|
||||
"retry": "Retry",
|
||||
"description": "Search pages, users, furniture, catalog categories, articles and support tickets.",
|
||||
"partialError": "Some results could not be loaded. Try again."
|
||||
},
|
||||
"permissionPreview": {
|
||||
"title": "Role access preview",
|
||||
"description": "Inspect CMS access without changing a session or impersonating a user.",
|
||||
"back": "Back to permissions",
|
||||
"role": "Role",
|
||||
"show": "Show access",
|
||||
"missing": "Select an existing role.",
|
||||
"entryAllowed": "Housekeeping entry allowed",
|
||||
"entryDenied": "Housekeeping entry denied: dashboard permission missing",
|
||||
"superAdmin": "This rank currently receives the highest-rank override.",
|
||||
"scope": "This preview shows one role only. A user may receive additional roles. Navigation customization can hide allowed sections; specific records and actions can require further checks.",
|
||||
"sections": "Sections",
|
||||
"allowed": "Allowed",
|
||||
"denied": "Denied",
|
||||
"actions": "CMS permissions",
|
||||
"actionScope": "A granted permission alone does not bypass dashboard entry, rank hierarchy, record ownership or action-specific validation.",
|
||||
"granted": "Granted",
|
||||
"notGranted": "Not granted"
|
||||
},
|
||||
"operationsCenter": {
|
||||
"title": "Operations center",
|
||||
"hint": "Track your durable imports and repairs, and the shared catalog export queue.",
|
||||
"syncTitle": "Source synchronization",
|
||||
"syncHint": "Source synchronization shows live progress on its own page. It has no durable history or automatic retry of failed items here. Catalog export reports the shared queue and latest result; item-level retry is not supported.",
|
||||
"openSync": "Open synchronization and export",
|
||||
"openImports": "Open furniture imports"
|
||||
},
|
||||
"operationsExport": {
|
||||
"title": "Catalog repository export",
|
||||
"hint": "Automatic export of bundles, icons, gamedata, translations and catalog SQL. The queue and latest result are shared across operators.",
|
||||
"loadError": "Unable to load export status",
|
||||
"queueError": "Unable to queue export",
|
||||
"loading": "Loading…",
|
||||
"disabled": "Export is disabled. Open synchronization to review its configuration.",
|
||||
"active": "Waiting for {count} operation(s) to finish.",
|
||||
"running": "Export in progress…",
|
||||
"pending": "{count} update(s) queued for export.",
|
||||
"idle": "No pending updates.",
|
||||
"lastCommit": "Last published commit:",
|
||||
"lastAttempt": "Last attempt: {date}",
|
||||
"queuing": "Queuing…",
|
||||
"queue": "Export now / retry"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
+140
-3
@@ -916,7 +916,8 @@
|
||||
"tools": "Tools",
|
||||
"guilds": "Guilds",
|
||||
"itemsBase": "Items base",
|
||||
"adminMenu": "Admin menu"
|
||||
"adminMenu": "Admin menu",
|
||||
"operationsCenter": "Operations center"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Dashboard",
|
||||
@@ -1597,6 +1598,40 @@
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
},
|
||||
"integrity": {
|
||||
"title": "Catalog integrity",
|
||||
"description": "Check references, category paths, identifiers and furniture icons. Scanning does not change records.",
|
||||
"catalog": "Catalog",
|
||||
"normal": "Normal catalog",
|
||||
"bc": "Builders Club",
|
||||
"refresh": "Scan again",
|
||||
"working": "Checking…",
|
||||
"failed": "The operation could not be completed. Try again.",
|
||||
"stalePreview": "The catalog changed after the preview. Create a new preview before applying repairs.",
|
||||
"applied": "{count} categories reattached to the catalog root.",
|
||||
"iconsUnavailable": "The icon folder could not be read. Icon availability has not been verified.",
|
||||
"healthy": "No issues found in the completed checks.",
|
||||
"total": "{count} issues found. Showing {shown}.",
|
||||
"open": "Open",
|
||||
"reference": "Reference: {value}",
|
||||
"repairHint": "Preview categories whose parent no longer exists. Applying moves only these categories to the root and preserves every record. Cycles, missing furniture, icons and identifier conflicts require individual review.",
|
||||
"preview": "Preview safe repairs",
|
||||
"planned": "{count} categories will be moved:",
|
||||
"parentChange": "parent #{from} → catalog root",
|
||||
"apply": "Apply previewed repairs",
|
||||
"legacyTitle": "Advanced maintenance actions",
|
||||
"legacyHint": "These existing maintenance tools can rewrite identifiers and merge or remove duplicate records. They are separate from the non-destructive integrity check and its previewed parent repair.",
|
||||
"issues": {
|
||||
"missing_furniture": "Offer references missing furniture",
|
||||
"invalid_item_ids": "Invalid furniture identifiers",
|
||||
"missing_page": "Offer references a missing category",
|
||||
"unreachable_page": "Unreachable category",
|
||||
"category_cycle": "Category path contains a cycle",
|
||||
"missing_icon": "Missing furniture icon",
|
||||
"invalid_offer_id": "Invalid offer identifier",
|
||||
"duplicate_offer_id": "Repeated offer identifier"
|
||||
}
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -2303,6 +2338,51 @@
|
||||
"colStatus": "Status",
|
||||
"statusUnknown": "unknown",
|
||||
"searchPlaceholder": "Search by username…"
|
||||
},
|
||||
"history": {
|
||||
"preview": "Preview restore",
|
||||
"title": "Restore a recorded edit",
|
||||
"description": "Compare current values with the previous values before confirming. Only category settings, offer prices or news content are restored. Deleted records and category hierarchy cannot be restored here.",
|
||||
"loading": "Loading…",
|
||||
"unavailable": "This revision is unavailable or you do not have permission to restore it.",
|
||||
"conflict": "This record changed after the selected edit. Refresh and review its latest history before restoring.",
|
||||
"failed": "The restore could not be completed. Please reload and try again.",
|
||||
"field": "Field",
|
||||
"current": "Current value",
|
||||
"restore": "Value to restore",
|
||||
"confirm": "Confirm restore",
|
||||
"restoring": "Restoring…",
|
||||
"fields": {
|
||||
"caption": "Category name",
|
||||
"captionSave": "Internal category name",
|
||||
"pageLayout": "Category layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"minRank": "Minimum rank",
|
||||
"iconImage": "Category icon",
|
||||
"iconColor": "Icon colour",
|
||||
"pageHeadline": "Header image",
|
||||
"pageTeaser": "Preview image",
|
||||
"pageSpecial": "Special image",
|
||||
"pageText1": "Primary text",
|
||||
"pageText2": "Secondary text",
|
||||
"pageTextDetails": "Details text",
|
||||
"pageTextTeaser": "Preview text",
|
||||
"includes": "Included categories",
|
||||
"costCredits": "Credit price",
|
||||
"costPoints": "Points price",
|
||||
"pointsType": "Points currency",
|
||||
"title": "News title",
|
||||
"slug": "News address",
|
||||
"image": "News image",
|
||||
"shortStory": "Summary",
|
||||
"fullStory": "Article content",
|
||||
"status": "Publication status",
|
||||
"publishAt": "Scheduled publication",
|
||||
"publishedAt": "Publication date"
|
||||
}
|
||||
}
|
||||
},
|
||||
"wordfilter": {
|
||||
@@ -3200,7 +3280,17 @@
|
||||
"clearAssignment": "Clear assignment",
|
||||
"openOperation": "Open related area",
|
||||
"releaseOccurrences": "Occurrences by release",
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error."
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error.",
|
||||
"releaseFilter": "Version",
|
||||
"allReleases": "All versions",
|
||||
"period": "Period",
|
||||
"allRetained": "All retained events",
|
||||
"last24h": "Last 24 hours",
|
||||
"last7d": "Last 7 days",
|
||||
"sort": "Order",
|
||||
"recentFirst": "Most recent first",
|
||||
"frequentFirst": "Most frequent first",
|
||||
"filterScope": "Counts refer to matching retained events. Group status and latest details remain current across versions."
|
||||
},
|
||||
"installation": {
|
||||
"title": "Installation diagnostics",
|
||||
@@ -3240,7 +3330,11 @@
|
||||
"refreshHistory": "Refresh history",
|
||||
"showMoreItems": "Show 50 more items",
|
||||
"uncertainOutcome": "An interrupted item may already have changed local data. It is excluded from retries.",
|
||||
"reviewLocalData": "Review local data"
|
||||
"reviewLocalData": "Review local data",
|
||||
"ownerHistory": "Your imports and repairs, newest first. Retries never repeat completed or uncertain items.",
|
||||
"previousPage": "Previous",
|
||||
"nextPage": "Next",
|
||||
"page": "Page {page}"
|
||||
},
|
||||
"operations": {
|
||||
"title": "Needs attention",
|
||||
@@ -3325,6 +3419,49 @@
|
||||
"retry": "Retry",
|
||||
"description": "Search pages, users, furniture, catalog categories, articles and support tickets.",
|
||||
"partialError": "Some results could not be loaded. Try again."
|
||||
},
|
||||
"permissionPreview": {
|
||||
"title": "Role access preview",
|
||||
"description": "Inspect CMS access without changing a session or impersonating a user.",
|
||||
"back": "Back to permissions",
|
||||
"role": "Role",
|
||||
"show": "Show access",
|
||||
"missing": "Select an existing role.",
|
||||
"entryAllowed": "Housekeeping entry allowed",
|
||||
"entryDenied": "Housekeeping entry denied: dashboard permission missing",
|
||||
"superAdmin": "This rank currently receives the highest-rank override.",
|
||||
"scope": "This preview shows one role only. A user may receive additional roles. Navigation customization can hide allowed sections; specific records and actions can require further checks.",
|
||||
"sections": "Sections",
|
||||
"allowed": "Allowed",
|
||||
"denied": "Denied",
|
||||
"actions": "CMS permissions",
|
||||
"actionScope": "A granted permission alone does not bypass dashboard entry, rank hierarchy, record ownership or action-specific validation.",
|
||||
"granted": "Granted",
|
||||
"notGranted": "Not granted"
|
||||
},
|
||||
"operationsCenter": {
|
||||
"title": "Operations center",
|
||||
"hint": "Track your durable imports and repairs, and the shared catalog export queue.",
|
||||
"syncTitle": "Source synchronization",
|
||||
"syncHint": "Source synchronization shows live progress on its own page. It has no durable history or automatic retry of failed items here. Catalog export reports the shared queue and latest result; item-level retry is not supported.",
|
||||
"openSync": "Open synchronization and export",
|
||||
"openImports": "Open furniture imports"
|
||||
},
|
||||
"operationsExport": {
|
||||
"title": "Catalog repository export",
|
||||
"hint": "Automatic export of bundles, icons, gamedata, translations and catalog SQL. The queue and latest result are shared across operators.",
|
||||
"loadError": "Unable to load export status",
|
||||
"queueError": "Unable to queue export",
|
||||
"loading": "Loading…",
|
||||
"disabled": "Export is disabled. Open synchronization to review its configuration.",
|
||||
"active": "Waiting for {count} operation(s) to finish.",
|
||||
"running": "Export in progress…",
|
||||
"pending": "{count} update(s) queued for export.",
|
||||
"idle": "No pending updates.",
|
||||
"lastCommit": "Last published commit:",
|
||||
"lastAttempt": "Last attempt: {date}",
|
||||
"queuing": "Queuing…",
|
||||
"queue": "Export now / retry"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
+140
-3
@@ -916,7 +916,8 @@
|
||||
"tools": "Tools",
|
||||
"guilds": "Guilds",
|
||||
"itemsBase": "Items base",
|
||||
"adminMenu": "Admin menu"
|
||||
"adminMenu": "Admin menu",
|
||||
"operationsCenter": "Operations center"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Дасхбоард",
|
||||
@@ -1597,6 +1598,40 @@
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
},
|
||||
"integrity": {
|
||||
"title": "Catalog integrity",
|
||||
"description": "Check references, category paths, identifiers and furniture icons. Scanning does not change records.",
|
||||
"catalog": "Catalog",
|
||||
"normal": "Normal catalog",
|
||||
"bc": "Builders Club",
|
||||
"refresh": "Scan again",
|
||||
"working": "Checking…",
|
||||
"failed": "The operation could not be completed. Try again.",
|
||||
"stalePreview": "The catalog changed after the preview. Create a new preview before applying repairs.",
|
||||
"applied": "{count} categories reattached to the catalog root.",
|
||||
"iconsUnavailable": "The icon folder could not be read. Icon availability has not been verified.",
|
||||
"healthy": "No issues found in the completed checks.",
|
||||
"total": "{count} issues found. Showing {shown}.",
|
||||
"open": "Open",
|
||||
"reference": "Reference: {value}",
|
||||
"repairHint": "Preview categories whose parent no longer exists. Applying moves only these categories to the root and preserves every record. Cycles, missing furniture, icons and identifier conflicts require individual review.",
|
||||
"preview": "Preview safe repairs",
|
||||
"planned": "{count} categories will be moved:",
|
||||
"parentChange": "parent #{from} → catalog root",
|
||||
"apply": "Apply previewed repairs",
|
||||
"legacyTitle": "Advanced maintenance actions",
|
||||
"legacyHint": "These existing maintenance tools can rewrite identifiers and merge or remove duplicate records. They are separate from the non-destructive integrity check and its previewed parent repair.",
|
||||
"issues": {
|
||||
"missing_furniture": "Offer references missing furniture",
|
||||
"invalid_item_ids": "Invalid furniture identifiers",
|
||||
"missing_page": "Offer references a missing category",
|
||||
"unreachable_page": "Unreachable category",
|
||||
"category_cycle": "Category path contains a cycle",
|
||||
"missing_icon": "Missing furniture icon",
|
||||
"invalid_offer_id": "Invalid offer identifier",
|
||||
"duplicate_offer_id": "Repeated offer identifier"
|
||||
}
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -2303,6 +2338,51 @@
|
||||
"colStatus": "Status",
|
||||
"statusUnknown": "unknown",
|
||||
"searchPlaceholder": "Search by username…"
|
||||
},
|
||||
"history": {
|
||||
"preview": "Preview restore",
|
||||
"title": "Restore a recorded edit",
|
||||
"description": "Compare current values with the previous values before confirming. Only category settings, offer prices or news content are restored. Deleted records and category hierarchy cannot be restored here.",
|
||||
"loading": "Loading…",
|
||||
"unavailable": "This revision is unavailable or you do not have permission to restore it.",
|
||||
"conflict": "This record changed after the selected edit. Refresh and review its latest history before restoring.",
|
||||
"failed": "The restore could not be completed. Please reload and try again.",
|
||||
"field": "Field",
|
||||
"current": "Current value",
|
||||
"restore": "Value to restore",
|
||||
"confirm": "Confirm restore",
|
||||
"restoring": "Restoring…",
|
||||
"fields": {
|
||||
"caption": "Category name",
|
||||
"captionSave": "Internal category name",
|
||||
"pageLayout": "Category layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"minRank": "Minimum rank",
|
||||
"iconImage": "Category icon",
|
||||
"iconColor": "Icon colour",
|
||||
"pageHeadline": "Header image",
|
||||
"pageTeaser": "Preview image",
|
||||
"pageSpecial": "Special image",
|
||||
"pageText1": "Primary text",
|
||||
"pageText2": "Secondary text",
|
||||
"pageTextDetails": "Details text",
|
||||
"pageTextTeaser": "Preview text",
|
||||
"includes": "Included categories",
|
||||
"costCredits": "Credit price",
|
||||
"costPoints": "Points price",
|
||||
"pointsType": "Points currency",
|
||||
"title": "News title",
|
||||
"slug": "News address",
|
||||
"image": "News image",
|
||||
"shortStory": "Summary",
|
||||
"fullStory": "Article content",
|
||||
"status": "Publication status",
|
||||
"publishAt": "Scheduled publication",
|
||||
"publishedAt": "Publication date"
|
||||
}
|
||||
}
|
||||
},
|
||||
"wordfilter": {
|
||||
@@ -3200,7 +3280,17 @@
|
||||
"clearAssignment": "Clear assignment",
|
||||
"openOperation": "Open related area",
|
||||
"releaseOccurrences": "Occurrences by release",
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error."
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error.",
|
||||
"releaseFilter": "Version",
|
||||
"allReleases": "All versions",
|
||||
"period": "Period",
|
||||
"allRetained": "All retained events",
|
||||
"last24h": "Last 24 hours",
|
||||
"last7d": "Last 7 days",
|
||||
"sort": "Order",
|
||||
"recentFirst": "Most recent first",
|
||||
"frequentFirst": "Most frequent first",
|
||||
"filterScope": "Counts refer to matching retained events. Group status and latest details remain current across versions."
|
||||
},
|
||||
"installation": {
|
||||
"title": "Installation diagnostics",
|
||||
@@ -3240,7 +3330,11 @@
|
||||
"refreshHistory": "Refresh history",
|
||||
"showMoreItems": "Show 50 more items",
|
||||
"uncertainOutcome": "An interrupted item may already have changed local data. It is excluded from retries.",
|
||||
"reviewLocalData": "Review local data"
|
||||
"reviewLocalData": "Review local data",
|
||||
"ownerHistory": "Your imports and repairs, newest first. Retries never repeat completed or uncertain items.",
|
||||
"previousPage": "Previous",
|
||||
"nextPage": "Next",
|
||||
"page": "Page {page}"
|
||||
},
|
||||
"operations": {
|
||||
"title": "Needs attention",
|
||||
@@ -3325,6 +3419,49 @@
|
||||
"retry": "Retry",
|
||||
"description": "Search pages, users, furniture, catalog categories, articles and support tickets.",
|
||||
"partialError": "Some results could not be loaded. Try again."
|
||||
},
|
||||
"permissionPreview": {
|
||||
"title": "Role access preview",
|
||||
"description": "Inspect CMS access without changing a session or impersonating a user.",
|
||||
"back": "Back to permissions",
|
||||
"role": "Role",
|
||||
"show": "Show access",
|
||||
"missing": "Select an existing role.",
|
||||
"entryAllowed": "Housekeeping entry allowed",
|
||||
"entryDenied": "Housekeeping entry denied: dashboard permission missing",
|
||||
"superAdmin": "This rank currently receives the highest-rank override.",
|
||||
"scope": "This preview shows one role only. A user may receive additional roles. Navigation customization can hide allowed sections; specific records and actions can require further checks.",
|
||||
"sections": "Sections",
|
||||
"allowed": "Allowed",
|
||||
"denied": "Denied",
|
||||
"actions": "CMS permissions",
|
||||
"actionScope": "A granted permission alone does not bypass dashboard entry, rank hierarchy, record ownership or action-specific validation.",
|
||||
"granted": "Granted",
|
||||
"notGranted": "Not granted"
|
||||
},
|
||||
"operationsCenter": {
|
||||
"title": "Operations center",
|
||||
"hint": "Track your durable imports and repairs, and the shared catalog export queue.",
|
||||
"syncTitle": "Source synchronization",
|
||||
"syncHint": "Source synchronization shows live progress on its own page. It has no durable history or automatic retry of failed items here. Catalog export reports the shared queue and latest result; item-level retry is not supported.",
|
||||
"openSync": "Open synchronization and export",
|
||||
"openImports": "Open furniture imports"
|
||||
},
|
||||
"operationsExport": {
|
||||
"title": "Catalog repository export",
|
||||
"hint": "Automatic export of bundles, icons, gamedata, translations and catalog SQL. The queue and latest result are shared across operators.",
|
||||
"loadError": "Unable to load export status",
|
||||
"queueError": "Unable to queue export",
|
||||
"loading": "Loading…",
|
||||
"disabled": "Export is disabled. Open synchronization to review its configuration.",
|
||||
"active": "Waiting for {count} operation(s) to finish.",
|
||||
"running": "Export in progress…",
|
||||
"pending": "{count} update(s) queued for export.",
|
||||
"idle": "No pending updates.",
|
||||
"lastCommit": "Last published commit:",
|
||||
"lastAttempt": "Last attempt: {date}",
|
||||
"queuing": "Queuing…",
|
||||
"queue": "Export now / retry"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
+140
-3
@@ -916,7 +916,8 @@
|
||||
"tools": "Tools",
|
||||
"guilds": "Guilds",
|
||||
"itemsBase": "Items base",
|
||||
"adminMenu": "Admin menu"
|
||||
"adminMenu": "Admin menu",
|
||||
"operationsCenter": "Operations center"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Instrumentbräda",
|
||||
@@ -1597,6 +1598,40 @@
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
},
|
||||
"integrity": {
|
||||
"title": "Catalog integrity",
|
||||
"description": "Check references, category paths, identifiers and furniture icons. Scanning does not change records.",
|
||||
"catalog": "Catalog",
|
||||
"normal": "Normal catalog",
|
||||
"bc": "Builders Club",
|
||||
"refresh": "Scan again",
|
||||
"working": "Checking…",
|
||||
"failed": "The operation could not be completed. Try again.",
|
||||
"stalePreview": "The catalog changed after the preview. Create a new preview before applying repairs.",
|
||||
"applied": "{count} categories reattached to the catalog root.",
|
||||
"iconsUnavailable": "The icon folder could not be read. Icon availability has not been verified.",
|
||||
"healthy": "No issues found in the completed checks.",
|
||||
"total": "{count} issues found. Showing {shown}.",
|
||||
"open": "Open",
|
||||
"reference": "Reference: {value}",
|
||||
"repairHint": "Preview categories whose parent no longer exists. Applying moves only these categories to the root and preserves every record. Cycles, missing furniture, icons and identifier conflicts require individual review.",
|
||||
"preview": "Preview safe repairs",
|
||||
"planned": "{count} categories will be moved:",
|
||||
"parentChange": "parent #{from} → catalog root",
|
||||
"apply": "Apply previewed repairs",
|
||||
"legacyTitle": "Advanced maintenance actions",
|
||||
"legacyHint": "These existing maintenance tools can rewrite identifiers and merge or remove duplicate records. They are separate from the non-destructive integrity check and its previewed parent repair.",
|
||||
"issues": {
|
||||
"missing_furniture": "Offer references missing furniture",
|
||||
"invalid_item_ids": "Invalid furniture identifiers",
|
||||
"missing_page": "Offer references a missing category",
|
||||
"unreachable_page": "Unreachable category",
|
||||
"category_cycle": "Category path contains a cycle",
|
||||
"missing_icon": "Missing furniture icon",
|
||||
"invalid_offer_id": "Invalid offer identifier",
|
||||
"duplicate_offer_id": "Repeated offer identifier"
|
||||
}
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -2303,6 +2338,51 @@
|
||||
"colStatus": "Status",
|
||||
"statusUnknown": "unknown",
|
||||
"searchPlaceholder": "Search by username…"
|
||||
},
|
||||
"history": {
|
||||
"preview": "Preview restore",
|
||||
"title": "Restore a recorded edit",
|
||||
"description": "Compare current values with the previous values before confirming. Only category settings, offer prices or news content are restored. Deleted records and category hierarchy cannot be restored here.",
|
||||
"loading": "Loading…",
|
||||
"unavailable": "This revision is unavailable or you do not have permission to restore it.",
|
||||
"conflict": "This record changed after the selected edit. Refresh and review its latest history before restoring.",
|
||||
"failed": "The restore could not be completed. Please reload and try again.",
|
||||
"field": "Field",
|
||||
"current": "Current value",
|
||||
"restore": "Value to restore",
|
||||
"confirm": "Confirm restore",
|
||||
"restoring": "Restoring…",
|
||||
"fields": {
|
||||
"caption": "Category name",
|
||||
"captionSave": "Internal category name",
|
||||
"pageLayout": "Category layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"minRank": "Minimum rank",
|
||||
"iconImage": "Category icon",
|
||||
"iconColor": "Icon colour",
|
||||
"pageHeadline": "Header image",
|
||||
"pageTeaser": "Preview image",
|
||||
"pageSpecial": "Special image",
|
||||
"pageText1": "Primary text",
|
||||
"pageText2": "Secondary text",
|
||||
"pageTextDetails": "Details text",
|
||||
"pageTextTeaser": "Preview text",
|
||||
"includes": "Included categories",
|
||||
"costCredits": "Credit price",
|
||||
"costPoints": "Points price",
|
||||
"pointsType": "Points currency",
|
||||
"title": "News title",
|
||||
"slug": "News address",
|
||||
"image": "News image",
|
||||
"shortStory": "Summary",
|
||||
"fullStory": "Article content",
|
||||
"status": "Publication status",
|
||||
"publishAt": "Scheduled publication",
|
||||
"publishedAt": "Publication date"
|
||||
}
|
||||
}
|
||||
},
|
||||
"wordfilter": {
|
||||
@@ -3200,7 +3280,17 @@
|
||||
"clearAssignment": "Clear assignment",
|
||||
"openOperation": "Open related area",
|
||||
"releaseOccurrences": "Occurrences by release",
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error."
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error.",
|
||||
"releaseFilter": "Version",
|
||||
"allReleases": "All versions",
|
||||
"period": "Period",
|
||||
"allRetained": "All retained events",
|
||||
"last24h": "Last 24 hours",
|
||||
"last7d": "Last 7 days",
|
||||
"sort": "Order",
|
||||
"recentFirst": "Most recent first",
|
||||
"frequentFirst": "Most frequent first",
|
||||
"filterScope": "Counts refer to matching retained events. Group status and latest details remain current across versions."
|
||||
},
|
||||
"installation": {
|
||||
"title": "Installation diagnostics",
|
||||
@@ -3240,7 +3330,11 @@
|
||||
"refreshHistory": "Refresh history",
|
||||
"showMoreItems": "Show 50 more items",
|
||||
"uncertainOutcome": "An interrupted item may already have changed local data. It is excluded from retries.",
|
||||
"reviewLocalData": "Review local data"
|
||||
"reviewLocalData": "Review local data",
|
||||
"ownerHistory": "Your imports and repairs, newest first. Retries never repeat completed or uncertain items.",
|
||||
"previousPage": "Previous",
|
||||
"nextPage": "Next",
|
||||
"page": "Page {page}"
|
||||
},
|
||||
"operations": {
|
||||
"title": "Needs attention",
|
||||
@@ -3325,6 +3419,49 @@
|
||||
"retry": "Retry",
|
||||
"description": "Search pages, users, furniture, catalog categories, articles and support tickets.",
|
||||
"partialError": "Some results could not be loaded. Try again."
|
||||
},
|
||||
"permissionPreview": {
|
||||
"title": "Role access preview",
|
||||
"description": "Inspect CMS access without changing a session or impersonating a user.",
|
||||
"back": "Back to permissions",
|
||||
"role": "Role",
|
||||
"show": "Show access",
|
||||
"missing": "Select an existing role.",
|
||||
"entryAllowed": "Housekeeping entry allowed",
|
||||
"entryDenied": "Housekeeping entry denied: dashboard permission missing",
|
||||
"superAdmin": "This rank currently receives the highest-rank override.",
|
||||
"scope": "This preview shows one role only. A user may receive additional roles. Navigation customization can hide allowed sections; specific records and actions can require further checks.",
|
||||
"sections": "Sections",
|
||||
"allowed": "Allowed",
|
||||
"denied": "Denied",
|
||||
"actions": "CMS permissions",
|
||||
"actionScope": "A granted permission alone does not bypass dashboard entry, rank hierarchy, record ownership or action-specific validation.",
|
||||
"granted": "Granted",
|
||||
"notGranted": "Not granted"
|
||||
},
|
||||
"operationsCenter": {
|
||||
"title": "Operations center",
|
||||
"hint": "Track your durable imports and repairs, and the shared catalog export queue.",
|
||||
"syncTitle": "Source synchronization",
|
||||
"syncHint": "Source synchronization shows live progress on its own page. It has no durable history or automatic retry of failed items here. Catalog export reports the shared queue and latest result; item-level retry is not supported.",
|
||||
"openSync": "Open synchronization and export",
|
||||
"openImports": "Open furniture imports"
|
||||
},
|
||||
"operationsExport": {
|
||||
"title": "Catalog repository export",
|
||||
"hint": "Automatic export of bundles, icons, gamedata, translations and catalog SQL. The queue and latest result are shared across operators.",
|
||||
"loadError": "Unable to load export status",
|
||||
"queueError": "Unable to queue export",
|
||||
"loading": "Loading…",
|
||||
"disabled": "Export is disabled. Open synchronization to review its configuration.",
|
||||
"active": "Waiting for {count} operation(s) to finish.",
|
||||
"running": "Export in progress…",
|
||||
"pending": "{count} update(s) queued for export.",
|
||||
"idle": "No pending updates.",
|
||||
"lastCommit": "Last published commit:",
|
||||
"lastAttempt": "Last attempt: {date}",
|
||||
"queuing": "Queuing…",
|
||||
"queue": "Export now / retry"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
+140
-3
@@ -917,7 +917,8 @@
|
||||
"guilds": "Guilds",
|
||||
"itemsBase": "Items base",
|
||||
"adminMenu": "Admin menu",
|
||||
"studio": "Studio"
|
||||
"studio": "Studio",
|
||||
"operationsCenter": "Operations center"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Kontrol Paneli",
|
||||
@@ -1598,6 +1599,40 @@
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
},
|
||||
"integrity": {
|
||||
"title": "Catalog integrity",
|
||||
"description": "Check references, category paths, identifiers and furniture icons. Scanning does not change records.",
|
||||
"catalog": "Catalog",
|
||||
"normal": "Normal catalog",
|
||||
"bc": "Builders Club",
|
||||
"refresh": "Scan again",
|
||||
"working": "Checking…",
|
||||
"failed": "The operation could not be completed. Try again.",
|
||||
"stalePreview": "The catalog changed after the preview. Create a new preview before applying repairs.",
|
||||
"applied": "{count} categories reattached to the catalog root.",
|
||||
"iconsUnavailable": "The icon folder could not be read. Icon availability has not been verified.",
|
||||
"healthy": "No issues found in the completed checks.",
|
||||
"total": "{count} issues found. Showing {shown}.",
|
||||
"open": "Open",
|
||||
"reference": "Reference: {value}",
|
||||
"repairHint": "Preview categories whose parent no longer exists. Applying moves only these categories to the root and preserves every record. Cycles, missing furniture, icons and identifier conflicts require individual review.",
|
||||
"preview": "Preview safe repairs",
|
||||
"planned": "{count} categories will be moved:",
|
||||
"parentChange": "parent #{from} → catalog root",
|
||||
"apply": "Apply previewed repairs",
|
||||
"legacyTitle": "Advanced maintenance actions",
|
||||
"legacyHint": "These existing maintenance tools can rewrite identifiers and merge or remove duplicate records. They are separate from the non-destructive integrity check and its previewed parent repair.",
|
||||
"issues": {
|
||||
"missing_furniture": "Offer references missing furniture",
|
||||
"invalid_item_ids": "Invalid furniture identifiers",
|
||||
"missing_page": "Offer references a missing category",
|
||||
"unreachable_page": "Unreachable category",
|
||||
"category_cycle": "Category path contains a cycle",
|
||||
"missing_icon": "Missing furniture icon",
|
||||
"invalid_offer_id": "Invalid offer identifier",
|
||||
"duplicate_offer_id": "Repeated offer identifier"
|
||||
}
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -2304,6 +2339,51 @@
|
||||
"colStatus": "Status",
|
||||
"statusUnknown": "unknown",
|
||||
"searchPlaceholder": "Search by username…"
|
||||
},
|
||||
"history": {
|
||||
"preview": "Preview restore",
|
||||
"title": "Restore a recorded edit",
|
||||
"description": "Compare current values with the previous values before confirming. Only category settings, offer prices or news content are restored. Deleted records and category hierarchy cannot be restored here.",
|
||||
"loading": "Loading…",
|
||||
"unavailable": "This revision is unavailable or you do not have permission to restore it.",
|
||||
"conflict": "This record changed after the selected edit. Refresh and review its latest history before restoring.",
|
||||
"failed": "The restore could not be completed. Please reload and try again.",
|
||||
"field": "Field",
|
||||
"current": "Current value",
|
||||
"restore": "Value to restore",
|
||||
"confirm": "Confirm restore",
|
||||
"restoring": "Restoring…",
|
||||
"fields": {
|
||||
"caption": "Category name",
|
||||
"captionSave": "Internal category name",
|
||||
"pageLayout": "Category layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"minRank": "Minimum rank",
|
||||
"iconImage": "Category icon",
|
||||
"iconColor": "Icon colour",
|
||||
"pageHeadline": "Header image",
|
||||
"pageTeaser": "Preview image",
|
||||
"pageSpecial": "Special image",
|
||||
"pageText1": "Primary text",
|
||||
"pageText2": "Secondary text",
|
||||
"pageTextDetails": "Details text",
|
||||
"pageTextTeaser": "Preview text",
|
||||
"includes": "Included categories",
|
||||
"costCredits": "Credit price",
|
||||
"costPoints": "Points price",
|
||||
"pointsType": "Points currency",
|
||||
"title": "News title",
|
||||
"slug": "News address",
|
||||
"image": "News image",
|
||||
"shortStory": "Summary",
|
||||
"fullStory": "Article content",
|
||||
"status": "Publication status",
|
||||
"publishAt": "Scheduled publication",
|
||||
"publishedAt": "Publication date"
|
||||
}
|
||||
}
|
||||
},
|
||||
"wordfilter": {
|
||||
@@ -3201,7 +3281,17 @@
|
||||
"clearAssignment": "Clear assignment",
|
||||
"openOperation": "Open related area",
|
||||
"releaseOccurrences": "Occurrences by release",
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error."
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error.",
|
||||
"releaseFilter": "Version",
|
||||
"allReleases": "All versions",
|
||||
"period": "Period",
|
||||
"allRetained": "All retained events",
|
||||
"last24h": "Last 24 hours",
|
||||
"last7d": "Last 7 days",
|
||||
"sort": "Order",
|
||||
"recentFirst": "Most recent first",
|
||||
"frequentFirst": "Most frequent first",
|
||||
"filterScope": "Counts refer to matching retained events. Group status and latest details remain current across versions."
|
||||
},
|
||||
"installation": {
|
||||
"title": "Installation diagnostics",
|
||||
@@ -3241,7 +3331,11 @@
|
||||
"refreshHistory": "Refresh history",
|
||||
"showMoreItems": "Show 50 more items",
|
||||
"uncertainOutcome": "An interrupted item may already have changed local data. It is excluded from retries.",
|
||||
"reviewLocalData": "Review local data"
|
||||
"reviewLocalData": "Review local data",
|
||||
"ownerHistory": "Your imports and repairs, newest first. Retries never repeat completed or uncertain items.",
|
||||
"previousPage": "Previous",
|
||||
"nextPage": "Next",
|
||||
"page": "Page {page}"
|
||||
},
|
||||
"operations": {
|
||||
"title": "Needs attention",
|
||||
@@ -3326,6 +3420,49 @@
|
||||
"retry": "Retry",
|
||||
"description": "Search pages, users, furniture, catalog categories, articles and support tickets.",
|
||||
"partialError": "Some results could not be loaded. Try again."
|
||||
},
|
||||
"permissionPreview": {
|
||||
"title": "Role access preview",
|
||||
"description": "Inspect CMS access without changing a session or impersonating a user.",
|
||||
"back": "Back to permissions",
|
||||
"role": "Role",
|
||||
"show": "Show access",
|
||||
"missing": "Select an existing role.",
|
||||
"entryAllowed": "Housekeeping entry allowed",
|
||||
"entryDenied": "Housekeeping entry denied: dashboard permission missing",
|
||||
"superAdmin": "This rank currently receives the highest-rank override.",
|
||||
"scope": "This preview shows one role only. A user may receive additional roles. Navigation customization can hide allowed sections; specific records and actions can require further checks.",
|
||||
"sections": "Sections",
|
||||
"allowed": "Allowed",
|
||||
"denied": "Denied",
|
||||
"actions": "CMS permissions",
|
||||
"actionScope": "A granted permission alone does not bypass dashboard entry, rank hierarchy, record ownership or action-specific validation.",
|
||||
"granted": "Granted",
|
||||
"notGranted": "Not granted"
|
||||
},
|
||||
"operationsCenter": {
|
||||
"title": "Operations center",
|
||||
"hint": "Track your durable imports and repairs, and the shared catalog export queue.",
|
||||
"syncTitle": "Source synchronization",
|
||||
"syncHint": "Source synchronization shows live progress on its own page. It has no durable history or automatic retry of failed items here. Catalog export reports the shared queue and latest result; item-level retry is not supported.",
|
||||
"openSync": "Open synchronization and export",
|
||||
"openImports": "Open furniture imports"
|
||||
},
|
||||
"operationsExport": {
|
||||
"title": "Catalog repository export",
|
||||
"hint": "Automatic export of bundles, icons, gamedata, translations and catalog SQL. The queue and latest result are shared across operators.",
|
||||
"loadError": "Unable to load export status",
|
||||
"queueError": "Unable to queue export",
|
||||
"loading": "Loading…",
|
||||
"disabled": "Export is disabled. Open synchronization to review its configuration.",
|
||||
"active": "Waiting for {count} operation(s) to finish.",
|
||||
"running": "Export in progress…",
|
||||
"pending": "{count} update(s) queued for export.",
|
||||
"idle": "No pending updates.",
|
||||
"lastCommit": "Last published commit:",
|
||||
"lastAttempt": "Last attempt: {date}",
|
||||
"queuing": "Queuing…",
|
||||
"queue": "Export now / retry"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
+140
-3
@@ -916,7 +916,8 @@
|
||||
"tools": "Tools",
|
||||
"guilds": "Guilds",
|
||||
"itemsBase": "Items base",
|
||||
"adminMenu": "Admin menu"
|
||||
"adminMenu": "Admin menu",
|
||||
"operationsCenter": "Operations center"
|
||||
},
|
||||
"dashboard": {
|
||||
"title": "Приладова панель",
|
||||
@@ -1597,6 +1598,40 @@
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
},
|
||||
"integrity": {
|
||||
"title": "Catalog integrity",
|
||||
"description": "Check references, category paths, identifiers and furniture icons. Scanning does not change records.",
|
||||
"catalog": "Catalog",
|
||||
"normal": "Normal catalog",
|
||||
"bc": "Builders Club",
|
||||
"refresh": "Scan again",
|
||||
"working": "Checking…",
|
||||
"failed": "The operation could not be completed. Try again.",
|
||||
"stalePreview": "The catalog changed after the preview. Create a new preview before applying repairs.",
|
||||
"applied": "{count} categories reattached to the catalog root.",
|
||||
"iconsUnavailable": "The icon folder could not be read. Icon availability has not been verified.",
|
||||
"healthy": "No issues found in the completed checks.",
|
||||
"total": "{count} issues found. Showing {shown}.",
|
||||
"open": "Open",
|
||||
"reference": "Reference: {value}",
|
||||
"repairHint": "Preview categories whose parent no longer exists. Applying moves only these categories to the root and preserves every record. Cycles, missing furniture, icons and identifier conflicts require individual review.",
|
||||
"preview": "Preview safe repairs",
|
||||
"planned": "{count} categories will be moved:",
|
||||
"parentChange": "parent #{from} → catalog root",
|
||||
"apply": "Apply previewed repairs",
|
||||
"legacyTitle": "Advanced maintenance actions",
|
||||
"legacyHint": "These existing maintenance tools can rewrite identifiers and merge or remove duplicate records. They are separate from the non-destructive integrity check and its previewed parent repair.",
|
||||
"issues": {
|
||||
"missing_furniture": "Offer references missing furniture",
|
||||
"invalid_item_ids": "Invalid furniture identifiers",
|
||||
"missing_page": "Offer references a missing category",
|
||||
"unreachable_page": "Unreachable category",
|
||||
"category_cycle": "Category path contains a cycle",
|
||||
"missing_icon": "Missing furniture icon",
|
||||
"invalid_offer_id": "Invalid offer identifier",
|
||||
"duplicate_offer_id": "Repeated offer identifier"
|
||||
}
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -2303,6 +2338,51 @@
|
||||
"colStatus": "Status",
|
||||
"statusUnknown": "unknown",
|
||||
"searchPlaceholder": "Search by username…"
|
||||
},
|
||||
"history": {
|
||||
"preview": "Preview restore",
|
||||
"title": "Restore a recorded edit",
|
||||
"description": "Compare current values with the previous values before confirming. Only category settings, offer prices or news content are restored. Deleted records and category hierarchy cannot be restored here.",
|
||||
"loading": "Loading…",
|
||||
"unavailable": "This revision is unavailable or you do not have permission to restore it.",
|
||||
"conflict": "This record changed after the selected edit. Refresh and review its latest history before restoring.",
|
||||
"failed": "The restore could not be completed. Please reload and try again.",
|
||||
"field": "Field",
|
||||
"current": "Current value",
|
||||
"restore": "Value to restore",
|
||||
"confirm": "Confirm restore",
|
||||
"restoring": "Restoring…",
|
||||
"fields": {
|
||||
"caption": "Category name",
|
||||
"captionSave": "Internal category name",
|
||||
"pageLayout": "Category layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"minRank": "Minimum rank",
|
||||
"iconImage": "Category icon",
|
||||
"iconColor": "Icon colour",
|
||||
"pageHeadline": "Header image",
|
||||
"pageTeaser": "Preview image",
|
||||
"pageSpecial": "Special image",
|
||||
"pageText1": "Primary text",
|
||||
"pageText2": "Secondary text",
|
||||
"pageTextDetails": "Details text",
|
||||
"pageTextTeaser": "Preview text",
|
||||
"includes": "Included categories",
|
||||
"costCredits": "Credit price",
|
||||
"costPoints": "Points price",
|
||||
"pointsType": "Points currency",
|
||||
"title": "News title",
|
||||
"slug": "News address",
|
||||
"image": "News image",
|
||||
"shortStory": "Summary",
|
||||
"fullStory": "Article content",
|
||||
"status": "Publication status",
|
||||
"publishAt": "Scheduled publication",
|
||||
"publishedAt": "Publication date"
|
||||
}
|
||||
}
|
||||
},
|
||||
"wordfilter": {
|
||||
@@ -3200,7 +3280,17 @@
|
||||
"clearAssignment": "Clear assignment",
|
||||
"openOperation": "Open related area",
|
||||
"releaseOccurrences": "Occurrences by release",
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error."
|
||||
"releaseScope": "These releases appear in the retained records. The earliest occurrence here does not establish which release introduced the error.",
|
||||
"releaseFilter": "Version",
|
||||
"allReleases": "All versions",
|
||||
"period": "Period",
|
||||
"allRetained": "All retained events",
|
||||
"last24h": "Last 24 hours",
|
||||
"last7d": "Last 7 days",
|
||||
"sort": "Order",
|
||||
"recentFirst": "Most recent first",
|
||||
"frequentFirst": "Most frequent first",
|
||||
"filterScope": "Counts refer to matching retained events. Group status and latest details remain current across versions."
|
||||
},
|
||||
"installation": {
|
||||
"title": "Installation diagnostics",
|
||||
@@ -3240,7 +3330,11 @@
|
||||
"refreshHistory": "Refresh history",
|
||||
"showMoreItems": "Show 50 more items",
|
||||
"uncertainOutcome": "An interrupted item may already have changed local data. It is excluded from retries.",
|
||||
"reviewLocalData": "Review local data"
|
||||
"reviewLocalData": "Review local data",
|
||||
"ownerHistory": "Your imports and repairs, newest first. Retries never repeat completed or uncertain items.",
|
||||
"previousPage": "Previous",
|
||||
"nextPage": "Next",
|
||||
"page": "Page {page}"
|
||||
},
|
||||
"operations": {
|
||||
"title": "Needs attention",
|
||||
@@ -3325,6 +3419,49 @@
|
||||
"retry": "Retry",
|
||||
"description": "Search pages, users, furniture, catalog categories, articles and support tickets.",
|
||||
"partialError": "Some results could not be loaded. Try again."
|
||||
},
|
||||
"permissionPreview": {
|
||||
"title": "Role access preview",
|
||||
"description": "Inspect CMS access without changing a session or impersonating a user.",
|
||||
"back": "Back to permissions",
|
||||
"role": "Role",
|
||||
"show": "Show access",
|
||||
"missing": "Select an existing role.",
|
||||
"entryAllowed": "Housekeeping entry allowed",
|
||||
"entryDenied": "Housekeeping entry denied: dashboard permission missing",
|
||||
"superAdmin": "This rank currently receives the highest-rank override.",
|
||||
"scope": "This preview shows one role only. A user may receive additional roles. Navigation customization can hide allowed sections; specific records and actions can require further checks.",
|
||||
"sections": "Sections",
|
||||
"allowed": "Allowed",
|
||||
"denied": "Denied",
|
||||
"actions": "CMS permissions",
|
||||
"actionScope": "A granted permission alone does not bypass dashboard entry, rank hierarchy, record ownership or action-specific validation.",
|
||||
"granted": "Granted",
|
||||
"notGranted": "Not granted"
|
||||
},
|
||||
"operationsCenter": {
|
||||
"title": "Operations center",
|
||||
"hint": "Track your durable imports and repairs, and the shared catalog export queue.",
|
||||
"syncTitle": "Source synchronization",
|
||||
"syncHint": "Source synchronization shows live progress on its own page. It has no durable history or automatic retry of failed items here. Catalog export reports the shared queue and latest result; item-level retry is not supported.",
|
||||
"openSync": "Open synchronization and export",
|
||||
"openImports": "Open furniture imports"
|
||||
},
|
||||
"operationsExport": {
|
||||
"title": "Catalog repository export",
|
||||
"hint": "Automatic export of bundles, icons, gamedata, translations and catalog SQL. The queue and latest result are shared across operators.",
|
||||
"loadError": "Unable to load export status",
|
||||
"queueError": "Unable to queue export",
|
||||
"loading": "Loading…",
|
||||
"disabled": "Export is disabled. Open synchronization to review its configuration.",
|
||||
"active": "Waiting for {count} operation(s) to finish.",
|
||||
"running": "Export in progress…",
|
||||
"pending": "{count} update(s) queued for export.",
|
||||
"idle": "No pending updates.",
|
||||
"lastCommit": "Last published commit:",
|
||||
"lastAttempt": "Last attempt: {date}",
|
||||
"queuing": "Queuing…",
|
||||
"queue": "Export now / retry"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
Reference in new issue
Block a user