feat(catalog): undo bulk offer edits with guarded history restoration
CI / check (push) Successful in 2m1s
CI / deploy (push) Successful in 18s
CI / publish-container (push) Successful in 1m28s

This commit is contained in:
Simo committed 2026-09-11 10:47:46 +02:00
1 parent 13bd3695cb
commit c5a2b44807
33 files changed
+1399 -116

No files matched your search

+40 -4
View File
@@ -76,7 +76,8 @@
"fullStory": "Article content",
"status": "Publication status",
"publishAt": "Scheduled publication",
"publishedAt": "Publication date"
"publishedAt": "Publication date",
"pageId": "Category"
}
}
},
@@ -321,6 +322,11 @@
"invalid_offer_id": "Invalid offer identifier",
"duplicate_offer_id": "Repeated offer identifier"
}
},
"bulk": {
"undo": "Undo",
"undoHint": "You can also restore individual offers from audit history.",
"undoSuccess": "Restored {count} offers."
}
},
"catalogPackages": {
@@ -521,11 +527,11 @@
},
"performance": {
"title": "Request performance",
"scope": "Authenticated HK APIs: server time until the response is ready. This does not measure browser rendering or public pages.",
"scope": "Server measurements for authenticated HK APIs and selected public page components. Choose a group below.",
"refresh": "Refresh",
"shared": "Shared diagnostics via Redis.",
"local": "Local diagnostics for this instance only; cleared on restart.",
"retention": "Up to 200 recent requests, retained for one hour. Collection is best effort.",
"retention": "Up to 200 recent samples per group, retained for one hour. Collection is best effort.",
"search": "Route or operation ID",
"sort": "Order",
"slowest": "Slowest first",
@@ -540,7 +546,18 @@
"calls": "{count} calls",
"failures": "{count} failures",
"streaming": "Streaming response: timing stops at response creation, not at the end of the operation.",
"operation": "Operation ID"
"operation": "Operation ID",
"kind": "Measurement group",
"adminApi": "HK APIs",
"publicPage": "Public pages",
"applyFilters": "Apply filters",
"publicBoundary": "Public measurements cover the root server page component on /me, news, profiles, events and search. They exclude metadata, separately rendered children, network transfer and browser rendering. Component outcomes are not HTTP response codes. Static build invocations are excluded.",
"outcomes": {
"completed": "Component completed",
"failed": "Component failed",
"redirect": "Redirect",
"not-found": "Page not found"
}
},
"importProgress": {
"validating": "Checking local data",
@@ -632,6 +649,25 @@
},
"openAudit": "Open Catalog audit to resolve conflicts",
"excludedConflicts": "{count, plural, one {# item needs review and is excluded from this import.} other {# items need review and are excluded from this import.}}"
},
"preflight": {
"filterLabel": "Filter import checks",
"filters": {
"all": "All ({count})",
"complete": "To complete ({count})",
"conflict": "Conflicts ({count})",
"verify": "To verify ({count})"
},
"empty": "No furniture in this group.",
"actions": {
"complete": "Suggested: complete existing furniture",
"import": "Suggested: import new furniture",
"refresh": "Existing furniture is complete; refresh source data",
"conflict": "Resolve the conflicting local records before import",
"verify": "Review the unverified components before continuing"
},
"missing": "Missing: {parts}",
"unknown": "Not verified: {parts}"
}
}
}
+40 -4
View File
@@ -1642,6 +1642,11 @@
"invalid_offer_id": "Invalid offer identifier",
"duplicate_offer_id": "Repeated offer identifier"
}
},
"bulk": {
"undo": "Undo",
"undoHint": "You can also restore individual offers from audit history.",
"undoSuccess": "Restored {count} offers."
}
},
"shop": {
@@ -2391,7 +2396,8 @@
"fullStory": "Article content",
"status": "Publication status",
"publishAt": "Scheduled publication",
"publishedAt": "Publication date"
"publishedAt": "Publication date",
"pageId": "Category"
}
}
},
@@ -3475,11 +3481,11 @@
},
"performance": {
"title": "Request performance",
"scope": "Authenticated HK APIs: server time until the response is ready. This does not measure browser rendering or public pages.",
"scope": "Server measurements for authenticated HK APIs and selected public page components. Choose a group below.",
"refresh": "Refresh",
"shared": "Shared diagnostics via Redis.",
"local": "Local diagnostics for this instance only; cleared on restart.",
"retention": "Up to 200 recent requests, retained for one hour. Collection is best effort.",
"retention": "Up to 200 recent samples per group, retained for one hour. Collection is best effort.",
"search": "Route or operation ID",
"sort": "Order",
"slowest": "Slowest first",
@@ -3494,7 +3500,18 @@
"calls": "{count} calls",
"failures": "{count} failures",
"streaming": "Streaming response: timing stops at response creation, not at the end of the operation.",
"operation": "Operation ID"
"operation": "Operation ID",
"kind": "Measurement group",
"adminApi": "HK APIs",
"publicPage": "Public pages",
"applyFilters": "Apply filters",
"publicBoundary": "Public measurements cover the root server page component on /me, news, profiles, events and search. They exclude metadata, separately rendered children, network transfer and browser rendering. Component outcomes are not HTTP response codes. Static build invocations are excluded.",
"outcomes": {
"completed": "Component completed",
"failed": "Component failed",
"redirect": "Redirect",
"not-found": "Page not found"
}
},
"importProgress": {
"validating": "Checking local data",
@@ -3876,6 +3893,25 @@
},
"openAudit": "Open Catalog audit to resolve conflicts",
"excludedConflicts": "{count, plural, one {# item needs review and is excluded from this import.} other {# items need review and are excluded from this import.}}"
},
"preflight": {
"filterLabel": "Filter import checks",
"filters": {
"all": "All ({count})",
"complete": "To complete ({count})",
"conflict": "Conflicts ({count})",
"verify": "To verify ({count})"
},
"empty": "No furniture in this group.",
"actions": {
"complete": "Suggested: complete existing furniture",
"import": "Suggested: import new furniture",
"refresh": "Existing furniture is complete; refresh source data",
"conflict": "Resolve the conflicting local records before import",
"verify": "Review the unverified components before continuing"
},
"missing": "Missing: {parts}",
"unknown": "Not verified: {parts}"
}
}
}
+40 -4
View File
@@ -1642,6 +1642,11 @@
"invalid_offer_id": "Invalid offer identifier",
"duplicate_offer_id": "Repeated offer identifier"
}
},
"bulk": {
"undo": "Undo",
"undoHint": "You can also restore individual offers from audit history.",
"undoSuccess": "Restored {count} offers."
}
},
"shop": {
@@ -2391,7 +2396,8 @@
"fullStory": "Article content",
"status": "Publication status",
"publishAt": "Scheduled publication",
"publishedAt": "Publication date"
"publishedAt": "Publication date",
"pageId": "Category"
}
}
},
@@ -3475,11 +3481,11 @@
},
"performance": {
"title": "Request performance",
"scope": "Authenticated HK APIs: server time until the response is ready. This does not measure browser rendering or public pages.",
"scope": "Server measurements for authenticated HK APIs and selected public page components. Choose a group below.",
"refresh": "Refresh",
"shared": "Shared diagnostics via Redis.",
"local": "Local diagnostics for this instance only; cleared on restart.",
"retention": "Up to 200 recent requests, retained for one hour. Collection is best effort.",
"retention": "Up to 200 recent samples per group, retained for one hour. Collection is best effort.",
"search": "Route or operation ID",
"sort": "Order",
"slowest": "Slowest first",
@@ -3494,7 +3500,18 @@
"calls": "{count} calls",
"failures": "{count} failures",
"streaming": "Streaming response: timing stops at response creation, not at the end of the operation.",
"operation": "Operation ID"
"operation": "Operation ID",
"kind": "Measurement group",
"adminApi": "HK APIs",
"publicPage": "Public pages",
"applyFilters": "Apply filters",
"publicBoundary": "Public measurements cover the root server page component on /me, news, profiles, events and search. They exclude metadata, separately rendered children, network transfer and browser rendering. Component outcomes are not HTTP response codes. Static build invocations are excluded.",
"outcomes": {
"completed": "Component completed",
"failed": "Component failed",
"redirect": "Redirect",
"not-found": "Page not found"
}
},
"importProgress": {
"validating": "Checking local data",
@@ -3876,6 +3893,25 @@
},
"openAudit": "Open Catalog audit to resolve conflicts",
"excludedConflicts": "{count, plural, one {# item needs review and is excluded from this import.} other {# items need review and are excluded from this import.}}"
},
"preflight": {
"filterLabel": "Filter import checks",
"filters": {
"all": "All ({count})",
"complete": "To complete ({count})",
"conflict": "Conflicts ({count})",
"verify": "To verify ({count})"
},
"empty": "No furniture in this group.",
"actions": {
"complete": "Suggested: complete existing furniture",
"import": "Suggested: import new furniture",
"refresh": "Existing furniture is complete; refresh source data",
"conflict": "Resolve the conflicting local records before import",
"verify": "Review the unverified components before continuing"
},
"missing": "Missing: {parts}",
"unknown": "Not verified: {parts}"
}
}
}
+40 -4
View File
@@ -1642,6 +1642,11 @@
"invalid_offer_id": "Invalid offer identifier",
"duplicate_offer_id": "Repeated offer identifier"
}
},
"bulk": {
"undo": "Undo",
"undoHint": "You can also restore individual offers from audit history.",
"undoSuccess": "Restored {count} offers."
}
},
"shop": {
@@ -2391,7 +2396,8 @@
"fullStory": "Article content",
"status": "Publication status",
"publishAt": "Scheduled publication",
"publishedAt": "Publication date"
"publishedAt": "Publication date",
"pageId": "Category"
}
}
},
@@ -3475,11 +3481,11 @@
},
"performance": {
"title": "Request performance",
"scope": "Authenticated HK APIs: server time until the response is ready. This does not measure browser rendering or public pages.",
"scope": "Server measurements for authenticated HK APIs and selected public page components. Choose a group below.",
"refresh": "Refresh",
"shared": "Shared diagnostics via Redis.",
"local": "Local diagnostics for this instance only; cleared on restart.",
"retention": "Up to 200 recent requests, retained for one hour. Collection is best effort.",
"retention": "Up to 200 recent samples per group, retained for one hour. Collection is best effort.",
"search": "Route or operation ID",
"sort": "Order",
"slowest": "Slowest first",
@@ -3494,7 +3500,18 @@
"calls": "{count} calls",
"failures": "{count} failures",
"streaming": "Streaming response: timing stops at response creation, not at the end of the operation.",
"operation": "Operation ID"
"operation": "Operation ID",
"kind": "Measurement group",
"adminApi": "HK APIs",
"publicPage": "Public pages",
"applyFilters": "Apply filters",
"publicBoundary": "Public measurements cover the root server page component on /me, news, profiles, events and search. They exclude metadata, separately rendered children, network transfer and browser rendering. Component outcomes are not HTTP response codes. Static build invocations are excluded.",
"outcomes": {
"completed": "Component completed",
"failed": "Component failed",
"redirect": "Redirect",
"not-found": "Page not found"
}
},
"importProgress": {
"validating": "Checking local data",
@@ -3876,6 +3893,25 @@
},
"openAudit": "Open Catalog audit to resolve conflicts",
"excludedConflicts": "{count, plural, one {# item needs review and is excluded from this import.} other {# items need review and are excluded from this import.}}"
},
"preflight": {
"filterLabel": "Filter import checks",
"filters": {
"all": "All ({count})",
"complete": "To complete ({count})",
"conflict": "Conflicts ({count})",
"verify": "To verify ({count})"
},
"empty": "No furniture in this group.",
"actions": {
"complete": "Suggested: complete existing furniture",
"import": "Suggested: import new furniture",
"refresh": "Existing furniture is complete; refresh source data",
"conflict": "Resolve the conflicting local records before import",
"verify": "Review the unverified components before continuing"
},
"missing": "Missing: {parts}",
"unknown": "Not verified: {parts}"
}
}
}
+40 -4
View File
@@ -1613,6 +1613,11 @@
"invalid_offer_id": "Invalid offer identifier",
"duplicate_offer_id": "Repeated offer identifier"
}
},
"bulk": {
"undo": "Undo",
"undoHint": "You can also restore individual offers from audit history.",
"undoSuccess": "Restored {count} offers."
}
},
"shop": {
@@ -2362,7 +2367,8 @@
"fullStory": "Article content",
"status": "Publication status",
"publishAt": "Scheduled publication",
"publishedAt": "Publication date"
"publishedAt": "Publication date",
"pageId": "Category"
}
}
},
@@ -3446,11 +3452,11 @@
},
"performance": {
"title": "Request performance",
"scope": "Authenticated HK APIs: server time until the response is ready. This does not measure browser rendering or public pages.",
"scope": "Server measurements for authenticated HK APIs and selected public page components. Choose a group below.",
"refresh": "Refresh",
"shared": "Shared diagnostics via Redis.",
"local": "Local diagnostics for this instance only; cleared on restart.",
"retention": "Up to 200 recent requests, retained for one hour. Collection is best effort.",
"retention": "Up to 200 recent samples per group, retained for one hour. Collection is best effort.",
"search": "Route or operation ID",
"sort": "Order",
"slowest": "Slowest first",
@@ -3465,7 +3471,18 @@
"calls": "{count} calls",
"failures": "{count} failures",
"streaming": "Streaming response: timing stops at response creation, not at the end of the operation.",
"operation": "Operation ID"
"operation": "Operation ID",
"kind": "Measurement group",
"adminApi": "HK APIs",
"publicPage": "Public pages",
"applyFilters": "Apply filters",
"publicBoundary": "Public measurements cover the root server page component on /me, news, profiles, events and search. They exclude metadata, separately rendered children, network transfer and browser rendering. Component outcomes are not HTTP response codes. Static build invocations are excluded.",
"outcomes": {
"completed": "Component completed",
"failed": "Component failed",
"redirect": "Redirect",
"not-found": "Page not found"
}
},
"importProgress": {
"validating": "Checking local data",
@@ -3877,6 +3894,25 @@
},
"openAudit": "Open Catalog audit to resolve conflicts",
"excludedConflicts": "{count, plural, one {# item needs review and is excluded from this import.} other {# items need review and are excluded from this import.}}"
},
"preflight": {
"filterLabel": "Filter import checks",
"filters": {
"all": "All ({count})",
"complete": "To complete ({count})",
"conflict": "Conflicts ({count})",
"verify": "To verify ({count})"
},
"empty": "No furniture in this group.",
"actions": {
"complete": "Suggested: complete existing furniture",
"import": "Suggested: import new furniture",
"refresh": "Existing furniture is complete; refresh source data",
"conflict": "Resolve the conflicting local records before import",
"verify": "Review the unverified components before continuing"
},
"missing": "Missing: {parts}",
"unknown": "Not verified: {parts}"
}
}
}
+40 -4
View File
@@ -1642,6 +1642,11 @@
"invalid_offer_id": "Invalid offer identifier",
"duplicate_offer_id": "Repeated offer identifier"
}
},
"bulk": {
"undo": "Undo",
"undoHint": "You can also restore individual offers from audit history.",
"undoSuccess": "Restored {count} offers."
}
},
"shop": {
@@ -2391,7 +2396,8 @@
"fullStory": "Article content",
"status": "Publication status",
"publishAt": "Scheduled publication",
"publishedAt": "Publication date"
"publishedAt": "Publication date",
"pageId": "Category"
}
}
},
@@ -3475,11 +3481,11 @@
},
"performance": {
"title": "Request performance",
"scope": "Authenticated HK APIs: server time until the response is ready. This does not measure browser rendering or public pages.",
"scope": "Server measurements for authenticated HK APIs and selected public page components. Choose a group below.",
"refresh": "Refresh",
"shared": "Shared diagnostics via Redis.",
"local": "Local diagnostics for this instance only; cleared on restart.",
"retention": "Up to 200 recent requests, retained for one hour. Collection is best effort.",
"retention": "Up to 200 recent samples per group, retained for one hour. Collection is best effort.",
"search": "Route or operation ID",
"sort": "Order",
"slowest": "Slowest first",
@@ -3494,7 +3500,18 @@
"calls": "{count} calls",
"failures": "{count} failures",
"streaming": "Streaming response: timing stops at response creation, not at the end of the operation.",
"operation": "Operation ID"
"operation": "Operation ID",
"kind": "Measurement group",
"adminApi": "HK APIs",
"publicPage": "Public pages",
"applyFilters": "Apply filters",
"publicBoundary": "Public measurements cover the root server page component on /me, news, profiles, events and search. They exclude metadata, separately rendered children, network transfer and browser rendering. Component outcomes are not HTTP response codes. Static build invocations are excluded.",
"outcomes": {
"completed": "Component completed",
"failed": "Component failed",
"redirect": "Redirect",
"not-found": "Page not found"
}
},
"importProgress": {
"validating": "Checking local data",
@@ -3876,6 +3893,25 @@
},
"openAudit": "Open Catalog audit to resolve conflicts",
"excludedConflicts": "{count, plural, one {# item needs review and is excluded from this import.} other {# items need review and are excluded from this import.}}"
},
"preflight": {
"filterLabel": "Filter import checks",
"filters": {
"all": "All ({count})",
"complete": "To complete ({count})",
"conflict": "Conflicts ({count})",
"verify": "To verify ({count})"
},
"empty": "No furniture in this group.",
"actions": {
"complete": "Suggested: complete existing furniture",
"import": "Suggested: import new furniture",
"refresh": "Existing furniture is complete; refresh source data",
"conflict": "Resolve the conflicting local records before import",
"verify": "Review the unverified components before continuing"
},
"missing": "Missing: {parts}",
"unknown": "Not verified: {parts}"
}
}
}
+39 -5
View File
@@ -2214,7 +2214,10 @@
"pageSearch": "Search categories…",
"back": "Edit changes",
"selectionLimit": "Select at most 500 offers for one operation.",
"refreshing": "Refreshing updated offers…"
"refreshing": "Refreshing updated offers…",
"undo": "Undo",
"undoHint": "You can also restore individual offers from audit history.",
"undoSuccess": "Restored {count} offers."
},
"discovery": {
"searchPlaceholder": "Name, classname, furniture ID or #offer ID…",
@@ -3361,7 +3364,8 @@
"fullStory": "Article content",
"status": "Publication status",
"publishAt": "Scheduled publication",
"publishedAt": "Publication date"
"publishedAt": "Publication date",
"pageId": "Category"
}
}
},
@@ -4360,11 +4364,11 @@
},
"performance": {
"title": "Request performance",
"scope": "Authenticated HK APIs: server time until the response is ready. This does not measure browser rendering or public pages.",
"scope": "Server measurements for authenticated HK APIs and selected public page components. Choose a group below.",
"refresh": "Refresh",
"shared": "Shared diagnostics via Redis.",
"local": "Local diagnostics for this instance only; cleared on restart.",
"retention": "Up to 200 recent requests, retained for one hour. Collection is best effort.",
"retention": "Up to 200 recent samples per group, retained for one hour. Collection is best effort.",
"search": "Route or operation ID",
"sort": "Order",
"slowest": "Slowest first",
@@ -4379,7 +4383,18 @@
"calls": "{count} calls",
"failures": "{count} failures",
"streaming": "Streaming response: timing stops at response creation, not at the end of the operation.",
"operation": "Operation ID"
"operation": "Operation ID",
"kind": "Measurement group",
"adminApi": "HK APIs",
"publicPage": "Public pages",
"applyFilters": "Apply filters",
"publicBoundary": "Public measurements cover the root server page component on /me, news, profiles, events and search. They exclude metadata, separately rendered children, network transfer and browser rendering. Component outcomes are not HTTP response codes. Static build invocations are excluded.",
"outcomes": {
"completed": "Component completed",
"failed": "Component failed",
"redirect": "Redirect",
"not-found": "Page not found"
}
},
"importProgress": {
"validating": "Checking local data",
@@ -4754,6 +4769,25 @@
},
"openAudit": "Open Catalog audit to resolve conflicts",
"excludedConflicts": "{count, plural, one {# item needs review and is excluded from this import.} other {# items need review and are excluded from this import.}}"
},
"preflight": {
"filterLabel": "Filter import checks",
"filters": {
"all": "All ({count})",
"complete": "To complete ({count})",
"conflict": "Conflicts ({count})",
"verify": "To verify ({count})"
},
"empty": "No furniture in this group.",
"actions": {
"complete": "Suggested: complete existing furniture",
"import": "Suggested: import new furniture",
"refresh": "Existing furniture is complete; refresh source data",
"conflict": "Resolve the conflicting local records before import",
"verify": "Review the unverified components before continuing"
},
"missing": "Missing: {parts}",
"unknown": "Not verified: {parts}"
}
}
},
+40 -4
View File
@@ -1613,6 +1613,11 @@
"invalid_offer_id": "Invalid offer identifier",
"duplicate_offer_id": "Repeated offer identifier"
}
},
"bulk": {
"undo": "Undo",
"undoHint": "You can also restore individual offers from audit history.",
"undoSuccess": "Restored {count} offers."
}
},
"shop": {
@@ -2362,7 +2367,8 @@
"fullStory": "Article content",
"status": "Publication status",
"publishAt": "Scheduled publication",
"publishedAt": "Publication date"
"publishedAt": "Publication date",
"pageId": "Category"
}
}
},
@@ -3446,11 +3452,11 @@
},
"performance": {
"title": "Request performance",
"scope": "Authenticated HK APIs: server time until the response is ready. This does not measure browser rendering or public pages.",
"scope": "Server measurements for authenticated HK APIs and selected public page components. Choose a group below.",
"refresh": "Refresh",
"shared": "Shared diagnostics via Redis.",
"local": "Local diagnostics for this instance only; cleared on restart.",
"retention": "Up to 200 recent requests, retained for one hour. Collection is best effort.",
"retention": "Up to 200 recent samples per group, retained for one hour. Collection is best effort.",
"search": "Route or operation ID",
"sort": "Order",
"slowest": "Slowest first",
@@ -3465,7 +3471,18 @@
"calls": "{count} calls",
"failures": "{count} failures",
"streaming": "Streaming response: timing stops at response creation, not at the end of the operation.",
"operation": "Operation ID"
"operation": "Operation ID",
"kind": "Measurement group",
"adminApi": "HK APIs",
"publicPage": "Public pages",
"applyFilters": "Apply filters",
"publicBoundary": "Public measurements cover the root server page component on /me, news, profiles, events and search. They exclude metadata, separately rendered children, network transfer and browser rendering. Component outcomes are not HTTP response codes. Static build invocations are excluded.",
"outcomes": {
"completed": "Component completed",
"failed": "Component failed",
"redirect": "Redirect",
"not-found": "Page not found"
}
},
"importProgress": {
"validating": "Checking local data",
@@ -3877,6 +3894,25 @@
},
"openAudit": "Open Catalog audit to resolve conflicts",
"excludedConflicts": "{count, plural, one {# item needs review and is excluded from this import.} other {# items need review and are excluded from this import.}}"
},
"preflight": {
"filterLabel": "Filter import checks",
"filters": {
"all": "All ({count})",
"complete": "To complete ({count})",
"conflict": "Conflicts ({count})",
"verify": "To verify ({count})"
},
"empty": "No furniture in this group.",
"actions": {
"complete": "Suggested: complete existing furniture",
"import": "Suggested: import new furniture",
"refresh": "Existing furniture is complete; refresh source data",
"conflict": "Resolve the conflicting local records before import",
"verify": "Review the unverified components before continuing"
},
"missing": "Missing: {parts}",
"unknown": "Not verified: {parts}"
}
}
}
+40 -4
View File
@@ -76,7 +76,8 @@
"fullStory": "Article content",
"status": "Publication status",
"publishAt": "Scheduled publication",
"publishedAt": "Publication date"
"publishedAt": "Publication date",
"pageId": "Category"
}
}
},
@@ -321,6 +322,11 @@
"invalid_offer_id": "Invalid offer identifier",
"duplicate_offer_id": "Repeated offer identifier"
}
},
"bulk": {
"undo": "Undo",
"undoHint": "You can also restore individual offers from audit history.",
"undoSuccess": "Restored {count} offers."
}
},
"catalogPackages": {
@@ -521,11 +527,11 @@
},
"performance": {
"title": "Request performance",
"scope": "Authenticated HK APIs: server time until the response is ready. This does not measure browser rendering or public pages.",
"scope": "Server measurements for authenticated HK APIs and selected public page components. Choose a group below.",
"refresh": "Refresh",
"shared": "Shared diagnostics via Redis.",
"local": "Local diagnostics for this instance only; cleared on restart.",
"retention": "Up to 200 recent requests, retained for one hour. Collection is best effort.",
"retention": "Up to 200 recent samples per group, retained for one hour. Collection is best effort.",
"search": "Route or operation ID",
"sort": "Order",
"slowest": "Slowest first",
@@ -540,7 +546,18 @@
"calls": "{count} calls",
"failures": "{count} failures",
"streaming": "Streaming response: timing stops at response creation, not at the end of the operation.",
"operation": "Operation ID"
"operation": "Operation ID",
"kind": "Measurement group",
"adminApi": "HK APIs",
"publicPage": "Public pages",
"applyFilters": "Apply filters",
"publicBoundary": "Public measurements cover the root server page component on /me, news, profiles, events and search. They exclude metadata, separately rendered children, network transfer and browser rendering. Component outcomes are not HTTP response codes. Static build invocations are excluded.",
"outcomes": {
"completed": "Component completed",
"failed": "Component failed",
"redirect": "Redirect",
"not-found": "Page not found"
}
},
"importProgress": {
"validating": "Checking local data",
@@ -632,6 +649,25 @@
},
"openAudit": "Open Catalog audit to resolve conflicts",
"excludedConflicts": "{count, plural, one {# item needs review and is excluded from this import.} other {# items need review and are excluded from this import.}}"
},
"preflight": {
"filterLabel": "Filter import checks",
"filters": {
"all": "All ({count})",
"complete": "To complete ({count})",
"conflict": "Conflicts ({count})",
"verify": "To verify ({count})"
},
"empty": "No furniture in this group.",
"actions": {
"complete": "Suggested: complete existing furniture",
"import": "Suggested: import new furniture",
"refresh": "Existing furniture is complete; refresh source data",
"conflict": "Resolve the conflicting local records before import",
"verify": "Review the unverified components before continuing"
},
"missing": "Missing: {parts}",
"unknown": "Not verified: {parts}"
}
}
}
+40 -4
View File
@@ -1613,6 +1613,11 @@
"invalid_offer_id": "Invalid offer identifier",
"duplicate_offer_id": "Repeated offer identifier"
}
},
"bulk": {
"undo": "Undo",
"undoHint": "You can also restore individual offers from audit history.",
"undoSuccess": "Restored {count} offers."
}
},
"shop": {
@@ -2362,7 +2367,8 @@
"fullStory": "Article content",
"status": "Publication status",
"publishAt": "Scheduled publication",
"publishedAt": "Publication date"
"publishedAt": "Publication date",
"pageId": "Category"
}
}
},
@@ -3446,11 +3452,11 @@
},
"performance": {
"title": "Request performance",
"scope": "Authenticated HK APIs: server time until the response is ready. This does not measure browser rendering or public pages.",
"scope": "Server measurements for authenticated HK APIs and selected public page components. Choose a group below.",
"refresh": "Refresh",
"shared": "Shared diagnostics via Redis.",
"local": "Local diagnostics for this instance only; cleared on restart.",
"retention": "Up to 200 recent requests, retained for one hour. Collection is best effort.",
"retention": "Up to 200 recent samples per group, retained for one hour. Collection is best effort.",
"search": "Route or operation ID",
"sort": "Order",
"slowest": "Slowest first",
@@ -3465,7 +3471,18 @@
"calls": "{count} calls",
"failures": "{count} failures",
"streaming": "Streaming response: timing stops at response creation, not at the end of the operation.",
"operation": "Operation ID"
"operation": "Operation ID",
"kind": "Measurement group",
"adminApi": "HK APIs",
"publicPage": "Public pages",
"applyFilters": "Apply filters",
"publicBoundary": "Public measurements cover the root server page component on /me, news, profiles, events and search. They exclude metadata, separately rendered children, network transfer and browser rendering. Component outcomes are not HTTP response codes. Static build invocations are excluded.",
"outcomes": {
"completed": "Component completed",
"failed": "Component failed",
"redirect": "Redirect",
"not-found": "Page not found"
}
},
"importProgress": {
"validating": "Checking local data",
@@ -3877,6 +3894,25 @@
},
"openAudit": "Open Catalog audit to resolve conflicts",
"excludedConflicts": "{count, plural, one {# item needs review and is excluded from this import.} other {# items need review and are excluded from this import.}}"
},
"preflight": {
"filterLabel": "Filter import checks",
"filters": {
"all": "All ({count})",
"complete": "To complete ({count})",
"conflict": "Conflicts ({count})",
"verify": "To verify ({count})"
},
"empty": "No furniture in this group.",
"actions": {
"complete": "Suggested: complete existing furniture",
"import": "Suggested: import new furniture",
"refresh": "Existing furniture is complete; refresh source data",
"conflict": "Resolve the conflicting local records before import",
"verify": "Review the unverified components before continuing"
},
"missing": "Missing: {parts}",
"unknown": "Not verified: {parts}"
}
}
}
+40 -4
View File
@@ -1642,6 +1642,11 @@
"invalid_offer_id": "Invalid offer identifier",
"duplicate_offer_id": "Repeated offer identifier"
}
},
"bulk": {
"undo": "Undo",
"undoHint": "You can also restore individual offers from audit history.",
"undoSuccess": "Restored {count} offers."
}
},
"shop": {
@@ -2391,7 +2396,8 @@
"fullStory": "Article content",
"status": "Publication status",
"publishAt": "Scheduled publication",
"publishedAt": "Publication date"
"publishedAt": "Publication date",
"pageId": "Category"
}
}
},
@@ -3475,11 +3481,11 @@
},
"performance": {
"title": "Request performance",
"scope": "Authenticated HK APIs: server time until the response is ready. This does not measure browser rendering or public pages.",
"scope": "Server measurements for authenticated HK APIs and selected public page components. Choose a group below.",
"refresh": "Refresh",
"shared": "Shared diagnostics via Redis.",
"local": "Local diagnostics for this instance only; cleared on restart.",
"retention": "Up to 200 recent requests, retained for one hour. Collection is best effort.",
"retention": "Up to 200 recent samples per group, retained for one hour. Collection is best effort.",
"search": "Route or operation ID",
"sort": "Order",
"slowest": "Slowest first",
@@ -3494,7 +3500,18 @@
"calls": "{count} calls",
"failures": "{count} failures",
"streaming": "Streaming response: timing stops at response creation, not at the end of the operation.",
"operation": "Operation ID"
"operation": "Operation ID",
"kind": "Measurement group",
"adminApi": "HK APIs",
"publicPage": "Public pages",
"applyFilters": "Apply filters",
"publicBoundary": "Public measurements cover the root server page component on /me, news, profiles, events and search. They exclude metadata, separately rendered children, network transfer and browser rendering. Component outcomes are not HTTP response codes. Static build invocations are excluded.",
"outcomes": {
"completed": "Component completed",
"failed": "Component failed",
"redirect": "Redirect",
"not-found": "Page not found"
}
},
"importProgress": {
"validating": "Checking local data",
@@ -3876,6 +3893,25 @@
},
"openAudit": "Open Catalog audit to resolve conflicts",
"excludedConflicts": "{count, plural, one {# item needs review and is excluded from this import.} other {# items need review and are excluded from this import.}}"
},
"preflight": {
"filterLabel": "Filter import checks",
"filters": {
"all": "All ({count})",
"complete": "To complete ({count})",
"conflict": "Conflicts ({count})",
"verify": "To verify ({count})"
},
"empty": "No furniture in this group.",
"actions": {
"complete": "Suggested: complete existing furniture",
"import": "Suggested: import new furniture",
"refresh": "Existing furniture is complete; refresh source data",
"conflict": "Resolve the conflicting local records before import",
"verify": "Review the unverified components before continuing"
},
"missing": "Missing: {parts}",
"unknown": "Not verified: {parts}"
}
}
}
+40 -4
View File
@@ -1642,6 +1642,11 @@
"invalid_offer_id": "Invalid offer identifier",
"duplicate_offer_id": "Repeated offer identifier"
}
},
"bulk": {
"undo": "Undo",
"undoHint": "You can also restore individual offers from audit history.",
"undoSuccess": "Restored {count} offers."
}
},
"shop": {
@@ -2391,7 +2396,8 @@
"fullStory": "Article content",
"status": "Publication status",
"publishAt": "Scheduled publication",
"publishedAt": "Publication date"
"publishedAt": "Publication date",
"pageId": "Category"
}
}
},
@@ -3475,11 +3481,11 @@
},
"performance": {
"title": "Request performance",
"scope": "Authenticated HK APIs: server time until the response is ready. This does not measure browser rendering or public pages.",
"scope": "Server measurements for authenticated HK APIs and selected public page components. Choose a group below.",
"refresh": "Refresh",
"shared": "Shared diagnostics via Redis.",
"local": "Local diagnostics for this instance only; cleared on restart.",
"retention": "Up to 200 recent requests, retained for one hour. Collection is best effort.",
"retention": "Up to 200 recent samples per group, retained for one hour. Collection is best effort.",
"search": "Route or operation ID",
"sort": "Order",
"slowest": "Slowest first",
@@ -3494,7 +3500,18 @@
"calls": "{count} calls",
"failures": "{count} failures",
"streaming": "Streaming response: timing stops at response creation, not at the end of the operation.",
"operation": "Operation ID"
"operation": "Operation ID",
"kind": "Measurement group",
"adminApi": "HK APIs",
"publicPage": "Public pages",
"applyFilters": "Apply filters",
"publicBoundary": "Public measurements cover the root server page component on /me, news, profiles, events and search. They exclude metadata, separately rendered children, network transfer and browser rendering. Component outcomes are not HTTP response codes. Static build invocations are excluded.",
"outcomes": {
"completed": "Component completed",
"failed": "Component failed",
"redirect": "Redirect",
"not-found": "Page not found"
}
},
"importProgress": {
"validating": "Checking local data",
@@ -3876,6 +3893,25 @@
},
"openAudit": "Open Catalog audit to resolve conflicts",
"excludedConflicts": "{count, plural, one {# item needs review and is excluded from this import.} other {# items need review and are excluded from this import.}}"
},
"preflight": {
"filterLabel": "Filter import checks",
"filters": {
"all": "All ({count})",
"complete": "To complete ({count})",
"conflict": "Conflicts ({count})",
"verify": "To verify ({count})"
},
"empty": "No furniture in this group.",
"actions": {
"complete": "Suggested: complete existing furniture",
"import": "Suggested: import new furniture",
"refresh": "Existing furniture is complete; refresh source data",
"conflict": "Resolve the conflicting local records before import",
"verify": "Review the unverified components before continuing"
},
"missing": "Missing: {parts}",
"unknown": "Not verified: {parts}"
}
}
}
+39 -5
View File
@@ -2133,7 +2133,10 @@
"pageSearch": "Cerca categorie…",
"back": "Rivedi le modifiche",
"selectionLimit": "Seleziona al massimo 500 offerte per operazione.",
"refreshing": "Aggiornamento delle offerte modificate…"
"refreshing": "Aggiornamento delle offerte modificate…",
"undo": "Annulla",
"undoHint": "Puoi ripristinare le singole offerte anche dalla cronologia delle modifiche.",
"undoSuccess": "Ripristinate {count} offerte."
},
"discovery": {
"searchPlaceholder": "Nome, classname, ID furni o #ID offerta…",
@@ -3280,7 +3283,8 @@
"fullStory": "Contenuto articolo",
"status": "Stato pubblicazione",
"publishAt": "Pubblicazione programmata",
"publishedAt": "Data pubblicazione"
"publishedAt": "Data pubblicazione",
"pageId": "Categoria"
}
}
},
@@ -4335,11 +4339,11 @@
},
"performance": {
"title": "Prestazioni delle richieste",
"scope": "API autenticate dell’HK: tempo server fino alla risposta pronta. Non misura il rendering del browser o le pagine pubbliche.",
"scope": "Misure server delle API HK autenticate e di alcune pagine pubbliche. Scegli un gruppo qui sotto.",
"refresh": "Aggiorna",
"shared": "Diagnostica condivisa tramite Redis.",
"local": "Diagnostica locale di questa istanza; si azzera al riavvio.",
"retention": "Fino a 200 richieste recenti, conservate per un’ora. La raccolta può omettere misure.",
"retention": "Fino a 200 campioni per gruppo, conservati per un’ora. La raccolta non è garantita per ogni richiesta.",
"search": "Percorso o ID operazione",
"sort": "Ordine",
"slowest": "Prima le più lente",
@@ -4354,7 +4358,18 @@
"calls": "{count} chiamate",
"failures": "{count} errori",
"streaming": "Risposta in streaming: la misura termina alla creazione della risposta, non alla fine dell’operazione.",
"operation": "ID operazione"
"operation": "ID operazione",
"kind": "Gruppo di misurazione",
"adminApi": "API HK",
"publicPage": "Pagine pubbliche",
"applyFilters": "Applica filtri",
"publicBoundary": "Le misure pubbliche coprono il componente server principale di /me, news, profili, eventi e ricerca. Escludono metadati, componenti figli renderizzati separatamente, rete e rendering nel browser. Gli esiti non sono codici HTTP. Le esecuzioni durante la build statica sono escluse.",
"outcomes": {
"completed": "Componente completato",
"failed": "Componente fallito",
"redirect": "Reindirizzamento",
"not-found": "Pagina non trovata"
}
},
"importProgress": {
"validating": "Verifica dati locali",
@@ -4759,6 +4774,25 @@
},
"openAudit": "Apri Audit catalogo per risolvere i conflitti",
"excludedConflicts": "{count, plural, one {# elemento richiede un controllo ed è escluso da questa importazione.} other {# elementi richiedono un controllo e sono esclusi da questa importazione.}}"
},
"preflight": {
"filterLabel": "Filtra i controlli di importazione",
"filters": {
"all": "Tutti ({count})",
"complete": "Da completare ({count})",
"conflict": "Conflitti ({count})",
"verify": "Da verificare ({count})"
},
"empty": "Nessun furni in questo gruppo.",
"actions": {
"complete": "Suggerimento: completa il furni esistente",
"import": "Suggerimento: importa il nuovo furni",
"refresh": "Il furni esistente è completo; aggiorna i dati dalla fonte",
"conflict": "Risolvi i conflitti nei dati locali prima di importare",
"verify": "Controlla i componenti non verificati prima di proseguire"
},
"missing": "Mancanti: {parts}",
"unknown": "Non verificati: {parts}"
}
}
},
+40 -4
View File
@@ -76,7 +76,8 @@
"fullStory": "Article content",
"status": "Publication status",
"publishAt": "Scheduled publication",
"publishedAt": "Publication date"
"publishedAt": "Publication date",
"pageId": "Category"
}
}
},
@@ -321,6 +322,11 @@
"invalid_offer_id": "Invalid offer identifier",
"duplicate_offer_id": "Repeated offer identifier"
}
},
"bulk": {
"undo": "Undo",
"undoHint": "You can also restore individual offers from audit history.",
"undoSuccess": "Restored {count} offers."
}
},
"catalogPackages": {
@@ -521,11 +527,11 @@
},
"performance": {
"title": "Request performance",
"scope": "Authenticated HK APIs: server time until the response is ready. This does not measure browser rendering or public pages.",
"scope": "Server measurements for authenticated HK APIs and selected public page components. Choose a group below.",
"refresh": "Refresh",
"shared": "Shared diagnostics via Redis.",
"local": "Local diagnostics for this instance only; cleared on restart.",
"retention": "Up to 200 recent requests, retained for one hour. Collection is best effort.",
"retention": "Up to 200 recent samples per group, retained for one hour. Collection is best effort.",
"search": "Route or operation ID",
"sort": "Order",
"slowest": "Slowest first",
@@ -540,7 +546,18 @@
"calls": "{count} calls",
"failures": "{count} failures",
"streaming": "Streaming response: timing stops at response creation, not at the end of the operation.",
"operation": "Operation ID"
"operation": "Operation ID",
"kind": "Measurement group",
"adminApi": "HK APIs",
"publicPage": "Public pages",
"applyFilters": "Apply filters",
"publicBoundary": "Public measurements cover the root server page component on /me, news, profiles, events and search. They exclude metadata, separately rendered children, network transfer and browser rendering. Component outcomes are not HTTP response codes. Static build invocations are excluded.",
"outcomes": {
"completed": "Component completed",
"failed": "Component failed",
"redirect": "Redirect",
"not-found": "Page not found"
}
},
"importProgress": {
"validating": "Checking local data",
@@ -632,6 +649,25 @@
},
"openAudit": "Open Catalog audit to resolve conflicts",
"excludedConflicts": "{count, plural, one {# item needs review and is excluded from this import.} other {# items need review and are excluded from this import.}}"
},
"preflight": {
"filterLabel": "Filter import checks",
"filters": {
"all": "All ({count})",
"complete": "To complete ({count})",
"conflict": "Conflicts ({count})",
"verify": "To verify ({count})"
},
"empty": "No furniture in this group.",
"actions": {
"complete": "Suggested: complete existing furniture",
"import": "Suggested: import new furniture",
"refresh": "Existing furniture is complete; refresh source data",
"conflict": "Resolve the conflicting local records before import",
"verify": "Review the unverified components before continuing"
},
"missing": "Missing: {parts}",
"unknown": "Not verified: {parts}"
}
}
}
+39 -5
View File
@@ -1982,7 +1982,10 @@
"pageSearch": "Categorieën zoeken…",
"back": "Wijzigingen aanpassen",
"selectionLimit": "Selecteer maximaal 500 aanbiedingen per bewerking.",
"refreshing": "Bijgewerkte aanbiedingen vernieuwen…"
"refreshing": "Bijgewerkte aanbiedingen vernieuwen…",
"undo": "Ongedaan maken",
"undoHint": "Je kunt afzonderlijke aanbiedingen ook herstellen via de auditgeschiedenis.",
"undoSuccess": "{count} aanbiedingen hersteld."
},
"discovery": {
"searchPlaceholder": "Naam, classname, meubel-ID of #aanbiedings-ID…",
@@ -2918,7 +2921,8 @@
"fullStory": "Artikelinhoud",
"status": "Publicatiestatus",
"publishAt": "Geplande publicatie",
"publishedAt": "Publicatiedatum"
"publishedAt": "Publicatiedatum",
"pageId": "Categorie"
}
}
},
@@ -3951,11 +3955,11 @@
},
"performance": {
"title": "Prestaties van verzoeken",
"scope": "Aangemelde HK-API’s: servertijd totdat het antwoord klaarstaat. Dit meet geen browserweergave of openbare pagina’s.",
"scope": "Servermetingen voor geauthenticeerde HK-API’s en geselecteerde openbare paginacomponenten. Kies hieronder een groep.",
"refresh": "Vernieuwen",
"shared": "Gedeelde diagnostiek via Redis.",
"local": "Lokale diagnostiek voor deze instantie; gewist bij herstart.",
"retention": "Maximaal 200 recente verzoeken, één uur bewaard. Niet alle metingen worden gegarandeerd opgeslagen.",
"retention": "Maximaal 200 metingen per groep, één uur bewaard. Niet elk verzoek wordt gegarandeerd vastgelegd.",
"search": "Route of operatie-ID",
"sort": "Volgorde",
"slowest": "Langzaamste eerst",
@@ -3970,7 +3974,18 @@
"calls": "{count} oproepen",
"failures": "{count} fouten",
"streaming": "Streamingantwoord: de meting stopt bij het aanmaken van het antwoord, niet aan het einde van de operatie.",
"operation": "Operatie-ID"
"operation": "Operatie-ID",
"kind": "Meetgroep",
"adminApi": "HK-API’s",
"publicPage": "Openbare pagina’s",
"applyFilters": "Filters toepassen",
"publicBoundary": "Openbare metingen omvatten de hoofdcomponent op de server voor /me, nieuws, profielen, evenementen en zoeken. Metadata, afzonderlijk gerenderde onderliggende componenten, netwerkoverdracht en browserweergave zijn uitgesloten. Componentresultaten zijn geen HTTP-statuscodes. Aanroepen tijdens de statische build zijn uitgesloten.",
"outcomes": {
"completed": "Component voltooid",
"failed": "Component mislukt",
"redirect": "Omleiding",
"not-found": "Pagina niet gevonden"
}
},
"importProgress": {
"validating": "Lokale gegevens controleren",
@@ -4230,6 +4245,25 @@
},
"openAudit": "Open Cataloguscontrole om conflicten op te lossen",
"excludedConflicts": "{count, plural, one {# item moet worden gecontroleerd en is uitgesloten van deze import.} other {# items moeten worden gecontroleerd en zijn uitgesloten van deze import.}}"
},
"preflight": {
"filterLabel": "Importcontroles filteren",
"filters": {
"all": "Alles ({count})",
"complete": "Aan te vullen ({count})",
"conflict": "Conflicten ({count})",
"verify": "Te controleren ({count})"
},
"empty": "Geen meubels in deze groep.",
"actions": {
"complete": "Voorstel: bestaand meubel aanvullen",
"import": "Voorstel: nieuw meubel importeren",
"refresh": "Bestaand meubel is compleet; brongegevens vernieuwen",
"conflict": "Los conflicten in lokale gegevens op voordat je importeert",
"verify": "Controleer de niet-geverifieerde onderdelen voordat je doorgaat"
},
"missing": "Ontbreekt: {parts}",
"unknown": "Niet geverifieerd: {parts}"
}
}
},
+40 -4
View File
@@ -1642,6 +1642,11 @@
"invalid_offer_id": "Invalid offer identifier",
"duplicate_offer_id": "Repeated offer identifier"
}
},
"bulk": {
"undo": "Undo",
"undoHint": "You can also restore individual offers from audit history.",
"undoSuccess": "Restored {count} offers."
}
},
"shop": {
@@ -2391,7 +2396,8 @@
"fullStory": "Article content",
"status": "Publication status",
"publishAt": "Scheduled publication",
"publishedAt": "Publication date"
"publishedAt": "Publication date",
"pageId": "Category"
}
}
},
@@ -3475,11 +3481,11 @@
},
"performance": {
"title": "Request performance",
"scope": "Authenticated HK APIs: server time until the response is ready. This does not measure browser rendering or public pages.",
"scope": "Server measurements for authenticated HK APIs and selected public page components. Choose a group below.",
"refresh": "Refresh",
"shared": "Shared diagnostics via Redis.",
"local": "Local diagnostics for this instance only; cleared on restart.",
"retention": "Up to 200 recent requests, retained for one hour. Collection is best effort.",
"retention": "Up to 200 recent samples per group, retained for one hour. Collection is best effort.",
"search": "Route or operation ID",
"sort": "Order",
"slowest": "Slowest first",
@@ -3494,7 +3500,18 @@
"calls": "{count} calls",
"failures": "{count} failures",
"streaming": "Streaming response: timing stops at response creation, not at the end of the operation.",
"operation": "Operation ID"
"operation": "Operation ID",
"kind": "Measurement group",
"adminApi": "HK APIs",
"publicPage": "Public pages",
"applyFilters": "Apply filters",
"publicBoundary": "Public measurements cover the root server page component on /me, news, profiles, events and search. They exclude metadata, separately rendered children, network transfer and browser rendering. Component outcomes are not HTTP response codes. Static build invocations are excluded.",
"outcomes": {
"completed": "Component completed",
"failed": "Component failed",
"redirect": "Redirect",
"not-found": "Page not found"
}
},
"importProgress": {
"validating": "Checking local data",
@@ -3876,6 +3893,25 @@
},
"openAudit": "Open Catalog audit to resolve conflicts",
"excludedConflicts": "{count, plural, one {# item needs review and is excluded from this import.} other {# items need review and are excluded from this import.}}"
},
"preflight": {
"filterLabel": "Filter import checks",
"filters": {
"all": "All ({count})",
"complete": "To complete ({count})",
"conflict": "Conflicts ({count})",
"verify": "To verify ({count})"
},
"empty": "No furniture in this group.",
"actions": {
"complete": "Suggested: complete existing furniture",
"import": "Suggested: import new furniture",
"refresh": "Existing furniture is complete; refresh source data",
"conflict": "Resolve the conflicting local records before import",
"verify": "Review the unverified components before continuing"
},
"missing": "Missing: {parts}",
"unknown": "Not verified: {parts}"
}
}
}
+40 -4
View File
@@ -1643,6 +1643,11 @@
"invalid_offer_id": "Invalid offer identifier",
"duplicate_offer_id": "Repeated offer identifier"
}
},
"bulk": {
"undo": "Undo",
"undoHint": "You can also restore individual offers from audit history.",
"undoSuccess": "Restored {count} offers."
}
},
"shop": {
@@ -2392,7 +2397,8 @@
"fullStory": "Article content",
"status": "Publication status",
"publishAt": "Scheduled publication",
"publishedAt": "Publication date"
"publishedAt": "Publication date",
"pageId": "Category"
}
}
},
@@ -3476,11 +3482,11 @@
},
"performance": {
"title": "Request performance",
"scope": "Authenticated HK APIs: server time until the response is ready. This does not measure browser rendering or public pages.",
"scope": "Server measurements for authenticated HK APIs and selected public page components. Choose a group below.",
"refresh": "Refresh",
"shared": "Shared diagnostics via Redis.",
"local": "Local diagnostics for this instance only; cleared on restart.",
"retention": "Up to 200 recent requests, retained for one hour. Collection is best effort.",
"retention": "Up to 200 recent samples per group, retained for one hour. Collection is best effort.",
"search": "Route or operation ID",
"sort": "Order",
"slowest": "Slowest first",
@@ -3495,7 +3501,18 @@
"calls": "{count} calls",
"failures": "{count} failures",
"streaming": "Streaming response: timing stops at response creation, not at the end of the operation.",
"operation": "Operation ID"
"operation": "Operation ID",
"kind": "Measurement group",
"adminApi": "HK APIs",
"publicPage": "Public pages",
"applyFilters": "Apply filters",
"publicBoundary": "Public measurements cover the root server page component on /me, news, profiles, events and search. They exclude metadata, separately rendered children, network transfer and browser rendering. Component outcomes are not HTTP response codes. Static build invocations are excluded.",
"outcomes": {
"completed": "Component completed",
"failed": "Component failed",
"redirect": "Redirect",
"not-found": "Page not found"
}
},
"importProgress": {
"validating": "Checking local data",
@@ -3877,6 +3894,25 @@
},
"openAudit": "Open Catalog audit to resolve conflicts",
"excludedConflicts": "{count, plural, one {# item needs review and is excluded from this import.} other {# items need review and are excluded from this import.}}"
},
"preflight": {
"filterLabel": "Filter import checks",
"filters": {
"all": "All ({count})",
"complete": "To complete ({count})",
"conflict": "Conflicts ({count})",
"verify": "To verify ({count})"
},
"empty": "No furniture in this group.",
"actions": {
"complete": "Suggested: complete existing furniture",
"import": "Suggested: import new furniture",
"refresh": "Existing furniture is complete; refresh source data",
"conflict": "Resolve the conflicting local records before import",
"verify": "Review the unverified components before continuing"
},
"missing": "Missing: {parts}",
"unknown": "Not verified: {parts}"
}
}
}
+40 -4
View File
@@ -1643,6 +1643,11 @@
"invalid_offer_id": "Invalid offer identifier",
"duplicate_offer_id": "Repeated offer identifier"
}
},
"bulk": {
"undo": "Undo",
"undoHint": "You can also restore individual offers from audit history.",
"undoSuccess": "Restored {count} offers."
}
},
"shop": {
@@ -2392,7 +2397,8 @@
"fullStory": "Article content",
"status": "Publication status",
"publishAt": "Scheduled publication",
"publishedAt": "Publication date"
"publishedAt": "Publication date",
"pageId": "Category"
}
}
},
@@ -3476,11 +3482,11 @@
},
"performance": {
"title": "Request performance",
"scope": "Authenticated HK APIs: server time until the response is ready. This does not measure browser rendering or public pages.",
"scope": "Server measurements for authenticated HK APIs and selected public page components. Choose a group below.",
"refresh": "Refresh",
"shared": "Shared diagnostics via Redis.",
"local": "Local diagnostics for this instance only; cleared on restart.",
"retention": "Up to 200 recent requests, retained for one hour. Collection is best effort.",
"retention": "Up to 200 recent samples per group, retained for one hour. Collection is best effort.",
"search": "Route or operation ID",
"sort": "Order",
"slowest": "Slowest first",
@@ -3495,7 +3501,18 @@
"calls": "{count} calls",
"failures": "{count} failures",
"streaming": "Streaming response: timing stops at response creation, not at the end of the operation.",
"operation": "Operation ID"
"operation": "Operation ID",
"kind": "Measurement group",
"adminApi": "HK APIs",
"publicPage": "Public pages",
"applyFilters": "Apply filters",
"publicBoundary": "Public measurements cover the root server page component on /me, news, profiles, events and search. They exclude metadata, separately rendered children, network transfer and browser rendering. Component outcomes are not HTTP response codes. Static build invocations are excluded.",
"outcomes": {
"completed": "Component completed",
"failed": "Component failed",
"redirect": "Redirect",
"not-found": "Page not found"
}
},
"importProgress": {
"validating": "Checking local data",
@@ -3877,6 +3894,25 @@
},
"openAudit": "Open Catalog audit to resolve conflicts",
"excludedConflicts": "{count, plural, one {# item needs review and is excluded from this import.} other {# items need review and are excluded from this import.}}"
},
"preflight": {
"filterLabel": "Filter import checks",
"filters": {
"all": "All ({count})",
"complete": "To complete ({count})",
"conflict": "Conflicts ({count})",
"verify": "To verify ({count})"
},
"empty": "No furniture in this group.",
"actions": {
"complete": "Suggested: complete existing furniture",
"import": "Suggested: import new furniture",
"refresh": "Existing furniture is complete; refresh source data",
"conflict": "Resolve the conflicting local records before import",
"verify": "Review the unverified components before continuing"
},
"missing": "Missing: {parts}",
"unknown": "Not verified: {parts}"
}
}
}
+40 -4
View File
@@ -1642,6 +1642,11 @@
"invalid_offer_id": "Invalid offer identifier",
"duplicate_offer_id": "Repeated offer identifier"
}
},
"bulk": {
"undo": "Undo",
"undoHint": "You can also restore individual offers from audit history.",
"undoSuccess": "Restored {count} offers."
}
},
"shop": {
@@ -2391,7 +2396,8 @@
"fullStory": "Article content",
"status": "Publication status",
"publishAt": "Scheduled publication",
"publishedAt": "Publication date"
"publishedAt": "Publication date",
"pageId": "Category"
}
}
},
@@ -3475,11 +3481,11 @@
},
"performance": {
"title": "Request performance",
"scope": "Authenticated HK APIs: server time until the response is ready. This does not measure browser rendering or public pages.",
"scope": "Server measurements for authenticated HK APIs and selected public page components. Choose a group below.",
"refresh": "Refresh",
"shared": "Shared diagnostics via Redis.",
"local": "Local diagnostics for this instance only; cleared on restart.",
"retention": "Up to 200 recent requests, retained for one hour. Collection is best effort.",
"retention": "Up to 200 recent samples per group, retained for one hour. Collection is best effort.",
"search": "Route or operation ID",
"sort": "Order",
"slowest": "Slowest first",
@@ -3494,7 +3500,18 @@
"calls": "{count} calls",
"failures": "{count} failures",
"streaming": "Streaming response: timing stops at response creation, not at the end of the operation.",
"operation": "Operation ID"
"operation": "Operation ID",
"kind": "Measurement group",
"adminApi": "HK APIs",
"publicPage": "Public pages",
"applyFilters": "Apply filters",
"publicBoundary": "Public measurements cover the root server page component on /me, news, profiles, events and search. They exclude metadata, separately rendered children, network transfer and browser rendering. Component outcomes are not HTTP response codes. Static build invocations are excluded.",
"outcomes": {
"completed": "Component completed",
"failed": "Component failed",
"redirect": "Redirect",
"not-found": "Page not found"
}
},
"importProgress": {
"validating": "Checking local data",
@@ -3876,6 +3893,25 @@
},
"openAudit": "Open Catalog audit to resolve conflicts",
"excludedConflicts": "{count, plural, one {# item needs review and is excluded from this import.} other {# items need review and are excluded from this import.}}"
},
"preflight": {
"filterLabel": "Filter import checks",
"filters": {
"all": "All ({count})",
"complete": "To complete ({count})",
"conflict": "Conflicts ({count})",
"verify": "To verify ({count})"
},
"empty": "No furniture in this group.",
"actions": {
"complete": "Suggested: complete existing furniture",
"import": "Suggested: import new furniture",
"refresh": "Existing furniture is complete; refresh source data",
"conflict": "Resolve the conflicting local records before import",
"verify": "Review the unverified components before continuing"
},
"missing": "Missing: {parts}",
"unknown": "Not verified: {parts}"
}
}
}
+40 -4
View File
@@ -1641,6 +1641,11 @@
"invalid_offer_id": "Invalid offer identifier",
"duplicate_offer_id": "Repeated offer identifier"
}
},
"bulk": {
"undo": "Undo",
"undoHint": "You can also restore individual offers from audit history.",
"undoSuccess": "Restored {count} offers."
}
},
"shop": {
@@ -2390,7 +2395,8 @@
"fullStory": "Article content",
"status": "Publication status",
"publishAt": "Scheduled publication",
"publishedAt": "Publication date"
"publishedAt": "Publication date",
"pageId": "Category"
}
}
},
@@ -3474,11 +3480,11 @@
},
"performance": {
"title": "Request performance",
"scope": "Authenticated HK APIs: server time until the response is ready. This does not measure browser rendering or public pages.",
"scope": "Server measurements for authenticated HK APIs and selected public page components. Choose a group below.",
"refresh": "Refresh",
"shared": "Shared diagnostics via Redis.",
"local": "Local diagnostics for this instance only; cleared on restart.",
"retention": "Up to 200 recent requests, retained for one hour. Collection is best effort.",
"retention": "Up to 200 recent samples per group, retained for one hour. Collection is best effort.",
"search": "Route or operation ID",
"sort": "Order",
"slowest": "Slowest first",
@@ -3493,7 +3499,18 @@
"calls": "{count} calls",
"failures": "{count} failures",
"streaming": "Streaming response: timing stops at response creation, not at the end of the operation.",
"operation": "Operation ID"
"operation": "Operation ID",
"kind": "Measurement group",
"adminApi": "HK APIs",
"publicPage": "Public pages",
"applyFilters": "Apply filters",
"publicBoundary": "Public measurements cover the root server page component on /me, news, profiles, events and search. They exclude metadata, separately rendered children, network transfer and browser rendering. Component outcomes are not HTTP response codes. Static build invocations are excluded.",
"outcomes": {
"completed": "Component completed",
"failed": "Component failed",
"redirect": "Redirect",
"not-found": "Page not found"
}
},
"importProgress": {
"validating": "Checking local data",
@@ -3875,6 +3892,25 @@
},
"openAudit": "Open Catalog audit to resolve conflicts",
"excludedConflicts": "{count, plural, one {# item needs review and is excluded from this import.} other {# items need review and are excluded from this import.}}"
},
"preflight": {
"filterLabel": "Filter import checks",
"filters": {
"all": "All ({count})",
"complete": "To complete ({count})",
"conflict": "Conflicts ({count})",
"verify": "To verify ({count})"
},
"empty": "No furniture in this group.",
"actions": {
"complete": "Suggested: complete existing furniture",
"import": "Suggested: import new furniture",
"refresh": "Existing furniture is complete; refresh source data",
"conflict": "Resolve the conflicting local records before import",
"verify": "Review the unverified components before continuing"
},
"missing": "Missing: {parts}",
"unknown": "Not verified: {parts}"
}
}
}
+40 -4
View File
@@ -1642,6 +1642,11 @@
"invalid_offer_id": "Invalid offer identifier",
"duplicate_offer_id": "Repeated offer identifier"
}
},
"bulk": {
"undo": "Undo",
"undoHint": "You can also restore individual offers from audit history.",
"undoSuccess": "Restored {count} offers."
}
},
"shop": {
@@ -2391,7 +2396,8 @@
"fullStory": "Article content",
"status": "Publication status",
"publishAt": "Scheduled publication",
"publishedAt": "Publication date"
"publishedAt": "Publication date",
"pageId": "Category"
}
}
},
@@ -3475,11 +3481,11 @@
},
"performance": {
"title": "Request performance",
"scope": "Authenticated HK APIs: server time until the response is ready. This does not measure browser rendering or public pages.",
"scope": "Server measurements for authenticated HK APIs and selected public page components. Choose a group below.",
"refresh": "Refresh",
"shared": "Shared diagnostics via Redis.",
"local": "Local diagnostics for this instance only; cleared on restart.",
"retention": "Up to 200 recent requests, retained for one hour. Collection is best effort.",
"retention": "Up to 200 recent samples per group, retained for one hour. Collection is best effort.",
"search": "Route or operation ID",
"sort": "Order",
"slowest": "Slowest first",
@@ -3494,7 +3500,18 @@
"calls": "{count} calls",
"failures": "{count} failures",
"streaming": "Streaming response: timing stops at response creation, not at the end of the operation.",
"operation": "Operation ID"
"operation": "Operation ID",
"kind": "Measurement group",
"adminApi": "HK APIs",
"publicPage": "Public pages",
"applyFilters": "Apply filters",
"publicBoundary": "Public measurements cover the root server page component on /me, news, profiles, events and search. They exclude metadata, separately rendered children, network transfer and browser rendering. Component outcomes are not HTTP response codes. Static build invocations are excluded.",
"outcomes": {
"completed": "Component completed",
"failed": "Component failed",
"redirect": "Redirect",
"not-found": "Page not found"
}
},
"importProgress": {
"validating": "Checking local data",
@@ -3876,6 +3893,25 @@
},
"openAudit": "Open Catalog audit to resolve conflicts",
"excludedConflicts": "{count, plural, one {# item needs review and is excluded from this import.} other {# items need review and are excluded from this import.}}"
},
"preflight": {
"filterLabel": "Filter import checks",
"filters": {
"all": "All ({count})",
"complete": "To complete ({count})",
"conflict": "Conflicts ({count})",
"verify": "To verify ({count})"
},
"empty": "No furniture in this group.",
"actions": {
"complete": "Suggested: complete existing furniture",
"import": "Suggested: import new furniture",
"refresh": "Existing furniture is complete; refresh source data",
"conflict": "Resolve the conflicting local records before import",
"verify": "Review the unverified components before continuing"
},
"missing": "Missing: {parts}",
"unknown": "Not verified: {parts}"
}
}
}
+40 -4
View File
@@ -1642,6 +1642,11 @@
"invalid_offer_id": "Invalid offer identifier",
"duplicate_offer_id": "Repeated offer identifier"
}
},
"bulk": {
"undo": "Undo",
"undoHint": "You can also restore individual offers from audit history.",
"undoSuccess": "Restored {count} offers."
}
},
"shop": {
@@ -2391,7 +2396,8 @@
"fullStory": "Article content",
"status": "Publication status",
"publishAt": "Scheduled publication",
"publishedAt": "Publication date"
"publishedAt": "Publication date",
"pageId": "Category"
}
}
},
@@ -3475,11 +3481,11 @@
},
"performance": {
"title": "Request performance",
"scope": "Authenticated HK APIs: server time until the response is ready. This does not measure browser rendering or public pages.",
"scope": "Server measurements for authenticated HK APIs and selected public page components. Choose a group below.",
"refresh": "Refresh",
"shared": "Shared diagnostics via Redis.",
"local": "Local diagnostics for this instance only; cleared on restart.",
"retention": "Up to 200 recent requests, retained for one hour. Collection is best effort.",
"retention": "Up to 200 recent samples per group, retained for one hour. Collection is best effort.",
"search": "Route or operation ID",
"sort": "Order",
"slowest": "Slowest first",
@@ -3494,7 +3500,18 @@
"calls": "{count} calls",
"failures": "{count} failures",
"streaming": "Streaming response: timing stops at response creation, not at the end of the operation.",
"operation": "Operation ID"
"operation": "Operation ID",
"kind": "Measurement group",
"adminApi": "HK APIs",
"publicPage": "Public pages",
"applyFilters": "Apply filters",
"publicBoundary": "Public measurements cover the root server page component on /me, news, profiles, events and search. They exclude metadata, separately rendered children, network transfer and browser rendering. Component outcomes are not HTTP response codes. Static build invocations are excluded.",
"outcomes": {
"completed": "Component completed",
"failed": "Component failed",
"redirect": "Redirect",
"not-found": "Page not found"
}
},
"importProgress": {
"validating": "Checking local data",
@@ -3876,6 +3893,25 @@
},
"openAudit": "Open Catalog audit to resolve conflicts",
"excludedConflicts": "{count, plural, one {# item needs review and is excluded from this import.} other {# items need review and are excluded from this import.}}"
},
"preflight": {
"filterLabel": "Filter import checks",
"filters": {
"all": "All ({count})",
"complete": "To complete ({count})",
"conflict": "Conflicts ({count})",
"verify": "To verify ({count})"
},
"empty": "No furniture in this group.",
"actions": {
"complete": "Suggested: complete existing furniture",
"import": "Suggested: import new furniture",
"refresh": "Existing furniture is complete; refresh source data",
"conflict": "Resolve the conflicting local records before import",
"verify": "Review the unverified components before continuing"
},
"missing": "Missing: {parts}",
"unknown": "Not verified: {parts}"
}
}
}
+40 -4
View File
@@ -1642,6 +1642,11 @@
"invalid_offer_id": "Invalid offer identifier",
"duplicate_offer_id": "Repeated offer identifier"
}
},
"bulk": {
"undo": "Undo",
"undoHint": "You can also restore individual offers from audit history.",
"undoSuccess": "Restored {count} offers."
}
},
"shop": {
@@ -2391,7 +2396,8 @@
"fullStory": "Article content",
"status": "Publication status",
"publishAt": "Scheduled publication",
"publishedAt": "Publication date"
"publishedAt": "Publication date",
"pageId": "Category"
}
}
},
@@ -3475,11 +3481,11 @@
},
"performance": {
"title": "Request performance",
"scope": "Authenticated HK APIs: server time until the response is ready. This does not measure browser rendering or public pages.",
"scope": "Server measurements for authenticated HK APIs and selected public page components. Choose a group below.",
"refresh": "Refresh",
"shared": "Shared diagnostics via Redis.",
"local": "Local diagnostics for this instance only; cleared on restart.",
"retention": "Up to 200 recent requests, retained for one hour. Collection is best effort.",
"retention": "Up to 200 recent samples per group, retained for one hour. Collection is best effort.",
"search": "Route or operation ID",
"sort": "Order",
"slowest": "Slowest first",
@@ -3494,7 +3500,18 @@
"calls": "{count} calls",
"failures": "{count} failures",
"streaming": "Streaming response: timing stops at response creation, not at the end of the operation.",
"operation": "Operation ID"
"operation": "Operation ID",
"kind": "Measurement group",
"adminApi": "HK APIs",
"publicPage": "Public pages",
"applyFilters": "Apply filters",
"publicBoundary": "Public measurements cover the root server page component on /me, news, profiles, events and search. They exclude metadata, separately rendered children, network transfer and browser rendering. Component outcomes are not HTTP response codes. Static build invocations are excluded.",
"outcomes": {
"completed": "Component completed",
"failed": "Component failed",
"redirect": "Redirect",
"not-found": "Page not found"
}
},
"importProgress": {
"validating": "Checking local data",
@@ -3876,6 +3893,25 @@
},
"openAudit": "Open Catalog audit to resolve conflicts",
"excludedConflicts": "{count, plural, one {# item needs review and is excluded from this import.} other {# items need review and are excluded from this import.}}"
},
"preflight": {
"filterLabel": "Filter import checks",
"filters": {
"all": "All ({count})",
"complete": "To complete ({count})",
"conflict": "Conflicts ({count})",
"verify": "To verify ({count})"
},
"empty": "No furniture in this group.",
"actions": {
"complete": "Suggested: complete existing furniture",
"import": "Suggested: import new furniture",
"refresh": "Existing furniture is complete; refresh source data",
"conflict": "Resolve the conflicting local records before import",
"verify": "Review the unverified components before continuing"
},
"missing": "Missing: {parts}",
"unknown": "Not verified: {parts}"
}
}
}
+40 -4
View File
@@ -1643,6 +1643,11 @@
"invalid_offer_id": "Invalid offer identifier",
"duplicate_offer_id": "Repeated offer identifier"
}
},
"bulk": {
"undo": "Undo",
"undoHint": "You can also restore individual offers from audit history.",
"undoSuccess": "Restored {count} offers."
}
},
"shop": {
@@ -2392,7 +2397,8 @@
"fullStory": "Article content",
"status": "Publication status",
"publishAt": "Scheduled publication",
"publishedAt": "Publication date"
"publishedAt": "Publication date",
"pageId": "Category"
}
}
},
@@ -3476,11 +3482,11 @@
},
"performance": {
"title": "Request performance",
"scope": "Authenticated HK APIs: server time until the response is ready. This does not measure browser rendering or public pages.",
"scope": "Server measurements for authenticated HK APIs and selected public page components. Choose a group below.",
"refresh": "Refresh",
"shared": "Shared diagnostics via Redis.",
"local": "Local diagnostics for this instance only; cleared on restart.",
"retention": "Up to 200 recent requests, retained for one hour. Collection is best effort.",
"retention": "Up to 200 recent samples per group, retained for one hour. Collection is best effort.",
"search": "Route or operation ID",
"sort": "Order",
"slowest": "Slowest first",
@@ -3495,7 +3501,18 @@
"calls": "{count} calls",
"failures": "{count} failures",
"streaming": "Streaming response: timing stops at response creation, not at the end of the operation.",
"operation": "Operation ID"
"operation": "Operation ID",
"kind": "Measurement group",
"adminApi": "HK APIs",
"publicPage": "Public pages",
"applyFilters": "Apply filters",
"publicBoundary": "Public measurements cover the root server page component on /me, news, profiles, events and search. They exclude metadata, separately rendered children, network transfer and browser rendering. Component outcomes are not HTTP response codes. Static build invocations are excluded.",
"outcomes": {
"completed": "Component completed",
"failed": "Component failed",
"redirect": "Redirect",
"not-found": "Page not found"
}
},
"importProgress": {
"validating": "Checking local data",
@@ -3877,6 +3894,25 @@
},
"openAudit": "Open Catalog audit to resolve conflicts",
"excludedConflicts": "{count, plural, one {# item needs review and is excluded from this import.} other {# items need review and are excluded from this import.}}"
},
"preflight": {
"filterLabel": "Filter import checks",
"filters": {
"all": "All ({count})",
"complete": "To complete ({count})",
"conflict": "Conflicts ({count})",
"verify": "To verify ({count})"
},
"empty": "No furniture in this group.",
"actions": {
"complete": "Suggested: complete existing furniture",
"import": "Suggested: import new furniture",
"refresh": "Existing furniture is complete; refresh source data",
"conflict": "Resolve the conflicting local records before import",
"verify": "Review the unverified components before continuing"
},
"missing": "Missing: {parts}",
"unknown": "Not verified: {parts}"
}
}
}
+40 -4
View File
@@ -1642,6 +1642,11 @@
"invalid_offer_id": "Invalid offer identifier",
"duplicate_offer_id": "Repeated offer identifier"
}
},
"bulk": {
"undo": "Undo",
"undoHint": "You can also restore individual offers from audit history.",
"undoSuccess": "Restored {count} offers."
}
},
"shop": {
@@ -2391,7 +2396,8 @@
"fullStory": "Article content",
"status": "Publication status",
"publishAt": "Scheduled publication",
"publishedAt": "Publication date"
"publishedAt": "Publication date",
"pageId": "Category"
}
}
},
@@ -3475,11 +3481,11 @@
},
"performance": {
"title": "Request performance",
"scope": "Authenticated HK APIs: server time until the response is ready. This does not measure browser rendering or public pages.",
"scope": "Server measurements for authenticated HK APIs and selected public page components. Choose a group below.",
"refresh": "Refresh",
"shared": "Shared diagnostics via Redis.",
"local": "Local diagnostics for this instance only; cleared on restart.",
"retention": "Up to 200 recent requests, retained for one hour. Collection is best effort.",
"retention": "Up to 200 recent samples per group, retained for one hour. Collection is best effort.",
"search": "Route or operation ID",
"sort": "Order",
"slowest": "Slowest first",
@@ -3494,7 +3500,18 @@
"calls": "{count} calls",
"failures": "{count} failures",
"streaming": "Streaming response: timing stops at response creation, not at the end of the operation.",
"operation": "Operation ID"
"operation": "Operation ID",
"kind": "Measurement group",
"adminApi": "HK APIs",
"publicPage": "Public pages",
"applyFilters": "Apply filters",
"publicBoundary": "Public measurements cover the root server page component on /me, news, profiles, events and search. They exclude metadata, separately rendered children, network transfer and browser rendering. Component outcomes are not HTTP response codes. Static build invocations are excluded.",
"outcomes": {
"completed": "Component completed",
"failed": "Component failed",
"redirect": "Redirect",
"not-found": "Page not found"
}
},
"importProgress": {
"validating": "Checking local data",
@@ -3876,6 +3893,25 @@
},
"openAudit": "Open Catalog audit to resolve conflicts",
"excludedConflicts": "{count, plural, one {# item needs review and is excluded from this import.} other {# items need review and are excluded from this import.}}"
},
"preflight": {
"filterLabel": "Filter import checks",
"filters": {
"all": "All ({count})",
"complete": "To complete ({count})",
"conflict": "Conflicts ({count})",
"verify": "To verify ({count})"
},
"empty": "No furniture in this group.",
"actions": {
"complete": "Suggested: complete existing furniture",
"import": "Suggested: import new furniture",
"refresh": "Existing furniture is complete; refresh source data",
"conflict": "Resolve the conflicting local records before import",
"verify": "Review the unverified components before continuing"
},
"missing": "Missing: {parts}",
"unknown": "Not verified: {parts}"
}
}
}