feat(catalog): add saved packages, preview and bulk price editing
This commit is contained in:
1 parent
867113d5d4
commit
047cd9f3dd
48 files changed
+7712
No files matched your search
@@ -126,6 +126,161 @@
|
||||
"publications": "News drafts",
|
||||
"unavailable": "{source}: data is temporarily unavailable.",
|
||||
"installation": "Installation diagnostics"
|
||||
},
|
||||
"catalog": {
|
||||
"packages": {
|
||||
"openPackages": "Catalog packages",
|
||||
"title": "Catalog packages",
|
||||
"description": "Prepare category and price changes in a separate draft. Review the catalog before publishing.",
|
||||
"createPackage": "New package",
|
||||
"createDraft": "Create draft",
|
||||
"draftCreated": "Package draft created. The live catalog has not changed.",
|
||||
"refresh": "Refresh list",
|
||||
"searchPackages": "Search packages",
|
||||
"noPackages": "No packages match this search.",
|
||||
"choosePackage": "Open a package or create a draft from existing categories.",
|
||||
"name": "Package name",
|
||||
"mode": "Publication mode",
|
||||
"update": "Update existing categories",
|
||||
"copy": "Create copies",
|
||||
"updateHint": "Publication applies the package to its existing categories and offers.",
|
||||
"copyHint": "Publication creates new categories and offers under the selected parent. Furniture references are preserved.",
|
||||
"sourceCategories": "Source categories",
|
||||
"packageLimits": "Descendant categories are included. Each package supports up to 200 categories and 500 offers.",
|
||||
"searchCategories": "Search categories",
|
||||
"selectedCategories": "Selected: {count}",
|
||||
"targetParent": "Destination parent category",
|
||||
"rootCategory": "Catalog root",
|
||||
"draft": "Draft",
|
||||
"published": "Published",
|
||||
"editDraft": "Edit draft",
|
||||
"catalogPreview": "Catalog preview",
|
||||
"showBaseline": "Show the original saved snapshot",
|
||||
"changes": "Before and after",
|
||||
"entry": "Entry",
|
||||
"field": "Field",
|
||||
"before": "Before",
|
||||
"after": "After",
|
||||
"noChanges": "No edited fields compared with the original snapshot.",
|
||||
"copyReview": "The entire package will be copied on publication, even if no fields were edited. The table lists edits to the original snapshot.",
|
||||
"updateReview": "These draft changes will update existing catalog entries after publication.",
|
||||
"saveDraft": "Save draft",
|
||||
"saveHint": "Saving keeps the package as a draft. Save all changes before requesting a publication review.",
|
||||
"draftSaved": "Draft saved. Publication is a separate step.",
|
||||
"reviewPublication": "Review publication",
|
||||
"publicationImpact": "Publication affects {pages} categories and {offers} offers.",
|
||||
"conflicts": "Publication is blocked by conflicts. Resolve them before requesting another review.",
|
||||
"readyToPublish": "The saved version passed the publication check. Publishing changes the live catalog.",
|
||||
"publish": "Publish package",
|
||||
"confirmPublish": "Publish this reviewed package to the live catalog now?",
|
||||
"publishedSuccess": "Package published: {pages} categories and {offers} offers.",
|
||||
"staleReview": "This package changed in another session. Reopen it to review the latest saved version.",
|
||||
"unsaved": "Unsaved changes",
|
||||
"discardChanges": "Discard unsaved package changes and continue?",
|
||||
"working": "Working…",
|
||||
"requestFailed": "The request failed. Try again.",
|
||||
"invalidFields": "Check required names, layouts and whole-number fields before saving.",
|
||||
"category": "Category",
|
||||
"caption": "Category caption",
|
||||
"iconImage": "Category icon ID",
|
||||
"minRank": "Minimum rank",
|
||||
"orderNum": "Display order",
|
||||
"pageLayout": "Page layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"offers": "Offers ({count})",
|
||||
"offer": "Offer",
|
||||
"catalogName": "Offer name",
|
||||
"costCredits": "Credits",
|
||||
"costPoints": "Points",
|
||||
"pointsType": "Points currency ID",
|
||||
"amount": "Amount",
|
||||
"searchOffers": "Search offers",
|
||||
"currentCategoryOffers": "Only the selected category",
|
||||
"selectMatching": "Select all matching offers ({count})",
|
||||
"clearSelection": "Clear selection",
|
||||
"selectedOffers": "Selected offers: {count}",
|
||||
"select": "Select",
|
||||
"selectOffer": "Select offer #{id}",
|
||||
"noOffers": "No offers match these filters.",
|
||||
"bulkPrices": "Bulk draft prices ({count} selected)",
|
||||
"bulkHint": "Preview the selected price changes, then accept them into this draft. The live catalog remains unchanged until publication.",
|
||||
"operation": "Operation",
|
||||
"set": "Set value",
|
||||
"add": "Add or subtract",
|
||||
"percent": "Adjust by percent",
|
||||
"value": "Value",
|
||||
"reviewBulk": "Preview prices",
|
||||
"invalidBulk": "Choose valid numbers and at least one offer. Resulting prices must be nonnegative and within the supported range.",
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
}
|
||||
},
|
||||
"catalogPackages": {
|
||||
"backend": {
|
||||
"sourceChanged": "Source categories or offers changed since this package was created. Create a fresh package to include the current data.",
|
||||
"saveConflict": "Package changed. Reload it before saving",
|
||||
"publishConflict": "Package changed. Refresh the publication preview",
|
||||
"catalogChanged": "Catalog changed. Refresh the publication preview",
|
||||
"missing": "Catalog package not found",
|
||||
"pageLimit": "A package supports at most 200 categories including descendants",
|
||||
"offerLimit": "A package supports at most 500 offers",
|
||||
"payloadLimit": "Package data exceeds 8 MB safety limit",
|
||||
"membership": "Package membership cannot change",
|
||||
"hierarchy": "Package hierarchy cannot change",
|
||||
"references": "Package furniture references cannot change",
|
||||
"furnitureMissing": "Package furniture reference no longer exists",
|
||||
"auditWarning": "Package published, but audit logging failed.",
|
||||
"hotelWarning": "Package published, but the hotel update was not delivered.",
|
||||
"exportWarning": "Package published, but export scheduling failed.",
|
||||
"refreshWarning": "Package published. Refresh the page to see the latest catalog."
|
||||
}
|
||||
},
|
||||
"catalogPackagePreview": {
|
||||
"title": "Catalog preview",
|
||||
"hint": "Browse the actual package pages and offers. This is a catalog preview, not a full game-client rendering. No purchases are made.",
|
||||
"search": "Search categories or offers",
|
||||
"playerMode": "Player access",
|
||||
"rank": "Rank",
|
||||
"club": "Club",
|
||||
"vip": "VIP",
|
||||
"externalParents": "This selection starts inside a larger catalog. Access restrictions on ancestors outside this snapshot cannot be evaluated.",
|
||||
"invalidHierarchy": "{count} pages have a cyclic hierarchy and cannot be navigated.",
|
||||
"snapshotLimit": "Preview limited to 200 pages and 500 offers.",
|
||||
"restricted": "{count} pages are hidden by the selected player access settings.",
|
||||
"categories": "Catalog categories",
|
||||
"noPages": "This snapshot contains no categories.",
|
||||
"inaccessible": "No categories are accessible with these settings. Adjust player access or turn it off to inspect the draft.",
|
||||
"noMatches": "No matches for this search.",
|
||||
"offerCount": "{count} offers",
|
||||
"layout": "Layout: {layout}",
|
||||
"missingLayout": "Not specified",
|
||||
"unsupportedLayout": "This layout has no dedicated preview. The grid shows the actual offers; custom layout widgets and imagery are not reproduced.",
|
||||
"loadingIcons": "Loading furniture icons…",
|
||||
"assetsUnavailable": "Furniture details are temporarily unavailable. Offer data remains visible.",
|
||||
"assetLimit": "Icons and furniture names are limited to the first 200 item IDs on this view.",
|
||||
"emptyPage": "This category has no direct offers. Browse its subcategories.",
|
||||
"missingIcon": "Icon unavailable",
|
||||
"amount": "Quantity: {count}",
|
||||
"bundle": "{count} furniture types",
|
||||
"changed": "Changed from the saved baseline",
|
||||
"previous": "Previous",
|
||||
"next": "Next",
|
||||
"page": "Page {page} of {total}",
|
||||
"offerId": "Offer #{id}",
|
||||
"unknownFurniture": "Furniture name unavailable",
|
||||
"selectOffer": "Select an offer to inspect its price and furniture references.",
|
||||
"credits": "Credits",
|
||||
"duckets": "Duckets",
|
||||
"diamonds": "Diamonds",
|
||||
"pointsType": "Points (type {type}):",
|
||||
"free": "Free",
|
||||
"specialPricing": "Special pricing: {credits} credits, {points} points (type {type})",
|
||||
"restrictedOffers": "{count} offers in this category require Club membership.",
|
||||
"clubOffer": "Club offer"
|
||||
}
|
||||
},
|
||||
"myDashboard": {
|
||||
|
||||
@@ -1429,6 +1429,96 @@
|
||||
"save": "Запазете елемента",
|
||||
"saving": "Запазва се...",
|
||||
"cancel": "Отказ"
|
||||
},
|
||||
"packages": {
|
||||
"openPackages": "Catalog packages",
|
||||
"title": "Catalog packages",
|
||||
"description": "Prepare category and price changes in a separate draft. Review the catalog before publishing.",
|
||||
"createPackage": "New package",
|
||||
"createDraft": "Create draft",
|
||||
"draftCreated": "Package draft created. The live catalog has not changed.",
|
||||
"refresh": "Refresh list",
|
||||
"searchPackages": "Search packages",
|
||||
"noPackages": "No packages match this search.",
|
||||
"choosePackage": "Open a package or create a draft from existing categories.",
|
||||
"name": "Package name",
|
||||
"mode": "Publication mode",
|
||||
"update": "Update existing categories",
|
||||
"copy": "Create copies",
|
||||
"updateHint": "Publication applies the package to its existing categories and offers.",
|
||||
"copyHint": "Publication creates new categories and offers under the selected parent. Furniture references are preserved.",
|
||||
"sourceCategories": "Source categories",
|
||||
"packageLimits": "Descendant categories are included. Each package supports up to 200 categories and 500 offers.",
|
||||
"searchCategories": "Search categories",
|
||||
"selectedCategories": "Selected: {count}",
|
||||
"targetParent": "Destination parent category",
|
||||
"rootCategory": "Catalog root",
|
||||
"draft": "Draft",
|
||||
"published": "Published",
|
||||
"editDraft": "Edit draft",
|
||||
"catalogPreview": "Catalog preview",
|
||||
"showBaseline": "Show the original saved snapshot",
|
||||
"changes": "Before and after",
|
||||
"entry": "Entry",
|
||||
"field": "Field",
|
||||
"before": "Before",
|
||||
"after": "After",
|
||||
"noChanges": "No edited fields compared with the original snapshot.",
|
||||
"copyReview": "The entire package will be copied on publication, even if no fields were edited. The table lists edits to the original snapshot.",
|
||||
"updateReview": "These draft changes will update existing catalog entries after publication.",
|
||||
"saveDraft": "Save draft",
|
||||
"saveHint": "Saving keeps the package as a draft. Save all changes before requesting a publication review.",
|
||||
"draftSaved": "Draft saved. Publication is a separate step.",
|
||||
"reviewPublication": "Review publication",
|
||||
"publicationImpact": "Publication affects {pages} categories and {offers} offers.",
|
||||
"conflicts": "Publication is blocked by conflicts. Resolve them before requesting another review.",
|
||||
"readyToPublish": "The saved version passed the publication check. Publishing changes the live catalog.",
|
||||
"publish": "Publish package",
|
||||
"confirmPublish": "Publish this reviewed package to the live catalog now?",
|
||||
"publishedSuccess": "Package published: {pages} categories and {offers} offers.",
|
||||
"staleReview": "This package changed in another session. Reopen it to review the latest saved version.",
|
||||
"unsaved": "Unsaved changes",
|
||||
"discardChanges": "Discard unsaved package changes and continue?",
|
||||
"working": "Working…",
|
||||
"requestFailed": "The request failed. Try again.",
|
||||
"invalidFields": "Check required names, layouts and whole-number fields before saving.",
|
||||
"category": "Category",
|
||||
"caption": "Category caption",
|
||||
"iconImage": "Category icon ID",
|
||||
"minRank": "Minimum rank",
|
||||
"orderNum": "Display order",
|
||||
"pageLayout": "Page layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"offers": "Offers ({count})",
|
||||
"offer": "Offer",
|
||||
"catalogName": "Offer name",
|
||||
"costCredits": "Credits",
|
||||
"costPoints": "Points",
|
||||
"pointsType": "Points currency ID",
|
||||
"amount": "Amount",
|
||||
"searchOffers": "Search offers",
|
||||
"currentCategoryOffers": "Only the selected category",
|
||||
"selectMatching": "Select all matching offers ({count})",
|
||||
"clearSelection": "Clear selection",
|
||||
"selectedOffers": "Selected offers: {count}",
|
||||
"select": "Select",
|
||||
"selectOffer": "Select offer #{id}",
|
||||
"noOffers": "No offers match these filters.",
|
||||
"bulkPrices": "Bulk draft prices ({count} selected)",
|
||||
"bulkHint": "Preview the selected price changes, then accept them into this draft. The live catalog remains unchanged until publication.",
|
||||
"operation": "Operation",
|
||||
"set": "Set value",
|
||||
"add": "Add or subtract",
|
||||
"percent": "Adjust by percent",
|
||||
"value": "Value",
|
||||
"reviewBulk": "Preview prices",
|
||||
"invalidBulk": "Choose valid numbers and at least one offer. Resulting prices must be nonnegative and within the supported range.",
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -3084,6 +3174,69 @@
|
||||
"publications": "News drafts",
|
||||
"unavailable": "{source}: data is temporarily unavailable.",
|
||||
"installation": "Installation diagnostics"
|
||||
},
|
||||
"catalogPackages": {
|
||||
"backend": {
|
||||
"sourceChanged": "Source categories or offers changed since this package was created. Create a fresh package to include the current data.",
|
||||
"saveConflict": "Package changed. Reload it before saving",
|
||||
"publishConflict": "Package changed. Refresh the publication preview",
|
||||
"catalogChanged": "Catalog changed. Refresh the publication preview",
|
||||
"missing": "Catalog package not found",
|
||||
"pageLimit": "A package supports at most 200 categories including descendants",
|
||||
"offerLimit": "A package supports at most 500 offers",
|
||||
"payloadLimit": "Package data exceeds 8 MB safety limit",
|
||||
"membership": "Package membership cannot change",
|
||||
"hierarchy": "Package hierarchy cannot change",
|
||||
"references": "Package furniture references cannot change",
|
||||
"furnitureMissing": "Package furniture reference no longer exists",
|
||||
"auditWarning": "Package published, but audit logging failed.",
|
||||
"hotelWarning": "Package published, but the hotel update was not delivered.",
|
||||
"exportWarning": "Package published, but export scheduling failed.",
|
||||
"refreshWarning": "Package published. Refresh the page to see the latest catalog."
|
||||
}
|
||||
},
|
||||
"catalogPackagePreview": {
|
||||
"title": "Catalog preview",
|
||||
"hint": "Browse the actual package pages and offers. This is a catalog preview, not a full game-client rendering. No purchases are made.",
|
||||
"search": "Search categories or offers",
|
||||
"playerMode": "Player access",
|
||||
"rank": "Rank",
|
||||
"club": "Club",
|
||||
"vip": "VIP",
|
||||
"externalParents": "This selection starts inside a larger catalog. Access restrictions on ancestors outside this snapshot cannot be evaluated.",
|
||||
"invalidHierarchy": "{count} pages have a cyclic hierarchy and cannot be navigated.",
|
||||
"snapshotLimit": "Preview limited to 200 pages and 500 offers.",
|
||||
"restricted": "{count} pages are hidden by the selected player access settings.",
|
||||
"categories": "Catalog categories",
|
||||
"noPages": "This snapshot contains no categories.",
|
||||
"inaccessible": "No categories are accessible with these settings. Adjust player access or turn it off to inspect the draft.",
|
||||
"noMatches": "No matches for this search.",
|
||||
"offerCount": "{count} offers",
|
||||
"layout": "Layout: {layout}",
|
||||
"missingLayout": "Not specified",
|
||||
"unsupportedLayout": "This layout has no dedicated preview. The grid shows the actual offers; custom layout widgets and imagery are not reproduced.",
|
||||
"loadingIcons": "Loading furniture icons…",
|
||||
"assetsUnavailable": "Furniture details are temporarily unavailable. Offer data remains visible.",
|
||||
"assetLimit": "Icons and furniture names are limited to the first 200 item IDs on this view.",
|
||||
"emptyPage": "This category has no direct offers. Browse its subcategories.",
|
||||
"missingIcon": "Icon unavailable",
|
||||
"amount": "Quantity: {count}",
|
||||
"bundle": "{count} furniture types",
|
||||
"changed": "Changed from the saved baseline",
|
||||
"previous": "Previous",
|
||||
"next": "Next",
|
||||
"page": "Page {page} of {total}",
|
||||
"offerId": "Offer #{id}",
|
||||
"unknownFurniture": "Furniture name unavailable",
|
||||
"selectOffer": "Select an offer to inspect its price and furniture references.",
|
||||
"credits": "Credits",
|
||||
"duckets": "Duckets",
|
||||
"diamonds": "Diamonds",
|
||||
"pointsType": "Points (type {type}):",
|
||||
"free": "Free",
|
||||
"specialPricing": "Special pricing: {credits} credits, {points} points (type {type})",
|
||||
"restrictedOffers": "{count} offers in this category require Club membership.",
|
||||
"clubOffer": "Club offer"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
@@ -1429,6 +1429,96 @@
|
||||
"save": "Uložit položku",
|
||||
"saving": "Ukládání…",
|
||||
"cancel": "Zrušit"
|
||||
},
|
||||
"packages": {
|
||||
"openPackages": "Catalog packages",
|
||||
"title": "Catalog packages",
|
||||
"description": "Prepare category and price changes in a separate draft. Review the catalog before publishing.",
|
||||
"createPackage": "New package",
|
||||
"createDraft": "Create draft",
|
||||
"draftCreated": "Package draft created. The live catalog has not changed.",
|
||||
"refresh": "Refresh list",
|
||||
"searchPackages": "Search packages",
|
||||
"noPackages": "No packages match this search.",
|
||||
"choosePackage": "Open a package or create a draft from existing categories.",
|
||||
"name": "Package name",
|
||||
"mode": "Publication mode",
|
||||
"update": "Update existing categories",
|
||||
"copy": "Create copies",
|
||||
"updateHint": "Publication applies the package to its existing categories and offers.",
|
||||
"copyHint": "Publication creates new categories and offers under the selected parent. Furniture references are preserved.",
|
||||
"sourceCategories": "Source categories",
|
||||
"packageLimits": "Descendant categories are included. Each package supports up to 200 categories and 500 offers.",
|
||||
"searchCategories": "Search categories",
|
||||
"selectedCategories": "Selected: {count}",
|
||||
"targetParent": "Destination parent category",
|
||||
"rootCategory": "Catalog root",
|
||||
"draft": "Draft",
|
||||
"published": "Published",
|
||||
"editDraft": "Edit draft",
|
||||
"catalogPreview": "Catalog preview",
|
||||
"showBaseline": "Show the original saved snapshot",
|
||||
"changes": "Before and after",
|
||||
"entry": "Entry",
|
||||
"field": "Field",
|
||||
"before": "Before",
|
||||
"after": "After",
|
||||
"noChanges": "No edited fields compared with the original snapshot.",
|
||||
"copyReview": "The entire package will be copied on publication, even if no fields were edited. The table lists edits to the original snapshot.",
|
||||
"updateReview": "These draft changes will update existing catalog entries after publication.",
|
||||
"saveDraft": "Save draft",
|
||||
"saveHint": "Saving keeps the package as a draft. Save all changes before requesting a publication review.",
|
||||
"draftSaved": "Draft saved. Publication is a separate step.",
|
||||
"reviewPublication": "Review publication",
|
||||
"publicationImpact": "Publication affects {pages} categories and {offers} offers.",
|
||||
"conflicts": "Publication is blocked by conflicts. Resolve them before requesting another review.",
|
||||
"readyToPublish": "The saved version passed the publication check. Publishing changes the live catalog.",
|
||||
"publish": "Publish package",
|
||||
"confirmPublish": "Publish this reviewed package to the live catalog now?",
|
||||
"publishedSuccess": "Package published: {pages} categories and {offers} offers.",
|
||||
"staleReview": "This package changed in another session. Reopen it to review the latest saved version.",
|
||||
"unsaved": "Unsaved changes",
|
||||
"discardChanges": "Discard unsaved package changes and continue?",
|
||||
"working": "Working…",
|
||||
"requestFailed": "The request failed. Try again.",
|
||||
"invalidFields": "Check required names, layouts and whole-number fields before saving.",
|
||||
"category": "Category",
|
||||
"caption": "Category caption",
|
||||
"iconImage": "Category icon ID",
|
||||
"minRank": "Minimum rank",
|
||||
"orderNum": "Display order",
|
||||
"pageLayout": "Page layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"offers": "Offers ({count})",
|
||||
"offer": "Offer",
|
||||
"catalogName": "Offer name",
|
||||
"costCredits": "Credits",
|
||||
"costPoints": "Points",
|
||||
"pointsType": "Points currency ID",
|
||||
"amount": "Amount",
|
||||
"searchOffers": "Search offers",
|
||||
"currentCategoryOffers": "Only the selected category",
|
||||
"selectMatching": "Select all matching offers ({count})",
|
||||
"clearSelection": "Clear selection",
|
||||
"selectedOffers": "Selected offers: {count}",
|
||||
"select": "Select",
|
||||
"selectOffer": "Select offer #{id}",
|
||||
"noOffers": "No offers match these filters.",
|
||||
"bulkPrices": "Bulk draft prices ({count} selected)",
|
||||
"bulkHint": "Preview the selected price changes, then accept them into this draft. The live catalog remains unchanged until publication.",
|
||||
"operation": "Operation",
|
||||
"set": "Set value",
|
||||
"add": "Add or subtract",
|
||||
"percent": "Adjust by percent",
|
||||
"value": "Value",
|
||||
"reviewBulk": "Preview prices",
|
||||
"invalidBulk": "Choose valid numbers and at least one offer. Resulting prices must be nonnegative and within the supported range.",
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -3084,6 +3174,69 @@
|
||||
"publications": "News drafts",
|
||||
"unavailable": "{source}: data is temporarily unavailable.",
|
||||
"installation": "Installation diagnostics"
|
||||
},
|
||||
"catalogPackages": {
|
||||
"backend": {
|
||||
"sourceChanged": "Source categories or offers changed since this package was created. Create a fresh package to include the current data.",
|
||||
"saveConflict": "Package changed. Reload it before saving",
|
||||
"publishConflict": "Package changed. Refresh the publication preview",
|
||||
"catalogChanged": "Catalog changed. Refresh the publication preview",
|
||||
"missing": "Catalog package not found",
|
||||
"pageLimit": "A package supports at most 200 categories including descendants",
|
||||
"offerLimit": "A package supports at most 500 offers",
|
||||
"payloadLimit": "Package data exceeds 8 MB safety limit",
|
||||
"membership": "Package membership cannot change",
|
||||
"hierarchy": "Package hierarchy cannot change",
|
||||
"references": "Package furniture references cannot change",
|
||||
"furnitureMissing": "Package furniture reference no longer exists",
|
||||
"auditWarning": "Package published, but audit logging failed.",
|
||||
"hotelWarning": "Package published, but the hotel update was not delivered.",
|
||||
"exportWarning": "Package published, but export scheduling failed.",
|
||||
"refreshWarning": "Package published. Refresh the page to see the latest catalog."
|
||||
}
|
||||
},
|
||||
"catalogPackagePreview": {
|
||||
"title": "Catalog preview",
|
||||
"hint": "Browse the actual package pages and offers. This is a catalog preview, not a full game-client rendering. No purchases are made.",
|
||||
"search": "Search categories or offers",
|
||||
"playerMode": "Player access",
|
||||
"rank": "Rank",
|
||||
"club": "Club",
|
||||
"vip": "VIP",
|
||||
"externalParents": "This selection starts inside a larger catalog. Access restrictions on ancestors outside this snapshot cannot be evaluated.",
|
||||
"invalidHierarchy": "{count} pages have a cyclic hierarchy and cannot be navigated.",
|
||||
"snapshotLimit": "Preview limited to 200 pages and 500 offers.",
|
||||
"restricted": "{count} pages are hidden by the selected player access settings.",
|
||||
"categories": "Catalog categories",
|
||||
"noPages": "This snapshot contains no categories.",
|
||||
"inaccessible": "No categories are accessible with these settings. Adjust player access or turn it off to inspect the draft.",
|
||||
"noMatches": "No matches for this search.",
|
||||
"offerCount": "{count} offers",
|
||||
"layout": "Layout: {layout}",
|
||||
"missingLayout": "Not specified",
|
||||
"unsupportedLayout": "This layout has no dedicated preview. The grid shows the actual offers; custom layout widgets and imagery are not reproduced.",
|
||||
"loadingIcons": "Loading furniture icons…",
|
||||
"assetsUnavailable": "Furniture details are temporarily unavailable. Offer data remains visible.",
|
||||
"assetLimit": "Icons and furniture names are limited to the first 200 item IDs on this view.",
|
||||
"emptyPage": "This category has no direct offers. Browse its subcategories.",
|
||||
"missingIcon": "Icon unavailable",
|
||||
"amount": "Quantity: {count}",
|
||||
"bundle": "{count} furniture types",
|
||||
"changed": "Changed from the saved baseline",
|
||||
"previous": "Previous",
|
||||
"next": "Next",
|
||||
"page": "Page {page} of {total}",
|
||||
"offerId": "Offer #{id}",
|
||||
"unknownFurniture": "Furniture name unavailable",
|
||||
"selectOffer": "Select an offer to inspect its price and furniture references.",
|
||||
"credits": "Credits",
|
||||
"duckets": "Duckets",
|
||||
"diamonds": "Diamonds",
|
||||
"pointsType": "Points (type {type}):",
|
||||
"free": "Free",
|
||||
"specialPricing": "Special pricing: {credits} credits, {points} points (type {type})",
|
||||
"restrictedOffers": "{count} offers in this category require Club membership.",
|
||||
"clubOffer": "Club offer"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
@@ -1429,6 +1429,96 @@
|
||||
"save": "Save item",
|
||||
"saving": "Saving…",
|
||||
"cancel": "Annuller"
|
||||
},
|
||||
"packages": {
|
||||
"openPackages": "Catalog packages",
|
||||
"title": "Catalog packages",
|
||||
"description": "Prepare category and price changes in a separate draft. Review the catalog before publishing.",
|
||||
"createPackage": "New package",
|
||||
"createDraft": "Create draft",
|
||||
"draftCreated": "Package draft created. The live catalog has not changed.",
|
||||
"refresh": "Refresh list",
|
||||
"searchPackages": "Search packages",
|
||||
"noPackages": "No packages match this search.",
|
||||
"choosePackage": "Open a package or create a draft from existing categories.",
|
||||
"name": "Package name",
|
||||
"mode": "Publication mode",
|
||||
"update": "Update existing categories",
|
||||
"copy": "Create copies",
|
||||
"updateHint": "Publication applies the package to its existing categories and offers.",
|
||||
"copyHint": "Publication creates new categories and offers under the selected parent. Furniture references are preserved.",
|
||||
"sourceCategories": "Source categories",
|
||||
"packageLimits": "Descendant categories are included. Each package supports up to 200 categories and 500 offers.",
|
||||
"searchCategories": "Search categories",
|
||||
"selectedCategories": "Selected: {count}",
|
||||
"targetParent": "Destination parent category",
|
||||
"rootCategory": "Catalog root",
|
||||
"draft": "Draft",
|
||||
"published": "Published",
|
||||
"editDraft": "Edit draft",
|
||||
"catalogPreview": "Catalog preview",
|
||||
"showBaseline": "Show the original saved snapshot",
|
||||
"changes": "Before and after",
|
||||
"entry": "Entry",
|
||||
"field": "Field",
|
||||
"before": "Before",
|
||||
"after": "After",
|
||||
"noChanges": "No edited fields compared with the original snapshot.",
|
||||
"copyReview": "The entire package will be copied on publication, even if no fields were edited. The table lists edits to the original snapshot.",
|
||||
"updateReview": "These draft changes will update existing catalog entries after publication.",
|
||||
"saveDraft": "Save draft",
|
||||
"saveHint": "Saving keeps the package as a draft. Save all changes before requesting a publication review.",
|
||||
"draftSaved": "Draft saved. Publication is a separate step.",
|
||||
"reviewPublication": "Review publication",
|
||||
"publicationImpact": "Publication affects {pages} categories and {offers} offers.",
|
||||
"conflicts": "Publication is blocked by conflicts. Resolve them before requesting another review.",
|
||||
"readyToPublish": "The saved version passed the publication check. Publishing changes the live catalog.",
|
||||
"publish": "Publish package",
|
||||
"confirmPublish": "Publish this reviewed package to the live catalog now?",
|
||||
"publishedSuccess": "Package published: {pages} categories and {offers} offers.",
|
||||
"staleReview": "This package changed in another session. Reopen it to review the latest saved version.",
|
||||
"unsaved": "Unsaved changes",
|
||||
"discardChanges": "Discard unsaved package changes and continue?",
|
||||
"working": "Working…",
|
||||
"requestFailed": "The request failed. Try again.",
|
||||
"invalidFields": "Check required names, layouts and whole-number fields before saving.",
|
||||
"category": "Category",
|
||||
"caption": "Category caption",
|
||||
"iconImage": "Category icon ID",
|
||||
"minRank": "Minimum rank",
|
||||
"orderNum": "Display order",
|
||||
"pageLayout": "Page layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"offers": "Offers ({count})",
|
||||
"offer": "Offer",
|
||||
"catalogName": "Offer name",
|
||||
"costCredits": "Credits",
|
||||
"costPoints": "Points",
|
||||
"pointsType": "Points currency ID",
|
||||
"amount": "Amount",
|
||||
"searchOffers": "Search offers",
|
||||
"currentCategoryOffers": "Only the selected category",
|
||||
"selectMatching": "Select all matching offers ({count})",
|
||||
"clearSelection": "Clear selection",
|
||||
"selectedOffers": "Selected offers: {count}",
|
||||
"select": "Select",
|
||||
"selectOffer": "Select offer #{id}",
|
||||
"noOffers": "No offers match these filters.",
|
||||
"bulkPrices": "Bulk draft prices ({count} selected)",
|
||||
"bulkHint": "Preview the selected price changes, then accept them into this draft. The live catalog remains unchanged until publication.",
|
||||
"operation": "Operation",
|
||||
"set": "Set value",
|
||||
"add": "Add or subtract",
|
||||
"percent": "Adjust by percent",
|
||||
"value": "Value",
|
||||
"reviewBulk": "Preview prices",
|
||||
"invalidBulk": "Choose valid numbers and at least one offer. Resulting prices must be nonnegative and within the supported range.",
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -3084,6 +3174,69 @@
|
||||
"publications": "News drafts",
|
||||
"unavailable": "{source}: data is temporarily unavailable.",
|
||||
"installation": "Installation diagnostics"
|
||||
},
|
||||
"catalogPackages": {
|
||||
"backend": {
|
||||
"sourceChanged": "Source categories or offers changed since this package was created. Create a fresh package to include the current data.",
|
||||
"saveConflict": "Package changed. Reload it before saving",
|
||||
"publishConflict": "Package changed. Refresh the publication preview",
|
||||
"catalogChanged": "Catalog changed. Refresh the publication preview",
|
||||
"missing": "Catalog package not found",
|
||||
"pageLimit": "A package supports at most 200 categories including descendants",
|
||||
"offerLimit": "A package supports at most 500 offers",
|
||||
"payloadLimit": "Package data exceeds 8 MB safety limit",
|
||||
"membership": "Package membership cannot change",
|
||||
"hierarchy": "Package hierarchy cannot change",
|
||||
"references": "Package furniture references cannot change",
|
||||
"furnitureMissing": "Package furniture reference no longer exists",
|
||||
"auditWarning": "Package published, but audit logging failed.",
|
||||
"hotelWarning": "Package published, but the hotel update was not delivered.",
|
||||
"exportWarning": "Package published, but export scheduling failed.",
|
||||
"refreshWarning": "Package published. Refresh the page to see the latest catalog."
|
||||
}
|
||||
},
|
||||
"catalogPackagePreview": {
|
||||
"title": "Catalog preview",
|
||||
"hint": "Browse the actual package pages and offers. This is a catalog preview, not a full game-client rendering. No purchases are made.",
|
||||
"search": "Search categories or offers",
|
||||
"playerMode": "Player access",
|
||||
"rank": "Rank",
|
||||
"club": "Club",
|
||||
"vip": "VIP",
|
||||
"externalParents": "This selection starts inside a larger catalog. Access restrictions on ancestors outside this snapshot cannot be evaluated.",
|
||||
"invalidHierarchy": "{count} pages have a cyclic hierarchy and cannot be navigated.",
|
||||
"snapshotLimit": "Preview limited to 200 pages and 500 offers.",
|
||||
"restricted": "{count} pages are hidden by the selected player access settings.",
|
||||
"categories": "Catalog categories",
|
||||
"noPages": "This snapshot contains no categories.",
|
||||
"inaccessible": "No categories are accessible with these settings. Adjust player access or turn it off to inspect the draft.",
|
||||
"noMatches": "No matches for this search.",
|
||||
"offerCount": "{count} offers",
|
||||
"layout": "Layout: {layout}",
|
||||
"missingLayout": "Not specified",
|
||||
"unsupportedLayout": "This layout has no dedicated preview. The grid shows the actual offers; custom layout widgets and imagery are not reproduced.",
|
||||
"loadingIcons": "Loading furniture icons…",
|
||||
"assetsUnavailable": "Furniture details are temporarily unavailable. Offer data remains visible.",
|
||||
"assetLimit": "Icons and furniture names are limited to the first 200 item IDs on this view.",
|
||||
"emptyPage": "This category has no direct offers. Browse its subcategories.",
|
||||
"missingIcon": "Icon unavailable",
|
||||
"amount": "Quantity: {count}",
|
||||
"bundle": "{count} furniture types",
|
||||
"changed": "Changed from the saved baseline",
|
||||
"previous": "Previous",
|
||||
"next": "Next",
|
||||
"page": "Page {page} of {total}",
|
||||
"offerId": "Offer #{id}",
|
||||
"unknownFurniture": "Furniture name unavailable",
|
||||
"selectOffer": "Select an offer to inspect its price and furniture references.",
|
||||
"credits": "Credits",
|
||||
"duckets": "Duckets",
|
||||
"diamonds": "Diamonds",
|
||||
"pointsType": "Points (type {type}):",
|
||||
"free": "Free",
|
||||
"specialPricing": "Special pricing: {credits} credits, {points} points (type {type})",
|
||||
"restrictedOffers": "{count} offers in this category require Club membership.",
|
||||
"clubOffer": "Club offer"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
@@ -1400,6 +1400,96 @@
|
||||
"save": "Artikel speichern",
|
||||
"saving": "Wird gespeichert…",
|
||||
"cancel": "Abbrechen"
|
||||
},
|
||||
"packages": {
|
||||
"openPackages": "Catalog packages",
|
||||
"title": "Catalog packages",
|
||||
"description": "Prepare category and price changes in a separate draft. Review the catalog before publishing.",
|
||||
"createPackage": "New package",
|
||||
"createDraft": "Create draft",
|
||||
"draftCreated": "Package draft created. The live catalog has not changed.",
|
||||
"refresh": "Refresh list",
|
||||
"searchPackages": "Search packages",
|
||||
"noPackages": "No packages match this search.",
|
||||
"choosePackage": "Open a package or create a draft from existing categories.",
|
||||
"name": "Package name",
|
||||
"mode": "Publication mode",
|
||||
"update": "Update existing categories",
|
||||
"copy": "Create copies",
|
||||
"updateHint": "Publication applies the package to its existing categories and offers.",
|
||||
"copyHint": "Publication creates new categories and offers under the selected parent. Furniture references are preserved.",
|
||||
"sourceCategories": "Source categories",
|
||||
"packageLimits": "Descendant categories are included. Each package supports up to 200 categories and 500 offers.",
|
||||
"searchCategories": "Search categories",
|
||||
"selectedCategories": "Selected: {count}",
|
||||
"targetParent": "Destination parent category",
|
||||
"rootCategory": "Catalog root",
|
||||
"draft": "Draft",
|
||||
"published": "Published",
|
||||
"editDraft": "Edit draft",
|
||||
"catalogPreview": "Catalog preview",
|
||||
"showBaseline": "Show the original saved snapshot",
|
||||
"changes": "Before and after",
|
||||
"entry": "Entry",
|
||||
"field": "Field",
|
||||
"before": "Before",
|
||||
"after": "After",
|
||||
"noChanges": "No edited fields compared with the original snapshot.",
|
||||
"copyReview": "The entire package will be copied on publication, even if no fields were edited. The table lists edits to the original snapshot.",
|
||||
"updateReview": "These draft changes will update existing catalog entries after publication.",
|
||||
"saveDraft": "Save draft",
|
||||
"saveHint": "Saving keeps the package as a draft. Save all changes before requesting a publication review.",
|
||||
"draftSaved": "Draft saved. Publication is a separate step.",
|
||||
"reviewPublication": "Review publication",
|
||||
"publicationImpact": "Publication affects {pages} categories and {offers} offers.",
|
||||
"conflicts": "Publication is blocked by conflicts. Resolve them before requesting another review.",
|
||||
"readyToPublish": "The saved version passed the publication check. Publishing changes the live catalog.",
|
||||
"publish": "Publish package",
|
||||
"confirmPublish": "Publish this reviewed package to the live catalog now?",
|
||||
"publishedSuccess": "Package published: {pages} categories and {offers} offers.",
|
||||
"staleReview": "This package changed in another session. Reopen it to review the latest saved version.",
|
||||
"unsaved": "Unsaved changes",
|
||||
"discardChanges": "Discard unsaved package changes and continue?",
|
||||
"working": "Working…",
|
||||
"requestFailed": "The request failed. Try again.",
|
||||
"invalidFields": "Check required names, layouts and whole-number fields before saving.",
|
||||
"category": "Category",
|
||||
"caption": "Category caption",
|
||||
"iconImage": "Category icon ID",
|
||||
"minRank": "Minimum rank",
|
||||
"orderNum": "Display order",
|
||||
"pageLayout": "Page layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"offers": "Offers ({count})",
|
||||
"offer": "Offer",
|
||||
"catalogName": "Offer name",
|
||||
"costCredits": "Credits",
|
||||
"costPoints": "Points",
|
||||
"pointsType": "Points currency ID",
|
||||
"amount": "Amount",
|
||||
"searchOffers": "Search offers",
|
||||
"currentCategoryOffers": "Only the selected category",
|
||||
"selectMatching": "Select all matching offers ({count})",
|
||||
"clearSelection": "Clear selection",
|
||||
"selectedOffers": "Selected offers: {count}",
|
||||
"select": "Select",
|
||||
"selectOffer": "Select offer #{id}",
|
||||
"noOffers": "No offers match these filters.",
|
||||
"bulkPrices": "Bulk draft prices ({count} selected)",
|
||||
"bulkHint": "Preview the selected price changes, then accept them into this draft. The live catalog remains unchanged until publication.",
|
||||
"operation": "Operation",
|
||||
"set": "Set value",
|
||||
"add": "Add or subtract",
|
||||
"percent": "Adjust by percent",
|
||||
"value": "Value",
|
||||
"reviewBulk": "Preview prices",
|
||||
"invalidBulk": "Choose valid numbers and at least one offer. Resulting prices must be nonnegative and within the supported range.",
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -3055,6 +3145,69 @@
|
||||
"publications": "News drafts",
|
||||
"unavailable": "{source}: data is temporarily unavailable.",
|
||||
"installation": "Installation diagnostics"
|
||||
},
|
||||
"catalogPackages": {
|
||||
"backend": {
|
||||
"sourceChanged": "Source categories or offers changed since this package was created. Create a fresh package to include the current data.",
|
||||
"saveConflict": "Package changed. Reload it before saving",
|
||||
"publishConflict": "Package changed. Refresh the publication preview",
|
||||
"catalogChanged": "Catalog changed. Refresh the publication preview",
|
||||
"missing": "Catalog package not found",
|
||||
"pageLimit": "A package supports at most 200 categories including descendants",
|
||||
"offerLimit": "A package supports at most 500 offers",
|
||||
"payloadLimit": "Package data exceeds 8 MB safety limit",
|
||||
"membership": "Package membership cannot change",
|
||||
"hierarchy": "Package hierarchy cannot change",
|
||||
"references": "Package furniture references cannot change",
|
||||
"furnitureMissing": "Package furniture reference no longer exists",
|
||||
"auditWarning": "Package published, but audit logging failed.",
|
||||
"hotelWarning": "Package published, but the hotel update was not delivered.",
|
||||
"exportWarning": "Package published, but export scheduling failed.",
|
||||
"refreshWarning": "Package published. Refresh the page to see the latest catalog."
|
||||
}
|
||||
},
|
||||
"catalogPackagePreview": {
|
||||
"title": "Catalog preview",
|
||||
"hint": "Browse the actual package pages and offers. This is a catalog preview, not a full game-client rendering. No purchases are made.",
|
||||
"search": "Search categories or offers",
|
||||
"playerMode": "Player access",
|
||||
"rank": "Rank",
|
||||
"club": "Club",
|
||||
"vip": "VIP",
|
||||
"externalParents": "This selection starts inside a larger catalog. Access restrictions on ancestors outside this snapshot cannot be evaluated.",
|
||||
"invalidHierarchy": "{count} pages have a cyclic hierarchy and cannot be navigated.",
|
||||
"snapshotLimit": "Preview limited to 200 pages and 500 offers.",
|
||||
"restricted": "{count} pages are hidden by the selected player access settings.",
|
||||
"categories": "Catalog categories",
|
||||
"noPages": "This snapshot contains no categories.",
|
||||
"inaccessible": "No categories are accessible with these settings. Adjust player access or turn it off to inspect the draft.",
|
||||
"noMatches": "No matches for this search.",
|
||||
"offerCount": "{count} offers",
|
||||
"layout": "Layout: {layout}",
|
||||
"missingLayout": "Not specified",
|
||||
"unsupportedLayout": "This layout has no dedicated preview. The grid shows the actual offers; custom layout widgets and imagery are not reproduced.",
|
||||
"loadingIcons": "Loading furniture icons…",
|
||||
"assetsUnavailable": "Furniture details are temporarily unavailable. Offer data remains visible.",
|
||||
"assetLimit": "Icons and furniture names are limited to the first 200 item IDs on this view.",
|
||||
"emptyPage": "This category has no direct offers. Browse its subcategories.",
|
||||
"missingIcon": "Icon unavailable",
|
||||
"amount": "Quantity: {count}",
|
||||
"bundle": "{count} furniture types",
|
||||
"changed": "Changed from the saved baseline",
|
||||
"previous": "Previous",
|
||||
"next": "Next",
|
||||
"page": "Page {page} of {total}",
|
||||
"offerId": "Offer #{id}",
|
||||
"unknownFurniture": "Furniture name unavailable",
|
||||
"selectOffer": "Select an offer to inspect its price and furniture references.",
|
||||
"credits": "Credits",
|
||||
"duckets": "Duckets",
|
||||
"diamonds": "Diamonds",
|
||||
"pointsType": "Points (type {type}):",
|
||||
"free": "Free",
|
||||
"specialPricing": "Special pricing: {credits} credits, {points} points (type {type})",
|
||||
"restrictedOffers": "{count} offers in this category require Club membership.",
|
||||
"clubOffer": "Club offer"
|
||||
}
|
||||
},
|
||||
"radioRequests": {
|
||||
|
||||
@@ -1429,6 +1429,96 @@
|
||||
"save": "Αποθήκευση στοιχείου",
|
||||
"saving": "Αποθήκευση…",
|
||||
"cancel": "Ακύρωση"
|
||||
},
|
||||
"packages": {
|
||||
"openPackages": "Catalog packages",
|
||||
"title": "Catalog packages",
|
||||
"description": "Prepare category and price changes in a separate draft. Review the catalog before publishing.",
|
||||
"createPackage": "New package",
|
||||
"createDraft": "Create draft",
|
||||
"draftCreated": "Package draft created. The live catalog has not changed.",
|
||||
"refresh": "Refresh list",
|
||||
"searchPackages": "Search packages",
|
||||
"noPackages": "No packages match this search.",
|
||||
"choosePackage": "Open a package or create a draft from existing categories.",
|
||||
"name": "Package name",
|
||||
"mode": "Publication mode",
|
||||
"update": "Update existing categories",
|
||||
"copy": "Create copies",
|
||||
"updateHint": "Publication applies the package to its existing categories and offers.",
|
||||
"copyHint": "Publication creates new categories and offers under the selected parent. Furniture references are preserved.",
|
||||
"sourceCategories": "Source categories",
|
||||
"packageLimits": "Descendant categories are included. Each package supports up to 200 categories and 500 offers.",
|
||||
"searchCategories": "Search categories",
|
||||
"selectedCategories": "Selected: {count}",
|
||||
"targetParent": "Destination parent category",
|
||||
"rootCategory": "Catalog root",
|
||||
"draft": "Draft",
|
||||
"published": "Published",
|
||||
"editDraft": "Edit draft",
|
||||
"catalogPreview": "Catalog preview",
|
||||
"showBaseline": "Show the original saved snapshot",
|
||||
"changes": "Before and after",
|
||||
"entry": "Entry",
|
||||
"field": "Field",
|
||||
"before": "Before",
|
||||
"after": "After",
|
||||
"noChanges": "No edited fields compared with the original snapshot.",
|
||||
"copyReview": "The entire package will be copied on publication, even if no fields were edited. The table lists edits to the original snapshot.",
|
||||
"updateReview": "These draft changes will update existing catalog entries after publication.",
|
||||
"saveDraft": "Save draft",
|
||||
"saveHint": "Saving keeps the package as a draft. Save all changes before requesting a publication review.",
|
||||
"draftSaved": "Draft saved. Publication is a separate step.",
|
||||
"reviewPublication": "Review publication",
|
||||
"publicationImpact": "Publication affects {pages} categories and {offers} offers.",
|
||||
"conflicts": "Publication is blocked by conflicts. Resolve them before requesting another review.",
|
||||
"readyToPublish": "The saved version passed the publication check. Publishing changes the live catalog.",
|
||||
"publish": "Publish package",
|
||||
"confirmPublish": "Publish this reviewed package to the live catalog now?",
|
||||
"publishedSuccess": "Package published: {pages} categories and {offers} offers.",
|
||||
"staleReview": "This package changed in another session. Reopen it to review the latest saved version.",
|
||||
"unsaved": "Unsaved changes",
|
||||
"discardChanges": "Discard unsaved package changes and continue?",
|
||||
"working": "Working…",
|
||||
"requestFailed": "The request failed. Try again.",
|
||||
"invalidFields": "Check required names, layouts and whole-number fields before saving.",
|
||||
"category": "Category",
|
||||
"caption": "Category caption",
|
||||
"iconImage": "Category icon ID",
|
||||
"minRank": "Minimum rank",
|
||||
"orderNum": "Display order",
|
||||
"pageLayout": "Page layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"offers": "Offers ({count})",
|
||||
"offer": "Offer",
|
||||
"catalogName": "Offer name",
|
||||
"costCredits": "Credits",
|
||||
"costPoints": "Points",
|
||||
"pointsType": "Points currency ID",
|
||||
"amount": "Amount",
|
||||
"searchOffers": "Search offers",
|
||||
"currentCategoryOffers": "Only the selected category",
|
||||
"selectMatching": "Select all matching offers ({count})",
|
||||
"clearSelection": "Clear selection",
|
||||
"selectedOffers": "Selected offers: {count}",
|
||||
"select": "Select",
|
||||
"selectOffer": "Select offer #{id}",
|
||||
"noOffers": "No offers match these filters.",
|
||||
"bulkPrices": "Bulk draft prices ({count} selected)",
|
||||
"bulkHint": "Preview the selected price changes, then accept them into this draft. The live catalog remains unchanged until publication.",
|
||||
"operation": "Operation",
|
||||
"set": "Set value",
|
||||
"add": "Add or subtract",
|
||||
"percent": "Adjust by percent",
|
||||
"value": "Value",
|
||||
"reviewBulk": "Preview prices",
|
||||
"invalidBulk": "Choose valid numbers and at least one offer. Resulting prices must be nonnegative and within the supported range.",
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -3084,6 +3174,69 @@
|
||||
"publications": "News drafts",
|
||||
"unavailable": "{source}: data is temporarily unavailable.",
|
||||
"installation": "Installation diagnostics"
|
||||
},
|
||||
"catalogPackages": {
|
||||
"backend": {
|
||||
"sourceChanged": "Source categories or offers changed since this package was created. Create a fresh package to include the current data.",
|
||||
"saveConflict": "Package changed. Reload it before saving",
|
||||
"publishConflict": "Package changed. Refresh the publication preview",
|
||||
"catalogChanged": "Catalog changed. Refresh the publication preview",
|
||||
"missing": "Catalog package not found",
|
||||
"pageLimit": "A package supports at most 200 categories including descendants",
|
||||
"offerLimit": "A package supports at most 500 offers",
|
||||
"payloadLimit": "Package data exceeds 8 MB safety limit",
|
||||
"membership": "Package membership cannot change",
|
||||
"hierarchy": "Package hierarchy cannot change",
|
||||
"references": "Package furniture references cannot change",
|
||||
"furnitureMissing": "Package furniture reference no longer exists",
|
||||
"auditWarning": "Package published, but audit logging failed.",
|
||||
"hotelWarning": "Package published, but the hotel update was not delivered.",
|
||||
"exportWarning": "Package published, but export scheduling failed.",
|
||||
"refreshWarning": "Package published. Refresh the page to see the latest catalog."
|
||||
}
|
||||
},
|
||||
"catalogPackagePreview": {
|
||||
"title": "Catalog preview",
|
||||
"hint": "Browse the actual package pages and offers. This is a catalog preview, not a full game-client rendering. No purchases are made.",
|
||||
"search": "Search categories or offers",
|
||||
"playerMode": "Player access",
|
||||
"rank": "Rank",
|
||||
"club": "Club",
|
||||
"vip": "VIP",
|
||||
"externalParents": "This selection starts inside a larger catalog. Access restrictions on ancestors outside this snapshot cannot be evaluated.",
|
||||
"invalidHierarchy": "{count} pages have a cyclic hierarchy and cannot be navigated.",
|
||||
"snapshotLimit": "Preview limited to 200 pages and 500 offers.",
|
||||
"restricted": "{count} pages are hidden by the selected player access settings.",
|
||||
"categories": "Catalog categories",
|
||||
"noPages": "This snapshot contains no categories.",
|
||||
"inaccessible": "No categories are accessible with these settings. Adjust player access or turn it off to inspect the draft.",
|
||||
"noMatches": "No matches for this search.",
|
||||
"offerCount": "{count} offers",
|
||||
"layout": "Layout: {layout}",
|
||||
"missingLayout": "Not specified",
|
||||
"unsupportedLayout": "This layout has no dedicated preview. The grid shows the actual offers; custom layout widgets and imagery are not reproduced.",
|
||||
"loadingIcons": "Loading furniture icons…",
|
||||
"assetsUnavailable": "Furniture details are temporarily unavailable. Offer data remains visible.",
|
||||
"assetLimit": "Icons and furniture names are limited to the first 200 item IDs on this view.",
|
||||
"emptyPage": "This category has no direct offers. Browse its subcategories.",
|
||||
"missingIcon": "Icon unavailable",
|
||||
"amount": "Quantity: {count}",
|
||||
"bundle": "{count} furniture types",
|
||||
"changed": "Changed from the saved baseline",
|
||||
"previous": "Previous",
|
||||
"next": "Next",
|
||||
"page": "Page {page} of {total}",
|
||||
"offerId": "Offer #{id}",
|
||||
"unknownFurniture": "Furniture name unavailable",
|
||||
"selectOffer": "Select an offer to inspect its price and furniture references.",
|
||||
"credits": "Credits",
|
||||
"duckets": "Duckets",
|
||||
"diamonds": "Diamonds",
|
||||
"pointsType": "Points (type {type}):",
|
||||
"free": "Free",
|
||||
"specialPricing": "Special pricing: {credits} credits, {points} points (type {type})",
|
||||
"restrictedOffers": "{count} offers in this category require Club membership.",
|
||||
"clubOffer": "Club offer"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
@@ -2089,6 +2089,96 @@
|
||||
"selectionHint": "Changing the search or filter clears the selection.",
|
||||
"noResults": "No offers match the current search and filter.",
|
||||
"selectVisible": "Select all visible offers"
|
||||
},
|
||||
"packages": {
|
||||
"openPackages": "Catalog packages",
|
||||
"title": "Catalog packages",
|
||||
"description": "Prepare category and price changes in a separate draft. Review the catalog before publishing.",
|
||||
"createPackage": "New package",
|
||||
"createDraft": "Create draft",
|
||||
"draftCreated": "Package draft created. The live catalog has not changed.",
|
||||
"refresh": "Refresh list",
|
||||
"searchPackages": "Search packages",
|
||||
"noPackages": "No packages match this search.",
|
||||
"choosePackage": "Open a package or create a draft from existing categories.",
|
||||
"name": "Package name",
|
||||
"mode": "Publication mode",
|
||||
"update": "Update existing categories",
|
||||
"copy": "Create copies",
|
||||
"updateHint": "Publication applies the package to its existing categories and offers.",
|
||||
"copyHint": "Publication creates new categories and offers under the selected parent. Furniture references are preserved.",
|
||||
"sourceCategories": "Source categories",
|
||||
"packageLimits": "Descendant categories are included. Each package supports up to 200 categories and 500 offers.",
|
||||
"searchCategories": "Search categories",
|
||||
"selectedCategories": "Selected: {count}",
|
||||
"targetParent": "Destination parent category",
|
||||
"rootCategory": "Catalog root",
|
||||
"draft": "Draft",
|
||||
"published": "Published",
|
||||
"editDraft": "Edit draft",
|
||||
"catalogPreview": "Catalog preview",
|
||||
"showBaseline": "Show the original saved snapshot",
|
||||
"changes": "Before and after",
|
||||
"entry": "Entry",
|
||||
"field": "Field",
|
||||
"before": "Before",
|
||||
"after": "After",
|
||||
"noChanges": "No edited fields compared with the original snapshot.",
|
||||
"copyReview": "The entire package will be copied on publication, even if no fields were edited. The table lists edits to the original snapshot.",
|
||||
"updateReview": "These draft changes will update existing catalog entries after publication.",
|
||||
"saveDraft": "Save draft",
|
||||
"saveHint": "Saving keeps the package as a draft. Save all changes before requesting a publication review.",
|
||||
"draftSaved": "Draft saved. Publication is a separate step.",
|
||||
"reviewPublication": "Review publication",
|
||||
"publicationImpact": "Publication affects {pages} categories and {offers} offers.",
|
||||
"conflicts": "Publication is blocked by conflicts. Resolve them before requesting another review.",
|
||||
"readyToPublish": "The saved version passed the publication check. Publishing changes the live catalog.",
|
||||
"publish": "Publish package",
|
||||
"confirmPublish": "Publish this reviewed package to the live catalog now?",
|
||||
"publishedSuccess": "Package published: {pages} categories and {offers} offers.",
|
||||
"staleReview": "This package changed in another session. Reopen it to review the latest saved version.",
|
||||
"unsaved": "Unsaved changes",
|
||||
"discardChanges": "Discard unsaved package changes and continue?",
|
||||
"working": "Working…",
|
||||
"requestFailed": "The request failed. Try again.",
|
||||
"invalidFields": "Check required names, layouts and whole-number fields before saving.",
|
||||
"category": "Category",
|
||||
"caption": "Category caption",
|
||||
"iconImage": "Category icon ID",
|
||||
"minRank": "Minimum rank",
|
||||
"orderNum": "Display order",
|
||||
"pageLayout": "Page layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"offers": "Offers ({count})",
|
||||
"offer": "Offer",
|
||||
"catalogName": "Offer name",
|
||||
"costCredits": "Credits",
|
||||
"costPoints": "Points",
|
||||
"pointsType": "Points currency ID",
|
||||
"amount": "Amount",
|
||||
"searchOffers": "Search offers",
|
||||
"currentCategoryOffers": "Only the selected category",
|
||||
"selectMatching": "Select all matching offers ({count})",
|
||||
"clearSelection": "Clear selection",
|
||||
"selectedOffers": "Selected offers: {count}",
|
||||
"select": "Select",
|
||||
"selectOffer": "Select offer #{id}",
|
||||
"noOffers": "No offers match these filters.",
|
||||
"bulkPrices": "Bulk draft prices ({count} selected)",
|
||||
"bulkHint": "Preview the selected price changes, then accept them into this draft. The live catalog remains unchanged until publication.",
|
||||
"operation": "Operation",
|
||||
"set": "Set value",
|
||||
"add": "Add or subtract",
|
||||
"percent": "Adjust by percent",
|
||||
"value": "Value",
|
||||
"reviewBulk": "Preview prices",
|
||||
"invalidBulk": "Choose valid numbers and at least one offer. Resulting prices must be nonnegative and within the supported range.",
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -3881,6 +3971,69 @@
|
||||
"publications": "News drafts",
|
||||
"unavailable": "{source}: data is temporarily unavailable.",
|
||||
"installation": "Installation diagnostics"
|
||||
},
|
||||
"catalogPackages": {
|
||||
"backend": {
|
||||
"sourceChanged": "Source categories or offers changed since this package was created. Create a fresh package to include the current data.",
|
||||
"saveConflict": "Package changed. Reload it before saving",
|
||||
"publishConflict": "Package changed. Refresh the publication preview",
|
||||
"catalogChanged": "Catalog changed. Refresh the publication preview",
|
||||
"missing": "Catalog package not found",
|
||||
"pageLimit": "A package supports at most 200 categories including descendants",
|
||||
"offerLimit": "A package supports at most 500 offers",
|
||||
"payloadLimit": "Package data exceeds 8 MB safety limit",
|
||||
"membership": "Package membership cannot change",
|
||||
"hierarchy": "Package hierarchy cannot change",
|
||||
"references": "Package furniture references cannot change",
|
||||
"furnitureMissing": "Package furniture reference no longer exists",
|
||||
"auditWarning": "Package published, but audit logging failed.",
|
||||
"hotelWarning": "Package published, but the hotel update was not delivered.",
|
||||
"exportWarning": "Package published, but export scheduling failed.",
|
||||
"refreshWarning": "Package published. Refresh the page to see the latest catalog."
|
||||
}
|
||||
},
|
||||
"catalogPackagePreview": {
|
||||
"title": "Catalog preview",
|
||||
"hint": "Browse the actual package pages and offers. This is a catalog preview, not a full game-client rendering. No purchases are made.",
|
||||
"search": "Search categories or offers",
|
||||
"playerMode": "Player access",
|
||||
"rank": "Rank",
|
||||
"club": "Club",
|
||||
"vip": "VIP",
|
||||
"externalParents": "This selection starts inside a larger catalog. Access restrictions on ancestors outside this snapshot cannot be evaluated.",
|
||||
"invalidHierarchy": "{count} pages have a cyclic hierarchy and cannot be navigated.",
|
||||
"snapshotLimit": "Preview limited to 200 pages and 500 offers.",
|
||||
"restricted": "{count} pages are hidden by the selected player access settings.",
|
||||
"categories": "Catalog categories",
|
||||
"noPages": "This snapshot contains no categories.",
|
||||
"inaccessible": "No categories are accessible with these settings. Adjust player access or turn it off to inspect the draft.",
|
||||
"noMatches": "No matches for this search.",
|
||||
"offerCount": "{count} offers",
|
||||
"layout": "Layout: {layout}",
|
||||
"missingLayout": "Not specified",
|
||||
"unsupportedLayout": "This layout has no dedicated preview. The grid shows the actual offers; custom layout widgets and imagery are not reproduced.",
|
||||
"loadingIcons": "Loading furniture icons…",
|
||||
"assetsUnavailable": "Furniture details are temporarily unavailable. Offer data remains visible.",
|
||||
"assetLimit": "Icons and furniture names are limited to the first 200 item IDs on this view.",
|
||||
"emptyPage": "This category has no direct offers. Browse its subcategories.",
|
||||
"missingIcon": "Icon unavailable",
|
||||
"amount": "Quantity: {count}",
|
||||
"bundle": "{count} furniture types",
|
||||
"changed": "Changed from the saved baseline",
|
||||
"previous": "Previous",
|
||||
"next": "Next",
|
||||
"page": "Page {page} of {total}",
|
||||
"offerId": "Offer #{id}",
|
||||
"unknownFurniture": "Furniture name unavailable",
|
||||
"selectOffer": "Select an offer to inspect its price and furniture references.",
|
||||
"credits": "Credits",
|
||||
"duckets": "Duckets",
|
||||
"diamonds": "Diamonds",
|
||||
"pointsType": "Points (type {type}):",
|
||||
"free": "Free",
|
||||
"specialPricing": "Special pricing: {credits} credits, {points} points (type {type})",
|
||||
"restrictedOffers": "{count} offers in this category require Club membership.",
|
||||
"clubOffer": "Club offer"
|
||||
}
|
||||
},
|
||||
"mod": {
|
||||
|
||||
@@ -1400,6 +1400,96 @@
|
||||
"save": "Guardar artículo",
|
||||
"saving": "Guardando…",
|
||||
"cancel": "Cancelar"
|
||||
},
|
||||
"packages": {
|
||||
"openPackages": "Catalog packages",
|
||||
"title": "Catalog packages",
|
||||
"description": "Prepare category and price changes in a separate draft. Review the catalog before publishing.",
|
||||
"createPackage": "New package",
|
||||
"createDraft": "Create draft",
|
||||
"draftCreated": "Package draft created. The live catalog has not changed.",
|
||||
"refresh": "Refresh list",
|
||||
"searchPackages": "Search packages",
|
||||
"noPackages": "No packages match this search.",
|
||||
"choosePackage": "Open a package or create a draft from existing categories.",
|
||||
"name": "Package name",
|
||||
"mode": "Publication mode",
|
||||
"update": "Update existing categories",
|
||||
"copy": "Create copies",
|
||||
"updateHint": "Publication applies the package to its existing categories and offers.",
|
||||
"copyHint": "Publication creates new categories and offers under the selected parent. Furniture references are preserved.",
|
||||
"sourceCategories": "Source categories",
|
||||
"packageLimits": "Descendant categories are included. Each package supports up to 200 categories and 500 offers.",
|
||||
"searchCategories": "Search categories",
|
||||
"selectedCategories": "Selected: {count}",
|
||||
"targetParent": "Destination parent category",
|
||||
"rootCategory": "Catalog root",
|
||||
"draft": "Draft",
|
||||
"published": "Published",
|
||||
"editDraft": "Edit draft",
|
||||
"catalogPreview": "Catalog preview",
|
||||
"showBaseline": "Show the original saved snapshot",
|
||||
"changes": "Before and after",
|
||||
"entry": "Entry",
|
||||
"field": "Field",
|
||||
"before": "Before",
|
||||
"after": "After",
|
||||
"noChanges": "No edited fields compared with the original snapshot.",
|
||||
"copyReview": "The entire package will be copied on publication, even if no fields were edited. The table lists edits to the original snapshot.",
|
||||
"updateReview": "These draft changes will update existing catalog entries after publication.",
|
||||
"saveDraft": "Save draft",
|
||||
"saveHint": "Saving keeps the package as a draft. Save all changes before requesting a publication review.",
|
||||
"draftSaved": "Draft saved. Publication is a separate step.",
|
||||
"reviewPublication": "Review publication",
|
||||
"publicationImpact": "Publication affects {pages} categories and {offers} offers.",
|
||||
"conflicts": "Publication is blocked by conflicts. Resolve them before requesting another review.",
|
||||
"readyToPublish": "The saved version passed the publication check. Publishing changes the live catalog.",
|
||||
"publish": "Publish package",
|
||||
"confirmPublish": "Publish this reviewed package to the live catalog now?",
|
||||
"publishedSuccess": "Package published: {pages} categories and {offers} offers.",
|
||||
"staleReview": "This package changed in another session. Reopen it to review the latest saved version.",
|
||||
"unsaved": "Unsaved changes",
|
||||
"discardChanges": "Discard unsaved package changes and continue?",
|
||||
"working": "Working…",
|
||||
"requestFailed": "The request failed. Try again.",
|
||||
"invalidFields": "Check required names, layouts and whole-number fields before saving.",
|
||||
"category": "Category",
|
||||
"caption": "Category caption",
|
||||
"iconImage": "Category icon ID",
|
||||
"minRank": "Minimum rank",
|
||||
"orderNum": "Display order",
|
||||
"pageLayout": "Page layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"offers": "Offers ({count})",
|
||||
"offer": "Offer",
|
||||
"catalogName": "Offer name",
|
||||
"costCredits": "Credits",
|
||||
"costPoints": "Points",
|
||||
"pointsType": "Points currency ID",
|
||||
"amount": "Amount",
|
||||
"searchOffers": "Search offers",
|
||||
"currentCategoryOffers": "Only the selected category",
|
||||
"selectMatching": "Select all matching offers ({count})",
|
||||
"clearSelection": "Clear selection",
|
||||
"selectedOffers": "Selected offers: {count}",
|
||||
"select": "Select",
|
||||
"selectOffer": "Select offer #{id}",
|
||||
"noOffers": "No offers match these filters.",
|
||||
"bulkPrices": "Bulk draft prices ({count} selected)",
|
||||
"bulkHint": "Preview the selected price changes, then accept them into this draft. The live catalog remains unchanged until publication.",
|
||||
"operation": "Operation",
|
||||
"set": "Set value",
|
||||
"add": "Add or subtract",
|
||||
"percent": "Adjust by percent",
|
||||
"value": "Value",
|
||||
"reviewBulk": "Preview prices",
|
||||
"invalidBulk": "Choose valid numbers and at least one offer. Resulting prices must be nonnegative and within the supported range.",
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -3055,6 +3145,69 @@
|
||||
"publications": "News drafts",
|
||||
"unavailable": "{source}: data is temporarily unavailable.",
|
||||
"installation": "Installation diagnostics"
|
||||
},
|
||||
"catalogPackages": {
|
||||
"backend": {
|
||||
"sourceChanged": "Source categories or offers changed since this package was created. Create a fresh package to include the current data.",
|
||||
"saveConflict": "Package changed. Reload it before saving",
|
||||
"publishConflict": "Package changed. Refresh the publication preview",
|
||||
"catalogChanged": "Catalog changed. Refresh the publication preview",
|
||||
"missing": "Catalog package not found",
|
||||
"pageLimit": "A package supports at most 200 categories including descendants",
|
||||
"offerLimit": "A package supports at most 500 offers",
|
||||
"payloadLimit": "Package data exceeds 8 MB safety limit",
|
||||
"membership": "Package membership cannot change",
|
||||
"hierarchy": "Package hierarchy cannot change",
|
||||
"references": "Package furniture references cannot change",
|
||||
"furnitureMissing": "Package furniture reference no longer exists",
|
||||
"auditWarning": "Package published, but audit logging failed.",
|
||||
"hotelWarning": "Package published, but the hotel update was not delivered.",
|
||||
"exportWarning": "Package published, but export scheduling failed.",
|
||||
"refreshWarning": "Package published. Refresh the page to see the latest catalog."
|
||||
}
|
||||
},
|
||||
"catalogPackagePreview": {
|
||||
"title": "Catalog preview",
|
||||
"hint": "Browse the actual package pages and offers. This is a catalog preview, not a full game-client rendering. No purchases are made.",
|
||||
"search": "Search categories or offers",
|
||||
"playerMode": "Player access",
|
||||
"rank": "Rank",
|
||||
"club": "Club",
|
||||
"vip": "VIP",
|
||||
"externalParents": "This selection starts inside a larger catalog. Access restrictions on ancestors outside this snapshot cannot be evaluated.",
|
||||
"invalidHierarchy": "{count} pages have a cyclic hierarchy and cannot be navigated.",
|
||||
"snapshotLimit": "Preview limited to 200 pages and 500 offers.",
|
||||
"restricted": "{count} pages are hidden by the selected player access settings.",
|
||||
"categories": "Catalog categories",
|
||||
"noPages": "This snapshot contains no categories.",
|
||||
"inaccessible": "No categories are accessible with these settings. Adjust player access or turn it off to inspect the draft.",
|
||||
"noMatches": "No matches for this search.",
|
||||
"offerCount": "{count} offers",
|
||||
"layout": "Layout: {layout}",
|
||||
"missingLayout": "Not specified",
|
||||
"unsupportedLayout": "This layout has no dedicated preview. The grid shows the actual offers; custom layout widgets and imagery are not reproduced.",
|
||||
"loadingIcons": "Loading furniture icons…",
|
||||
"assetsUnavailable": "Furniture details are temporarily unavailable. Offer data remains visible.",
|
||||
"assetLimit": "Icons and furniture names are limited to the first 200 item IDs on this view.",
|
||||
"emptyPage": "This category has no direct offers. Browse its subcategories.",
|
||||
"missingIcon": "Icon unavailable",
|
||||
"amount": "Quantity: {count}",
|
||||
"bundle": "{count} furniture types",
|
||||
"changed": "Changed from the saved baseline",
|
||||
"previous": "Previous",
|
||||
"next": "Next",
|
||||
"page": "Page {page} of {total}",
|
||||
"offerId": "Offer #{id}",
|
||||
"unknownFurniture": "Furniture name unavailable",
|
||||
"selectOffer": "Select an offer to inspect its price and furniture references.",
|
||||
"credits": "Credits",
|
||||
"duckets": "Duckets",
|
||||
"diamonds": "Diamonds",
|
||||
"pointsType": "Points (type {type}):",
|
||||
"free": "Free",
|
||||
"specialPricing": "Special pricing: {credits} credits, {points} points (type {type})",
|
||||
"restrictedOffers": "{count} offers in this category require Club membership.",
|
||||
"clubOffer": "Club offer"
|
||||
}
|
||||
},
|
||||
"radioRequests": {
|
||||
|
||||
@@ -126,6 +126,161 @@
|
||||
"publications": "News drafts",
|
||||
"unavailable": "{source}: data is temporarily unavailable.",
|
||||
"installation": "Installation diagnostics"
|
||||
},
|
||||
"catalog": {
|
||||
"packages": {
|
||||
"openPackages": "Catalog packages",
|
||||
"title": "Catalog packages",
|
||||
"description": "Prepare category and price changes in a separate draft. Review the catalog before publishing.",
|
||||
"createPackage": "New package",
|
||||
"createDraft": "Create draft",
|
||||
"draftCreated": "Package draft created. The live catalog has not changed.",
|
||||
"refresh": "Refresh list",
|
||||
"searchPackages": "Search packages",
|
||||
"noPackages": "No packages match this search.",
|
||||
"choosePackage": "Open a package or create a draft from existing categories.",
|
||||
"name": "Package name",
|
||||
"mode": "Publication mode",
|
||||
"update": "Update existing categories",
|
||||
"copy": "Create copies",
|
||||
"updateHint": "Publication applies the package to its existing categories and offers.",
|
||||
"copyHint": "Publication creates new categories and offers under the selected parent. Furniture references are preserved.",
|
||||
"sourceCategories": "Source categories",
|
||||
"packageLimits": "Descendant categories are included. Each package supports up to 200 categories and 500 offers.",
|
||||
"searchCategories": "Search categories",
|
||||
"selectedCategories": "Selected: {count}",
|
||||
"targetParent": "Destination parent category",
|
||||
"rootCategory": "Catalog root",
|
||||
"draft": "Draft",
|
||||
"published": "Published",
|
||||
"editDraft": "Edit draft",
|
||||
"catalogPreview": "Catalog preview",
|
||||
"showBaseline": "Show the original saved snapshot",
|
||||
"changes": "Before and after",
|
||||
"entry": "Entry",
|
||||
"field": "Field",
|
||||
"before": "Before",
|
||||
"after": "After",
|
||||
"noChanges": "No edited fields compared with the original snapshot.",
|
||||
"copyReview": "The entire package will be copied on publication, even if no fields were edited. The table lists edits to the original snapshot.",
|
||||
"updateReview": "These draft changes will update existing catalog entries after publication.",
|
||||
"saveDraft": "Save draft",
|
||||
"saveHint": "Saving keeps the package as a draft. Save all changes before requesting a publication review.",
|
||||
"draftSaved": "Draft saved. Publication is a separate step.",
|
||||
"reviewPublication": "Review publication",
|
||||
"publicationImpact": "Publication affects {pages} categories and {offers} offers.",
|
||||
"conflicts": "Publication is blocked by conflicts. Resolve them before requesting another review.",
|
||||
"readyToPublish": "The saved version passed the publication check. Publishing changes the live catalog.",
|
||||
"publish": "Publish package",
|
||||
"confirmPublish": "Publish this reviewed package to the live catalog now?",
|
||||
"publishedSuccess": "Package published: {pages} categories and {offers} offers.",
|
||||
"staleReview": "This package changed in another session. Reopen it to review the latest saved version.",
|
||||
"unsaved": "Unsaved changes",
|
||||
"discardChanges": "Discard unsaved package changes and continue?",
|
||||
"working": "Working…",
|
||||
"requestFailed": "The request failed. Try again.",
|
||||
"invalidFields": "Check required names, layouts and whole-number fields before saving.",
|
||||
"category": "Category",
|
||||
"caption": "Category caption",
|
||||
"iconImage": "Category icon ID",
|
||||
"minRank": "Minimum rank",
|
||||
"orderNum": "Display order",
|
||||
"pageLayout": "Page layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"offers": "Offers ({count})",
|
||||
"offer": "Offer",
|
||||
"catalogName": "Offer name",
|
||||
"costCredits": "Credits",
|
||||
"costPoints": "Points",
|
||||
"pointsType": "Points currency ID",
|
||||
"amount": "Amount",
|
||||
"searchOffers": "Search offers",
|
||||
"currentCategoryOffers": "Only the selected category",
|
||||
"selectMatching": "Select all matching offers ({count})",
|
||||
"clearSelection": "Clear selection",
|
||||
"selectedOffers": "Selected offers: {count}",
|
||||
"select": "Select",
|
||||
"selectOffer": "Select offer #{id}",
|
||||
"noOffers": "No offers match these filters.",
|
||||
"bulkPrices": "Bulk draft prices ({count} selected)",
|
||||
"bulkHint": "Preview the selected price changes, then accept them into this draft. The live catalog remains unchanged until publication.",
|
||||
"operation": "Operation",
|
||||
"set": "Set value",
|
||||
"add": "Add or subtract",
|
||||
"percent": "Adjust by percent",
|
||||
"value": "Value",
|
||||
"reviewBulk": "Preview prices",
|
||||
"invalidBulk": "Choose valid numbers and at least one offer. Resulting prices must be nonnegative and within the supported range.",
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
}
|
||||
},
|
||||
"catalogPackages": {
|
||||
"backend": {
|
||||
"sourceChanged": "Source categories or offers changed since this package was created. Create a fresh package to include the current data.",
|
||||
"saveConflict": "Package changed. Reload it before saving",
|
||||
"publishConflict": "Package changed. Refresh the publication preview",
|
||||
"catalogChanged": "Catalog changed. Refresh the publication preview",
|
||||
"missing": "Catalog package not found",
|
||||
"pageLimit": "A package supports at most 200 categories including descendants",
|
||||
"offerLimit": "A package supports at most 500 offers",
|
||||
"payloadLimit": "Package data exceeds 8 MB safety limit",
|
||||
"membership": "Package membership cannot change",
|
||||
"hierarchy": "Package hierarchy cannot change",
|
||||
"references": "Package furniture references cannot change",
|
||||
"furnitureMissing": "Package furniture reference no longer exists",
|
||||
"auditWarning": "Package published, but audit logging failed.",
|
||||
"hotelWarning": "Package published, but the hotel update was not delivered.",
|
||||
"exportWarning": "Package published, but export scheduling failed.",
|
||||
"refreshWarning": "Package published. Refresh the page to see the latest catalog."
|
||||
}
|
||||
},
|
||||
"catalogPackagePreview": {
|
||||
"title": "Catalog preview",
|
||||
"hint": "Browse the actual package pages and offers. This is a catalog preview, not a full game-client rendering. No purchases are made.",
|
||||
"search": "Search categories or offers",
|
||||
"playerMode": "Player access",
|
||||
"rank": "Rank",
|
||||
"club": "Club",
|
||||
"vip": "VIP",
|
||||
"externalParents": "This selection starts inside a larger catalog. Access restrictions on ancestors outside this snapshot cannot be evaluated.",
|
||||
"invalidHierarchy": "{count} pages have a cyclic hierarchy and cannot be navigated.",
|
||||
"snapshotLimit": "Preview limited to 200 pages and 500 offers.",
|
||||
"restricted": "{count} pages are hidden by the selected player access settings.",
|
||||
"categories": "Catalog categories",
|
||||
"noPages": "This snapshot contains no categories.",
|
||||
"inaccessible": "No categories are accessible with these settings. Adjust player access or turn it off to inspect the draft.",
|
||||
"noMatches": "No matches for this search.",
|
||||
"offerCount": "{count} offers",
|
||||
"layout": "Layout: {layout}",
|
||||
"missingLayout": "Not specified",
|
||||
"unsupportedLayout": "This layout has no dedicated preview. The grid shows the actual offers; custom layout widgets and imagery are not reproduced.",
|
||||
"loadingIcons": "Loading furniture icons…",
|
||||
"assetsUnavailable": "Furniture details are temporarily unavailable. Offer data remains visible.",
|
||||
"assetLimit": "Icons and furniture names are limited to the first 200 item IDs on this view.",
|
||||
"emptyPage": "This category has no direct offers. Browse its subcategories.",
|
||||
"missingIcon": "Icon unavailable",
|
||||
"amount": "Quantity: {count}",
|
||||
"bundle": "{count} furniture types",
|
||||
"changed": "Changed from the saved baseline",
|
||||
"previous": "Previous",
|
||||
"next": "Next",
|
||||
"page": "Page {page} of {total}",
|
||||
"offerId": "Offer #{id}",
|
||||
"unknownFurniture": "Furniture name unavailable",
|
||||
"selectOffer": "Select an offer to inspect its price and furniture references.",
|
||||
"credits": "Credits",
|
||||
"duckets": "Duckets",
|
||||
"diamonds": "Diamonds",
|
||||
"pointsType": "Points (type {type}):",
|
||||
"free": "Free",
|
||||
"specialPricing": "Special pricing: {credits} credits, {points} points (type {type})",
|
||||
"restrictedOffers": "{count} offers in this category require Club membership.",
|
||||
"clubOffer": "Club offer"
|
||||
}
|
||||
},
|
||||
"myDashboard": {
|
||||
|
||||
@@ -1400,6 +1400,96 @@
|
||||
"save": "Enregistrer l'article",
|
||||
"saving": "Enregistrement…",
|
||||
"cancel": "Annuler"
|
||||
},
|
||||
"packages": {
|
||||
"openPackages": "Catalog packages",
|
||||
"title": "Catalog packages",
|
||||
"description": "Prepare category and price changes in a separate draft. Review the catalog before publishing.",
|
||||
"createPackage": "New package",
|
||||
"createDraft": "Create draft",
|
||||
"draftCreated": "Package draft created. The live catalog has not changed.",
|
||||
"refresh": "Refresh list",
|
||||
"searchPackages": "Search packages",
|
||||
"noPackages": "No packages match this search.",
|
||||
"choosePackage": "Open a package or create a draft from existing categories.",
|
||||
"name": "Package name",
|
||||
"mode": "Publication mode",
|
||||
"update": "Update existing categories",
|
||||
"copy": "Create copies",
|
||||
"updateHint": "Publication applies the package to its existing categories and offers.",
|
||||
"copyHint": "Publication creates new categories and offers under the selected parent. Furniture references are preserved.",
|
||||
"sourceCategories": "Source categories",
|
||||
"packageLimits": "Descendant categories are included. Each package supports up to 200 categories and 500 offers.",
|
||||
"searchCategories": "Search categories",
|
||||
"selectedCategories": "Selected: {count}",
|
||||
"targetParent": "Destination parent category",
|
||||
"rootCategory": "Catalog root",
|
||||
"draft": "Draft",
|
||||
"published": "Published",
|
||||
"editDraft": "Edit draft",
|
||||
"catalogPreview": "Catalog preview",
|
||||
"showBaseline": "Show the original saved snapshot",
|
||||
"changes": "Before and after",
|
||||
"entry": "Entry",
|
||||
"field": "Field",
|
||||
"before": "Before",
|
||||
"after": "After",
|
||||
"noChanges": "No edited fields compared with the original snapshot.",
|
||||
"copyReview": "The entire package will be copied on publication, even if no fields were edited. The table lists edits to the original snapshot.",
|
||||
"updateReview": "These draft changes will update existing catalog entries after publication.",
|
||||
"saveDraft": "Save draft",
|
||||
"saveHint": "Saving keeps the package as a draft. Save all changes before requesting a publication review.",
|
||||
"draftSaved": "Draft saved. Publication is a separate step.",
|
||||
"reviewPublication": "Review publication",
|
||||
"publicationImpact": "Publication affects {pages} categories and {offers} offers.",
|
||||
"conflicts": "Publication is blocked by conflicts. Resolve them before requesting another review.",
|
||||
"readyToPublish": "The saved version passed the publication check. Publishing changes the live catalog.",
|
||||
"publish": "Publish package",
|
||||
"confirmPublish": "Publish this reviewed package to the live catalog now?",
|
||||
"publishedSuccess": "Package published: {pages} categories and {offers} offers.",
|
||||
"staleReview": "This package changed in another session. Reopen it to review the latest saved version.",
|
||||
"unsaved": "Unsaved changes",
|
||||
"discardChanges": "Discard unsaved package changes and continue?",
|
||||
"working": "Working…",
|
||||
"requestFailed": "The request failed. Try again.",
|
||||
"invalidFields": "Check required names, layouts and whole-number fields before saving.",
|
||||
"category": "Category",
|
||||
"caption": "Category caption",
|
||||
"iconImage": "Category icon ID",
|
||||
"minRank": "Minimum rank",
|
||||
"orderNum": "Display order",
|
||||
"pageLayout": "Page layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"offers": "Offers ({count})",
|
||||
"offer": "Offer",
|
||||
"catalogName": "Offer name",
|
||||
"costCredits": "Credits",
|
||||
"costPoints": "Points",
|
||||
"pointsType": "Points currency ID",
|
||||
"amount": "Amount",
|
||||
"searchOffers": "Search offers",
|
||||
"currentCategoryOffers": "Only the selected category",
|
||||
"selectMatching": "Select all matching offers ({count})",
|
||||
"clearSelection": "Clear selection",
|
||||
"selectedOffers": "Selected offers: {count}",
|
||||
"select": "Select",
|
||||
"selectOffer": "Select offer #{id}",
|
||||
"noOffers": "No offers match these filters.",
|
||||
"bulkPrices": "Bulk draft prices ({count} selected)",
|
||||
"bulkHint": "Preview the selected price changes, then accept them into this draft. The live catalog remains unchanged until publication.",
|
||||
"operation": "Operation",
|
||||
"set": "Set value",
|
||||
"add": "Add or subtract",
|
||||
"percent": "Adjust by percent",
|
||||
"value": "Value",
|
||||
"reviewBulk": "Preview prices",
|
||||
"invalidBulk": "Choose valid numbers and at least one offer. Resulting prices must be nonnegative and within the supported range.",
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -3055,6 +3145,69 @@
|
||||
"publications": "News drafts",
|
||||
"unavailable": "{source}: data is temporarily unavailable.",
|
||||
"installation": "Installation diagnostics"
|
||||
},
|
||||
"catalogPackages": {
|
||||
"backend": {
|
||||
"sourceChanged": "Source categories or offers changed since this package was created. Create a fresh package to include the current data.",
|
||||
"saveConflict": "Package changed. Reload it before saving",
|
||||
"publishConflict": "Package changed. Refresh the publication preview",
|
||||
"catalogChanged": "Catalog changed. Refresh the publication preview",
|
||||
"missing": "Catalog package not found",
|
||||
"pageLimit": "A package supports at most 200 categories including descendants",
|
||||
"offerLimit": "A package supports at most 500 offers",
|
||||
"payloadLimit": "Package data exceeds 8 MB safety limit",
|
||||
"membership": "Package membership cannot change",
|
||||
"hierarchy": "Package hierarchy cannot change",
|
||||
"references": "Package furniture references cannot change",
|
||||
"furnitureMissing": "Package furniture reference no longer exists",
|
||||
"auditWarning": "Package published, but audit logging failed.",
|
||||
"hotelWarning": "Package published, but the hotel update was not delivered.",
|
||||
"exportWarning": "Package published, but export scheduling failed.",
|
||||
"refreshWarning": "Package published. Refresh the page to see the latest catalog."
|
||||
}
|
||||
},
|
||||
"catalogPackagePreview": {
|
||||
"title": "Catalog preview",
|
||||
"hint": "Browse the actual package pages and offers. This is a catalog preview, not a full game-client rendering. No purchases are made.",
|
||||
"search": "Search categories or offers",
|
||||
"playerMode": "Player access",
|
||||
"rank": "Rank",
|
||||
"club": "Club",
|
||||
"vip": "VIP",
|
||||
"externalParents": "This selection starts inside a larger catalog. Access restrictions on ancestors outside this snapshot cannot be evaluated.",
|
||||
"invalidHierarchy": "{count} pages have a cyclic hierarchy and cannot be navigated.",
|
||||
"snapshotLimit": "Preview limited to 200 pages and 500 offers.",
|
||||
"restricted": "{count} pages are hidden by the selected player access settings.",
|
||||
"categories": "Catalog categories",
|
||||
"noPages": "This snapshot contains no categories.",
|
||||
"inaccessible": "No categories are accessible with these settings. Adjust player access or turn it off to inspect the draft.",
|
||||
"noMatches": "No matches for this search.",
|
||||
"offerCount": "{count} offers",
|
||||
"layout": "Layout: {layout}",
|
||||
"missingLayout": "Not specified",
|
||||
"unsupportedLayout": "This layout has no dedicated preview. The grid shows the actual offers; custom layout widgets and imagery are not reproduced.",
|
||||
"loadingIcons": "Loading furniture icons…",
|
||||
"assetsUnavailable": "Furniture details are temporarily unavailable. Offer data remains visible.",
|
||||
"assetLimit": "Icons and furniture names are limited to the first 200 item IDs on this view.",
|
||||
"emptyPage": "This category has no direct offers. Browse its subcategories.",
|
||||
"missingIcon": "Icon unavailable",
|
||||
"amount": "Quantity: {count}",
|
||||
"bundle": "{count} furniture types",
|
||||
"changed": "Changed from the saved baseline",
|
||||
"previous": "Previous",
|
||||
"next": "Next",
|
||||
"page": "Page {page} of {total}",
|
||||
"offerId": "Offer #{id}",
|
||||
"unknownFurniture": "Furniture name unavailable",
|
||||
"selectOffer": "Select an offer to inspect its price and furniture references.",
|
||||
"credits": "Credits",
|
||||
"duckets": "Duckets",
|
||||
"diamonds": "Diamonds",
|
||||
"pointsType": "Points (type {type}):",
|
||||
"free": "Free",
|
||||
"specialPricing": "Special pricing: {credits} credits, {points} points (type {type})",
|
||||
"restrictedOffers": "{count} offers in this category require Club membership.",
|
||||
"clubOffer": "Club offer"
|
||||
}
|
||||
},
|
||||
"radioRequests": {
|
||||
|
||||
@@ -1429,6 +1429,96 @@
|
||||
"save": "Spremi stavku",
|
||||
"saving": "Spremanje...",
|
||||
"cancel": "Odustani"
|
||||
},
|
||||
"packages": {
|
||||
"openPackages": "Catalog packages",
|
||||
"title": "Catalog packages",
|
||||
"description": "Prepare category and price changes in a separate draft. Review the catalog before publishing.",
|
||||
"createPackage": "New package",
|
||||
"createDraft": "Create draft",
|
||||
"draftCreated": "Package draft created. The live catalog has not changed.",
|
||||
"refresh": "Refresh list",
|
||||
"searchPackages": "Search packages",
|
||||
"noPackages": "No packages match this search.",
|
||||
"choosePackage": "Open a package or create a draft from existing categories.",
|
||||
"name": "Package name",
|
||||
"mode": "Publication mode",
|
||||
"update": "Update existing categories",
|
||||
"copy": "Create copies",
|
||||
"updateHint": "Publication applies the package to its existing categories and offers.",
|
||||
"copyHint": "Publication creates new categories and offers under the selected parent. Furniture references are preserved.",
|
||||
"sourceCategories": "Source categories",
|
||||
"packageLimits": "Descendant categories are included. Each package supports up to 200 categories and 500 offers.",
|
||||
"searchCategories": "Search categories",
|
||||
"selectedCategories": "Selected: {count}",
|
||||
"targetParent": "Destination parent category",
|
||||
"rootCategory": "Catalog root",
|
||||
"draft": "Draft",
|
||||
"published": "Published",
|
||||
"editDraft": "Edit draft",
|
||||
"catalogPreview": "Catalog preview",
|
||||
"showBaseline": "Show the original saved snapshot",
|
||||
"changes": "Before and after",
|
||||
"entry": "Entry",
|
||||
"field": "Field",
|
||||
"before": "Before",
|
||||
"after": "After",
|
||||
"noChanges": "No edited fields compared with the original snapshot.",
|
||||
"copyReview": "The entire package will be copied on publication, even if no fields were edited. The table lists edits to the original snapshot.",
|
||||
"updateReview": "These draft changes will update existing catalog entries after publication.",
|
||||
"saveDraft": "Save draft",
|
||||
"saveHint": "Saving keeps the package as a draft. Save all changes before requesting a publication review.",
|
||||
"draftSaved": "Draft saved. Publication is a separate step.",
|
||||
"reviewPublication": "Review publication",
|
||||
"publicationImpact": "Publication affects {pages} categories and {offers} offers.",
|
||||
"conflicts": "Publication is blocked by conflicts. Resolve them before requesting another review.",
|
||||
"readyToPublish": "The saved version passed the publication check. Publishing changes the live catalog.",
|
||||
"publish": "Publish package",
|
||||
"confirmPublish": "Publish this reviewed package to the live catalog now?",
|
||||
"publishedSuccess": "Package published: {pages} categories and {offers} offers.",
|
||||
"staleReview": "This package changed in another session. Reopen it to review the latest saved version.",
|
||||
"unsaved": "Unsaved changes",
|
||||
"discardChanges": "Discard unsaved package changes and continue?",
|
||||
"working": "Working…",
|
||||
"requestFailed": "The request failed. Try again.",
|
||||
"invalidFields": "Check required names, layouts and whole-number fields before saving.",
|
||||
"category": "Category",
|
||||
"caption": "Category caption",
|
||||
"iconImage": "Category icon ID",
|
||||
"minRank": "Minimum rank",
|
||||
"orderNum": "Display order",
|
||||
"pageLayout": "Page layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"offers": "Offers ({count})",
|
||||
"offer": "Offer",
|
||||
"catalogName": "Offer name",
|
||||
"costCredits": "Credits",
|
||||
"costPoints": "Points",
|
||||
"pointsType": "Points currency ID",
|
||||
"amount": "Amount",
|
||||
"searchOffers": "Search offers",
|
||||
"currentCategoryOffers": "Only the selected category",
|
||||
"selectMatching": "Select all matching offers ({count})",
|
||||
"clearSelection": "Clear selection",
|
||||
"selectedOffers": "Selected offers: {count}",
|
||||
"select": "Select",
|
||||
"selectOffer": "Select offer #{id}",
|
||||
"noOffers": "No offers match these filters.",
|
||||
"bulkPrices": "Bulk draft prices ({count} selected)",
|
||||
"bulkHint": "Preview the selected price changes, then accept them into this draft. The live catalog remains unchanged until publication.",
|
||||
"operation": "Operation",
|
||||
"set": "Set value",
|
||||
"add": "Add or subtract",
|
||||
"percent": "Adjust by percent",
|
||||
"value": "Value",
|
||||
"reviewBulk": "Preview prices",
|
||||
"invalidBulk": "Choose valid numbers and at least one offer. Resulting prices must be nonnegative and within the supported range.",
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -3084,6 +3174,69 @@
|
||||
"publications": "News drafts",
|
||||
"unavailable": "{source}: data is temporarily unavailable.",
|
||||
"installation": "Installation diagnostics"
|
||||
},
|
||||
"catalogPackages": {
|
||||
"backend": {
|
||||
"sourceChanged": "Source categories or offers changed since this package was created. Create a fresh package to include the current data.",
|
||||
"saveConflict": "Package changed. Reload it before saving",
|
||||
"publishConflict": "Package changed. Refresh the publication preview",
|
||||
"catalogChanged": "Catalog changed. Refresh the publication preview",
|
||||
"missing": "Catalog package not found",
|
||||
"pageLimit": "A package supports at most 200 categories including descendants",
|
||||
"offerLimit": "A package supports at most 500 offers",
|
||||
"payloadLimit": "Package data exceeds 8 MB safety limit",
|
||||
"membership": "Package membership cannot change",
|
||||
"hierarchy": "Package hierarchy cannot change",
|
||||
"references": "Package furniture references cannot change",
|
||||
"furnitureMissing": "Package furniture reference no longer exists",
|
||||
"auditWarning": "Package published, but audit logging failed.",
|
||||
"hotelWarning": "Package published, but the hotel update was not delivered.",
|
||||
"exportWarning": "Package published, but export scheduling failed.",
|
||||
"refreshWarning": "Package published. Refresh the page to see the latest catalog."
|
||||
}
|
||||
},
|
||||
"catalogPackagePreview": {
|
||||
"title": "Catalog preview",
|
||||
"hint": "Browse the actual package pages and offers. This is a catalog preview, not a full game-client rendering. No purchases are made.",
|
||||
"search": "Search categories or offers",
|
||||
"playerMode": "Player access",
|
||||
"rank": "Rank",
|
||||
"club": "Club",
|
||||
"vip": "VIP",
|
||||
"externalParents": "This selection starts inside a larger catalog. Access restrictions on ancestors outside this snapshot cannot be evaluated.",
|
||||
"invalidHierarchy": "{count} pages have a cyclic hierarchy and cannot be navigated.",
|
||||
"snapshotLimit": "Preview limited to 200 pages and 500 offers.",
|
||||
"restricted": "{count} pages are hidden by the selected player access settings.",
|
||||
"categories": "Catalog categories",
|
||||
"noPages": "This snapshot contains no categories.",
|
||||
"inaccessible": "No categories are accessible with these settings. Adjust player access or turn it off to inspect the draft.",
|
||||
"noMatches": "No matches for this search.",
|
||||
"offerCount": "{count} offers",
|
||||
"layout": "Layout: {layout}",
|
||||
"missingLayout": "Not specified",
|
||||
"unsupportedLayout": "This layout has no dedicated preview. The grid shows the actual offers; custom layout widgets and imagery are not reproduced.",
|
||||
"loadingIcons": "Loading furniture icons…",
|
||||
"assetsUnavailable": "Furniture details are temporarily unavailable. Offer data remains visible.",
|
||||
"assetLimit": "Icons and furniture names are limited to the first 200 item IDs on this view.",
|
||||
"emptyPage": "This category has no direct offers. Browse its subcategories.",
|
||||
"missingIcon": "Icon unavailable",
|
||||
"amount": "Quantity: {count}",
|
||||
"bundle": "{count} furniture types",
|
||||
"changed": "Changed from the saved baseline",
|
||||
"previous": "Previous",
|
||||
"next": "Next",
|
||||
"page": "Page {page} of {total}",
|
||||
"offerId": "Offer #{id}",
|
||||
"unknownFurniture": "Furniture name unavailable",
|
||||
"selectOffer": "Select an offer to inspect its price and furniture references.",
|
||||
"credits": "Credits",
|
||||
"duckets": "Duckets",
|
||||
"diamonds": "Diamonds",
|
||||
"pointsType": "Points (type {type}):",
|
||||
"free": "Free",
|
||||
"specialPricing": "Special pricing: {credits} credits, {points} points (type {type})",
|
||||
"restrictedOffers": "{count} offers in this category require Club membership.",
|
||||
"clubOffer": "Club offer"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
@@ -1429,6 +1429,96 @@
|
||||
"save": "Mentse el az elemet",
|
||||
"saving": "Mentés…",
|
||||
"cancel": "Mégse"
|
||||
},
|
||||
"packages": {
|
||||
"openPackages": "Catalog packages",
|
||||
"title": "Catalog packages",
|
||||
"description": "Prepare category and price changes in a separate draft. Review the catalog before publishing.",
|
||||
"createPackage": "New package",
|
||||
"createDraft": "Create draft",
|
||||
"draftCreated": "Package draft created. The live catalog has not changed.",
|
||||
"refresh": "Refresh list",
|
||||
"searchPackages": "Search packages",
|
||||
"noPackages": "No packages match this search.",
|
||||
"choosePackage": "Open a package or create a draft from existing categories.",
|
||||
"name": "Package name",
|
||||
"mode": "Publication mode",
|
||||
"update": "Update existing categories",
|
||||
"copy": "Create copies",
|
||||
"updateHint": "Publication applies the package to its existing categories and offers.",
|
||||
"copyHint": "Publication creates new categories and offers under the selected parent. Furniture references are preserved.",
|
||||
"sourceCategories": "Source categories",
|
||||
"packageLimits": "Descendant categories are included. Each package supports up to 200 categories and 500 offers.",
|
||||
"searchCategories": "Search categories",
|
||||
"selectedCategories": "Selected: {count}",
|
||||
"targetParent": "Destination parent category",
|
||||
"rootCategory": "Catalog root",
|
||||
"draft": "Draft",
|
||||
"published": "Published",
|
||||
"editDraft": "Edit draft",
|
||||
"catalogPreview": "Catalog preview",
|
||||
"showBaseline": "Show the original saved snapshot",
|
||||
"changes": "Before and after",
|
||||
"entry": "Entry",
|
||||
"field": "Field",
|
||||
"before": "Before",
|
||||
"after": "After",
|
||||
"noChanges": "No edited fields compared with the original snapshot.",
|
||||
"copyReview": "The entire package will be copied on publication, even if no fields were edited. The table lists edits to the original snapshot.",
|
||||
"updateReview": "These draft changes will update existing catalog entries after publication.",
|
||||
"saveDraft": "Save draft",
|
||||
"saveHint": "Saving keeps the package as a draft. Save all changes before requesting a publication review.",
|
||||
"draftSaved": "Draft saved. Publication is a separate step.",
|
||||
"reviewPublication": "Review publication",
|
||||
"publicationImpact": "Publication affects {pages} categories and {offers} offers.",
|
||||
"conflicts": "Publication is blocked by conflicts. Resolve them before requesting another review.",
|
||||
"readyToPublish": "The saved version passed the publication check. Publishing changes the live catalog.",
|
||||
"publish": "Publish package",
|
||||
"confirmPublish": "Publish this reviewed package to the live catalog now?",
|
||||
"publishedSuccess": "Package published: {pages} categories and {offers} offers.",
|
||||
"staleReview": "This package changed in another session. Reopen it to review the latest saved version.",
|
||||
"unsaved": "Unsaved changes",
|
||||
"discardChanges": "Discard unsaved package changes and continue?",
|
||||
"working": "Working…",
|
||||
"requestFailed": "The request failed. Try again.",
|
||||
"invalidFields": "Check required names, layouts and whole-number fields before saving.",
|
||||
"category": "Category",
|
||||
"caption": "Category caption",
|
||||
"iconImage": "Category icon ID",
|
||||
"minRank": "Minimum rank",
|
||||
"orderNum": "Display order",
|
||||
"pageLayout": "Page layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"offers": "Offers ({count})",
|
||||
"offer": "Offer",
|
||||
"catalogName": "Offer name",
|
||||
"costCredits": "Credits",
|
||||
"costPoints": "Points",
|
||||
"pointsType": "Points currency ID",
|
||||
"amount": "Amount",
|
||||
"searchOffers": "Search offers",
|
||||
"currentCategoryOffers": "Only the selected category",
|
||||
"selectMatching": "Select all matching offers ({count})",
|
||||
"clearSelection": "Clear selection",
|
||||
"selectedOffers": "Selected offers: {count}",
|
||||
"select": "Select",
|
||||
"selectOffer": "Select offer #{id}",
|
||||
"noOffers": "No offers match these filters.",
|
||||
"bulkPrices": "Bulk draft prices ({count} selected)",
|
||||
"bulkHint": "Preview the selected price changes, then accept them into this draft. The live catalog remains unchanged until publication.",
|
||||
"operation": "Operation",
|
||||
"set": "Set value",
|
||||
"add": "Add or subtract",
|
||||
"percent": "Adjust by percent",
|
||||
"value": "Value",
|
||||
"reviewBulk": "Preview prices",
|
||||
"invalidBulk": "Choose valid numbers and at least one offer. Resulting prices must be nonnegative and within the supported range.",
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -3084,6 +3174,69 @@
|
||||
"publications": "News drafts",
|
||||
"unavailable": "{source}: data is temporarily unavailable.",
|
||||
"installation": "Installation diagnostics"
|
||||
},
|
||||
"catalogPackages": {
|
||||
"backend": {
|
||||
"sourceChanged": "Source categories or offers changed since this package was created. Create a fresh package to include the current data.",
|
||||
"saveConflict": "Package changed. Reload it before saving",
|
||||
"publishConflict": "Package changed. Refresh the publication preview",
|
||||
"catalogChanged": "Catalog changed. Refresh the publication preview",
|
||||
"missing": "Catalog package not found",
|
||||
"pageLimit": "A package supports at most 200 categories including descendants",
|
||||
"offerLimit": "A package supports at most 500 offers",
|
||||
"payloadLimit": "Package data exceeds 8 MB safety limit",
|
||||
"membership": "Package membership cannot change",
|
||||
"hierarchy": "Package hierarchy cannot change",
|
||||
"references": "Package furniture references cannot change",
|
||||
"furnitureMissing": "Package furniture reference no longer exists",
|
||||
"auditWarning": "Package published, but audit logging failed.",
|
||||
"hotelWarning": "Package published, but the hotel update was not delivered.",
|
||||
"exportWarning": "Package published, but export scheduling failed.",
|
||||
"refreshWarning": "Package published. Refresh the page to see the latest catalog."
|
||||
}
|
||||
},
|
||||
"catalogPackagePreview": {
|
||||
"title": "Catalog preview",
|
||||
"hint": "Browse the actual package pages and offers. This is a catalog preview, not a full game-client rendering. No purchases are made.",
|
||||
"search": "Search categories or offers",
|
||||
"playerMode": "Player access",
|
||||
"rank": "Rank",
|
||||
"club": "Club",
|
||||
"vip": "VIP",
|
||||
"externalParents": "This selection starts inside a larger catalog. Access restrictions on ancestors outside this snapshot cannot be evaluated.",
|
||||
"invalidHierarchy": "{count} pages have a cyclic hierarchy and cannot be navigated.",
|
||||
"snapshotLimit": "Preview limited to 200 pages and 500 offers.",
|
||||
"restricted": "{count} pages are hidden by the selected player access settings.",
|
||||
"categories": "Catalog categories",
|
||||
"noPages": "This snapshot contains no categories.",
|
||||
"inaccessible": "No categories are accessible with these settings. Adjust player access or turn it off to inspect the draft.",
|
||||
"noMatches": "No matches for this search.",
|
||||
"offerCount": "{count} offers",
|
||||
"layout": "Layout: {layout}",
|
||||
"missingLayout": "Not specified",
|
||||
"unsupportedLayout": "This layout has no dedicated preview. The grid shows the actual offers; custom layout widgets and imagery are not reproduced.",
|
||||
"loadingIcons": "Loading furniture icons…",
|
||||
"assetsUnavailable": "Furniture details are temporarily unavailable. Offer data remains visible.",
|
||||
"assetLimit": "Icons and furniture names are limited to the first 200 item IDs on this view.",
|
||||
"emptyPage": "This category has no direct offers. Browse its subcategories.",
|
||||
"missingIcon": "Icon unavailable",
|
||||
"amount": "Quantity: {count}",
|
||||
"bundle": "{count} furniture types",
|
||||
"changed": "Changed from the saved baseline",
|
||||
"previous": "Previous",
|
||||
"next": "Next",
|
||||
"page": "Page {page} of {total}",
|
||||
"offerId": "Offer #{id}",
|
||||
"unknownFurniture": "Furniture name unavailable",
|
||||
"selectOffer": "Select an offer to inspect its price and furniture references.",
|
||||
"credits": "Credits",
|
||||
"duckets": "Duckets",
|
||||
"diamonds": "Diamonds",
|
||||
"pointsType": "Points (type {type}):",
|
||||
"free": "Free",
|
||||
"specialPricing": "Special pricing: {credits} credits, {points} points (type {type})",
|
||||
"restrictedOffers": "{count} offers in this category require Club membership.",
|
||||
"clubOffer": "Club offer"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
@@ -2008,6 +2008,96 @@
|
||||
"selectionHint": "Cambiare ricerca o filtro azzera la selezione.",
|
||||
"noResults": "Nessuna offerta corrisponde alla ricerca e al filtro attuali.",
|
||||
"selectVisible": "Seleziona tutte le offerte visibili"
|
||||
},
|
||||
"packages": {
|
||||
"openPackages": "Pacchetti catalogo",
|
||||
"title": "Pacchetti catalogo",
|
||||
"description": "Prepara modifiche a categorie e prezzi in una bozza separata. Controlla il catalogo prima di pubblicare.",
|
||||
"createPackage": "Nuovo pacchetto",
|
||||
"createDraft": "Crea bozza",
|
||||
"draftCreated": "Bozza del pacchetto creata. Il catalogo live non è stato modificato.",
|
||||
"refresh": "Aggiorna elenco",
|
||||
"searchPackages": "Cerca pacchetti",
|
||||
"noPackages": "Nessun pacchetto corrisponde alla ricerca.",
|
||||
"choosePackage": "Apri un pacchetto o crea una bozza dalle categorie esistenti.",
|
||||
"name": "Nome pacchetto",
|
||||
"mode": "Modalità pubblicazione",
|
||||
"update": "Aggiorna categorie esistenti",
|
||||
"copy": "Crea copie",
|
||||
"updateHint": "La pubblicazione applica il pacchetto alle categorie e offerte esistenti.",
|
||||
"copyHint": "La pubblicazione crea nuove categorie e offerte sotto il genitore scelto. I riferimenti ai furni vengono mantenuti.",
|
||||
"sourceCategories": "Categorie di origine",
|
||||
"packageLimits": "Sono incluse le sottocategorie. Ogni pacchetto supporta fino a 200 categorie e 500 offerte.",
|
||||
"searchCategories": "Cerca categorie",
|
||||
"selectedCategories": "Selezionate: {count}",
|
||||
"targetParent": "Categoria genitore di destinazione",
|
||||
"rootCategory": "Radice del catalogo",
|
||||
"draft": "Bozza",
|
||||
"published": "Pubblicato",
|
||||
"editDraft": "Modifica bozza",
|
||||
"catalogPreview": "Anteprima catalogo",
|
||||
"showBaseline": "Mostra l’istantanea originale salvata",
|
||||
"changes": "Prima e dopo",
|
||||
"entry": "Voce",
|
||||
"field": "Campo",
|
||||
"before": "Prima",
|
||||
"after": "Dopo",
|
||||
"noChanges": "Nessun campo modificato rispetto all’istantanea originale.",
|
||||
"copyReview": "Alla pubblicazione sarà copiato l’intero pacchetto, anche senza campi modificati. La tabella elenca le modifiche all’istantanea originale.",
|
||||
"updateReview": "Queste modifiche della bozza aggiorneranno le voci esistenti dopo la pubblicazione.",
|
||||
"saveDraft": "Salva bozza",
|
||||
"saveHint": "Il salvataggio mantiene il pacchetto come bozza. Salva tutte le modifiche prima di richiedere la verifica di pubblicazione.",
|
||||
"draftSaved": "Bozza salvata. La pubblicazione è un passaggio separato.",
|
||||
"reviewPublication": "Verifica pubblicazione",
|
||||
"publicationImpact": "La pubblicazione interessa {pages} categorie e {offers} offerte.",
|
||||
"conflicts": "La pubblicazione è bloccata da conflitti. Risolvili prima di richiedere una nuova verifica.",
|
||||
"readyToPublish": "La versione salvata ha superato la verifica. La pubblicazione modifica il catalogo live.",
|
||||
"publish": "Pubblica pacchetto",
|
||||
"confirmPublish": "Pubblicare ora questo pacchetto verificato nel catalogo live?",
|
||||
"publishedSuccess": "Pacchetto pubblicato: {pages} categorie e {offers} offerte.",
|
||||
"staleReview": "Questo pacchetto è cambiato in un’altra sessione. Riaprilo per verificare l’ultima versione salvata.",
|
||||
"unsaved": "Modifiche non salvate",
|
||||
"discardChanges": "Scartare le modifiche non salvate al pacchetto e continuare?",
|
||||
"working": "Operazione in corso…",
|
||||
"requestFailed": "La richiesta non è riuscita. Riprova.",
|
||||
"invalidFields": "Controlla nomi obbligatori, layout e campi numerici interi prima di salvare.",
|
||||
"category": "Categoria",
|
||||
"caption": "Nome categoria",
|
||||
"iconImage": "ID icona categoria",
|
||||
"minRank": "Rango minimo",
|
||||
"orderNum": "Ordine di visualizzazione",
|
||||
"pageLayout": "Layout pagina",
|
||||
"enabled": "Abilitata",
|
||||
"visible": "Visibile",
|
||||
"clubOnly": "Solo membri Club",
|
||||
"vipOnly": "Solo membri VIP",
|
||||
"offers": "Offerte ({count})",
|
||||
"offer": "Offerta",
|
||||
"catalogName": "Nome offerta",
|
||||
"costCredits": "Crediti",
|
||||
"costPoints": "Punti",
|
||||
"pointsType": "ID valuta punti",
|
||||
"amount": "Quantità",
|
||||
"searchOffers": "Cerca offerte",
|
||||
"currentCategoryOffers": "Solo la categoria selezionata",
|
||||
"selectMatching": "Seleziona tutte le offerte filtrate ({count})",
|
||||
"clearSelection": "Svuota selezione",
|
||||
"selectedOffers": "Offerte selezionate: {count}",
|
||||
"select": "Seleziona",
|
||||
"selectOffer": "Seleziona offerta #{id}",
|
||||
"noOffers": "Nessuna offerta corrisponde ai filtri.",
|
||||
"bulkPrices": "Prezzi della bozza in blocco ({count} selezionate)",
|
||||
"bulkHint": "Controlla i prezzi selezionati, poi accettali nella bozza. Il catalogo live resta invariato fino alla pubblicazione.",
|
||||
"operation": "Operazione",
|
||||
"set": "Imposta valore",
|
||||
"add": "Aggiungi o sottrai",
|
||||
"percent": "Variazione percentuale",
|
||||
"value": "Valore",
|
||||
"reviewBulk": "Anteprima prezzi",
|
||||
"invalidBulk": "Scegli numeri validi e almeno un’offerta. I prezzi risultanti devono essere non negativi e nell’intervallo supportato.",
|
||||
"acceptBulk": "Accetta prezzi nella bozza",
|
||||
"previous": "Precedente",
|
||||
"next": "Successiva"
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -3856,6 +3946,69 @@
|
||||
"publications": "Bozze delle news",
|
||||
"unavailable": "{source}: dati temporaneamente non disponibili.",
|
||||
"installation": "Diagnostica installazione"
|
||||
},
|
||||
"catalogPackages": {
|
||||
"backend": {
|
||||
"sourceChanged": "Le categorie o le offerte sorgenti sono cambiate. Crea un nuovo pacchetto per includere i dati aggiornati.",
|
||||
"saveConflict": "Il pacchetto è cambiato. Ricaricalo prima di salvare.",
|
||||
"publishConflict": "Il pacchetto è cambiato. Aggiorna l’anteprima di pubblicazione.",
|
||||
"catalogChanged": "Il catalogo è cambiato. Aggiorna l’anteprima di pubblicazione.",
|
||||
"missing": "Pacchetto catalogo non trovato.",
|
||||
"pageLimit": "Un pacchetto supporta al massimo 200 categorie, incluse le sottocategorie.",
|
||||
"offerLimit": "Un pacchetto supporta al massimo 500 offerte.",
|
||||
"payloadLimit": "I dati del pacchetto superano il limite di 8 MB.",
|
||||
"membership": "Non puoi aggiungere o rimuovere elementi dal pacchetto.",
|
||||
"hierarchy": "Non puoi modificare la gerarchia del pacchetto.",
|
||||
"references": "Non puoi modificare i riferimenti ai furni del pacchetto.",
|
||||
"furnitureMissing": "Un furni referenziato dal pacchetto non esiste più.",
|
||||
"auditWarning": "Pacchetto pubblicato, ma la registrazione nell’audit non è riuscita.",
|
||||
"hotelWarning": "Pacchetto pubblicato, ma l’aggiornamento non è stato inviato all’hotel.",
|
||||
"exportWarning": "Pacchetto pubblicato, ma la pianificazione dell’esportazione non è riuscita.",
|
||||
"refreshWarning": "Pacchetto pubblicato. Aggiorna la pagina per vedere il catalogo aggiornato."
|
||||
}
|
||||
},
|
||||
"catalogPackagePreview": {
|
||||
"title": "Anteprima catalogo",
|
||||
"hint": "Sfoglia le pagine e le offerte reali del pacchetto. Questa è un’anteprima del catalogo, non la riproduzione completa del client di gioco. Non vengono effettuati acquisti.",
|
||||
"search": "Cerca categorie o offerte",
|
||||
"playerMode": "Accesso giocatore",
|
||||
"rank": "Rango",
|
||||
"club": "Club",
|
||||
"vip": "VIP",
|
||||
"externalParents": "La selezione appartiene a un catalogo più ampio. Non è possibile valutare le restrizioni delle categorie superiori esterne a questa istantanea.",
|
||||
"invalidHierarchy": "{count} pagine hanno una gerarchia ciclica e non sono navigabili.",
|
||||
"snapshotLimit": "Anteprima limitata a 200 pagine e 500 offerte.",
|
||||
"restricted": "{count} pagine sono nascoste dalle impostazioni di accesso selezionate.",
|
||||
"categories": "Categorie del catalogo",
|
||||
"noPages": "Questa istantanea non contiene categorie.",
|
||||
"inaccessible": "Nessuna categoria è accessibile con queste impostazioni. Modifica l’accesso giocatore o disattivalo per esaminare la bozza.",
|
||||
"noMatches": "Nessun risultato per questa ricerca.",
|
||||
"offerCount": "{count} offerte",
|
||||
"layout": "Layout: {layout}",
|
||||
"missingLayout": "Non specificato",
|
||||
"unsupportedLayout": "Questo layout non ha un’anteprima dedicata. La griglia mostra le offerte reali; componenti e immagini del layout personalizzato non vengono riprodotti.",
|
||||
"loadingIcons": "Caricamento delle icone dei furni…",
|
||||
"assetsUnavailable": "I dettagli dei furni non sono al momento disponibili. I dati delle offerte restano visibili.",
|
||||
"assetLimit": "Icone e nomi dei furni sono limitati ai primi 200 ID di questa vista.",
|
||||
"emptyPage": "Questa categoria non contiene offerte dirette. Sfoglia le sottocategorie.",
|
||||
"missingIcon": "Icona non disponibile",
|
||||
"amount": "Quantità: {count}",
|
||||
"bundle": "{count} tipi di furni",
|
||||
"changed": "Modificato rispetto alla versione iniziale salvata",
|
||||
"previous": "Precedente",
|
||||
"next": "Successiva",
|
||||
"page": "Pagina {page} di {total}",
|
||||
"offerId": "Offerta #{id}",
|
||||
"unknownFurniture": "Nome del furni non disponibile",
|
||||
"selectOffer": "Seleziona un’offerta per esaminare il prezzo e i furni inclusi.",
|
||||
"credits": "Crediti",
|
||||
"duckets": "Duckets",
|
||||
"diamonds": "Diamanti",
|
||||
"pointsType": "Punti (tipo {type}):",
|
||||
"free": "Gratis",
|
||||
"specialPricing": "Prezzo speciale: {credits} crediti, {points} punti (tipo {type})",
|
||||
"restrictedOffers": "{count} offerte in questa categoria richiedono l’iscrizione al Club.",
|
||||
"clubOffer": "Offerta Club"
|
||||
}
|
||||
},
|
||||
"radioRequests": {
|
||||
|
||||
@@ -126,6 +126,161 @@
|
||||
"publications": "News drafts",
|
||||
"unavailable": "{source}: data is temporarily unavailable.",
|
||||
"installation": "Installation diagnostics"
|
||||
},
|
||||
"catalog": {
|
||||
"packages": {
|
||||
"openPackages": "Catalog packages",
|
||||
"title": "Catalog packages",
|
||||
"description": "Prepare category and price changes in a separate draft. Review the catalog before publishing.",
|
||||
"createPackage": "New package",
|
||||
"createDraft": "Create draft",
|
||||
"draftCreated": "Package draft created. The live catalog has not changed.",
|
||||
"refresh": "Refresh list",
|
||||
"searchPackages": "Search packages",
|
||||
"noPackages": "No packages match this search.",
|
||||
"choosePackage": "Open a package or create a draft from existing categories.",
|
||||
"name": "Package name",
|
||||
"mode": "Publication mode",
|
||||
"update": "Update existing categories",
|
||||
"copy": "Create copies",
|
||||
"updateHint": "Publication applies the package to its existing categories and offers.",
|
||||
"copyHint": "Publication creates new categories and offers under the selected parent. Furniture references are preserved.",
|
||||
"sourceCategories": "Source categories",
|
||||
"packageLimits": "Descendant categories are included. Each package supports up to 200 categories and 500 offers.",
|
||||
"searchCategories": "Search categories",
|
||||
"selectedCategories": "Selected: {count}",
|
||||
"targetParent": "Destination parent category",
|
||||
"rootCategory": "Catalog root",
|
||||
"draft": "Draft",
|
||||
"published": "Published",
|
||||
"editDraft": "Edit draft",
|
||||
"catalogPreview": "Catalog preview",
|
||||
"showBaseline": "Show the original saved snapshot",
|
||||
"changes": "Before and after",
|
||||
"entry": "Entry",
|
||||
"field": "Field",
|
||||
"before": "Before",
|
||||
"after": "After",
|
||||
"noChanges": "No edited fields compared with the original snapshot.",
|
||||
"copyReview": "The entire package will be copied on publication, even if no fields were edited. The table lists edits to the original snapshot.",
|
||||
"updateReview": "These draft changes will update existing catalog entries after publication.",
|
||||
"saveDraft": "Save draft",
|
||||
"saveHint": "Saving keeps the package as a draft. Save all changes before requesting a publication review.",
|
||||
"draftSaved": "Draft saved. Publication is a separate step.",
|
||||
"reviewPublication": "Review publication",
|
||||
"publicationImpact": "Publication affects {pages} categories and {offers} offers.",
|
||||
"conflicts": "Publication is blocked by conflicts. Resolve them before requesting another review.",
|
||||
"readyToPublish": "The saved version passed the publication check. Publishing changes the live catalog.",
|
||||
"publish": "Publish package",
|
||||
"confirmPublish": "Publish this reviewed package to the live catalog now?",
|
||||
"publishedSuccess": "Package published: {pages} categories and {offers} offers.",
|
||||
"staleReview": "This package changed in another session. Reopen it to review the latest saved version.",
|
||||
"unsaved": "Unsaved changes",
|
||||
"discardChanges": "Discard unsaved package changes and continue?",
|
||||
"working": "Working…",
|
||||
"requestFailed": "The request failed. Try again.",
|
||||
"invalidFields": "Check required names, layouts and whole-number fields before saving.",
|
||||
"category": "Category",
|
||||
"caption": "Category caption",
|
||||
"iconImage": "Category icon ID",
|
||||
"minRank": "Minimum rank",
|
||||
"orderNum": "Display order",
|
||||
"pageLayout": "Page layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"offers": "Offers ({count})",
|
||||
"offer": "Offer",
|
||||
"catalogName": "Offer name",
|
||||
"costCredits": "Credits",
|
||||
"costPoints": "Points",
|
||||
"pointsType": "Points currency ID",
|
||||
"amount": "Amount",
|
||||
"searchOffers": "Search offers",
|
||||
"currentCategoryOffers": "Only the selected category",
|
||||
"selectMatching": "Select all matching offers ({count})",
|
||||
"clearSelection": "Clear selection",
|
||||
"selectedOffers": "Selected offers: {count}",
|
||||
"select": "Select",
|
||||
"selectOffer": "Select offer #{id}",
|
||||
"noOffers": "No offers match these filters.",
|
||||
"bulkPrices": "Bulk draft prices ({count} selected)",
|
||||
"bulkHint": "Preview the selected price changes, then accept them into this draft. The live catalog remains unchanged until publication.",
|
||||
"operation": "Operation",
|
||||
"set": "Set value",
|
||||
"add": "Add or subtract",
|
||||
"percent": "Adjust by percent",
|
||||
"value": "Value",
|
||||
"reviewBulk": "Preview prices",
|
||||
"invalidBulk": "Choose valid numbers and at least one offer. Resulting prices must be nonnegative and within the supported range.",
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
}
|
||||
},
|
||||
"catalogPackages": {
|
||||
"backend": {
|
||||
"sourceChanged": "Source categories or offers changed since this package was created. Create a fresh package to include the current data.",
|
||||
"saveConflict": "Package changed. Reload it before saving",
|
||||
"publishConflict": "Package changed. Refresh the publication preview",
|
||||
"catalogChanged": "Catalog changed. Refresh the publication preview",
|
||||
"missing": "Catalog package not found",
|
||||
"pageLimit": "A package supports at most 200 categories including descendants",
|
||||
"offerLimit": "A package supports at most 500 offers",
|
||||
"payloadLimit": "Package data exceeds 8 MB safety limit",
|
||||
"membership": "Package membership cannot change",
|
||||
"hierarchy": "Package hierarchy cannot change",
|
||||
"references": "Package furniture references cannot change",
|
||||
"furnitureMissing": "Package furniture reference no longer exists",
|
||||
"auditWarning": "Package published, but audit logging failed.",
|
||||
"hotelWarning": "Package published, but the hotel update was not delivered.",
|
||||
"exportWarning": "Package published, but export scheduling failed.",
|
||||
"refreshWarning": "Package published. Refresh the page to see the latest catalog."
|
||||
}
|
||||
},
|
||||
"catalogPackagePreview": {
|
||||
"title": "Catalog preview",
|
||||
"hint": "Browse the actual package pages and offers. This is a catalog preview, not a full game-client rendering. No purchases are made.",
|
||||
"search": "Search categories or offers",
|
||||
"playerMode": "Player access",
|
||||
"rank": "Rank",
|
||||
"club": "Club",
|
||||
"vip": "VIP",
|
||||
"externalParents": "This selection starts inside a larger catalog. Access restrictions on ancestors outside this snapshot cannot be evaluated.",
|
||||
"invalidHierarchy": "{count} pages have a cyclic hierarchy and cannot be navigated.",
|
||||
"snapshotLimit": "Preview limited to 200 pages and 500 offers.",
|
||||
"restricted": "{count} pages are hidden by the selected player access settings.",
|
||||
"categories": "Catalog categories",
|
||||
"noPages": "This snapshot contains no categories.",
|
||||
"inaccessible": "No categories are accessible with these settings. Adjust player access or turn it off to inspect the draft.",
|
||||
"noMatches": "No matches for this search.",
|
||||
"offerCount": "{count} offers",
|
||||
"layout": "Layout: {layout}",
|
||||
"missingLayout": "Not specified",
|
||||
"unsupportedLayout": "This layout has no dedicated preview. The grid shows the actual offers; custom layout widgets and imagery are not reproduced.",
|
||||
"loadingIcons": "Loading furniture icons…",
|
||||
"assetsUnavailable": "Furniture details are temporarily unavailable. Offer data remains visible.",
|
||||
"assetLimit": "Icons and furniture names are limited to the first 200 item IDs on this view.",
|
||||
"emptyPage": "This category has no direct offers. Browse its subcategories.",
|
||||
"missingIcon": "Icon unavailable",
|
||||
"amount": "Quantity: {count}",
|
||||
"bundle": "{count} furniture types",
|
||||
"changed": "Changed from the saved baseline",
|
||||
"previous": "Previous",
|
||||
"next": "Next",
|
||||
"page": "Page {page} of {total}",
|
||||
"offerId": "Offer #{id}",
|
||||
"unknownFurniture": "Furniture name unavailable",
|
||||
"selectOffer": "Select an offer to inspect its price and furniture references.",
|
||||
"credits": "Credits",
|
||||
"duckets": "Duckets",
|
||||
"diamonds": "Diamonds",
|
||||
"pointsType": "Points (type {type}):",
|
||||
"free": "Free",
|
||||
"specialPricing": "Special pricing: {credits} credits, {points} points (type {type})",
|
||||
"restrictedOffers": "{count} offers in this category require Club membership.",
|
||||
"clubOffer": "Club offer"
|
||||
}
|
||||
},
|
||||
"myDashboard": {
|
||||
|
||||
@@ -1838,6 +1838,96 @@
|
||||
"selectionHint": "De selectie wordt gewist wanneer je de zoekopdracht of het filter wijzigt.",
|
||||
"noResults": "Geen aanbiedingen passen bij de huidige zoekopdracht en het filter.",
|
||||
"selectVisible": "Alle zichtbare aanbiedingen selecteren"
|
||||
},
|
||||
"packages": {
|
||||
"openPackages": "Cataloguspakketten",
|
||||
"title": "Cataloguspakketten",
|
||||
"description": "Bereid categorie- en prijswijzigingen voor in een apart concept. Controleer de catalogus voordat je publiceert.",
|
||||
"createPackage": "Nieuw pakket",
|
||||
"createDraft": "Concept maken",
|
||||
"draftCreated": "Pakketconcept gemaakt. De livecatalogus is niet gewijzigd.",
|
||||
"refresh": "Lijst vernieuwen",
|
||||
"searchPackages": "Pakketten zoeken",
|
||||
"noPackages": "Geen pakketten gevonden.",
|
||||
"choosePackage": "Open een pakket of maak een concept op basis van bestaande categorieën.",
|
||||
"name": "Pakketnaam",
|
||||
"mode": "Publicatiemodus",
|
||||
"update": "Bestaande categorieën bijwerken",
|
||||
"copy": "Kopieën maken",
|
||||
"updateHint": "Bij publicatie worden de bestaande categorieën en aanbiedingen bijgewerkt.",
|
||||
"copyHint": "Bij publicatie worden nieuwe categorieën en aanbiedingen onder de gekozen bovenliggende categorie gemaakt. Meubelverwijzingen blijven behouden.",
|
||||
"sourceCategories": "Broncategorieën",
|
||||
"packageLimits": "Subcategorieën worden meegenomen. Elk pakket ondersteunt maximaal 200 categorieën en 500 aanbiedingen.",
|
||||
"searchCategories": "Categorieën zoeken",
|
||||
"selectedCategories": "Geselecteerd: {count}",
|
||||
"targetParent": "Bovenliggende doelcategorie",
|
||||
"rootCategory": "Hoofdniveau van de catalogus",
|
||||
"draft": "Concept",
|
||||
"published": "Gepubliceerd",
|
||||
"editDraft": "Concept bewerken",
|
||||
"catalogPreview": "Catalogusvoorbeeld",
|
||||
"showBaseline": "Oorspronkelijke opgeslagen momentopname tonen",
|
||||
"changes": "Voor en na",
|
||||
"entry": "Onderdeel",
|
||||
"field": "Veld",
|
||||
"before": "Voor",
|
||||
"after": "Na",
|
||||
"noChanges": "Geen velden gewijzigd ten opzichte van de oorspronkelijke momentopname.",
|
||||
"copyReview": "Het volledige pakket wordt bij publicatie gekopieerd, ook zonder veldwijzigingen. De tabel toont wijzigingen ten opzichte van de oorspronkelijke momentopname.",
|
||||
"updateReview": "Deze conceptwijzigingen worden na publicatie op bestaande catalogusonderdelen toegepast.",
|
||||
"saveDraft": "Concept opslaan",
|
||||
"saveHint": "Opslaan bewaart het pakket als concept. Sla alle wijzigingen op voordat je een publicatiecontrole aanvraagt.",
|
||||
"draftSaved": "Concept opgeslagen. Publiceren is een aparte stap.",
|
||||
"reviewPublication": "Publicatie controleren",
|
||||
"publicationImpact": "Publicatie betreft {pages} categorieën en {offers} aanbiedingen.",
|
||||
"conflicts": "Publicatie wordt geblokkeerd door conflicten. Los deze op voordat je opnieuw controleert.",
|
||||
"readyToPublish": "De opgeslagen versie heeft de publicatiecontrole doorstaan. Publiceren wijzigt de livecatalogus.",
|
||||
"publish": "Pakket publiceren",
|
||||
"confirmPublish": "Dit gecontroleerde pakket nu publiceren in de livecatalogus?",
|
||||
"publishedSuccess": "Pakket gepubliceerd: {pages} categorieën en {offers} aanbiedingen.",
|
||||
"staleReview": "Dit pakket is in een andere sessie gewijzigd. Open het opnieuw om de laatste opgeslagen versie te controleren.",
|
||||
"unsaved": "Niet-opgeslagen wijzigingen",
|
||||
"discardChanges": "Niet-opgeslagen pakketwijzigingen verwerpen en doorgaan?",
|
||||
"working": "Bezig…",
|
||||
"requestFailed": "Het verzoek is mislukt. Probeer het opnieuw.",
|
||||
"invalidFields": "Controleer verplichte namen, lay-outs en gehele getallen voordat je opslaat.",
|
||||
"category": "Categorie",
|
||||
"caption": "Categorienaam",
|
||||
"iconImage": "Categoriepictogram-ID",
|
||||
"minRank": "Minimale rang",
|
||||
"orderNum": "Weergavevolgorde",
|
||||
"pageLayout": "Paginalay-out",
|
||||
"enabled": "Ingeschakeld",
|
||||
"visible": "Zichtbaar",
|
||||
"clubOnly": "Alleen Clubleden",
|
||||
"vipOnly": "Alleen VIP-leden",
|
||||
"offers": "Aanbiedingen ({count})",
|
||||
"offer": "Aanbieding",
|
||||
"catalogName": "Aanbiedingsnaam",
|
||||
"costCredits": "Credits",
|
||||
"costPoints": "Punten",
|
||||
"pointsType": "Puntenvaluta-ID",
|
||||
"amount": "Aantal",
|
||||
"searchOffers": "Aanbiedingen zoeken",
|
||||
"currentCategoryOffers": "Alleen de geselecteerde categorie",
|
||||
"selectMatching": "Alle overeenkomende aanbiedingen selecteren ({count})",
|
||||
"clearSelection": "Selectie wissen",
|
||||
"selectedOffers": "Geselecteerde aanbiedingen: {count}",
|
||||
"select": "Selecteren",
|
||||
"selectOffer": "Aanbieding #{id} selecteren",
|
||||
"noOffers": "Geen aanbiedingen gevonden met deze filters.",
|
||||
"bulkPrices": "Conceptprijzen in bulk ({count} geselecteerd)",
|
||||
"bulkHint": "Bekijk de geselecteerde prijswijzigingen en neem ze daarna over in dit concept. De livecatalogus blijft ongewijzigd tot publicatie.",
|
||||
"operation": "Bewerking",
|
||||
"set": "Waarde instellen",
|
||||
"add": "Optellen of aftrekken",
|
||||
"percent": "Procentueel aanpassen",
|
||||
"value": "Waarde",
|
||||
"reviewBulk": "Prijsvoorbeeld",
|
||||
"invalidBulk": "Kies geldige getallen en minstens één aanbieding. De resulterende prijzen mogen niet negatief zijn en moeten binnen het ondersteunde bereik vallen.",
|
||||
"acceptBulk": "Prijzen overnemen in concept",
|
||||
"previous": "Vorige",
|
||||
"next": "Volgende"
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -3430,6 +3520,69 @@
|
||||
"publications": "Nieuwsconcepten",
|
||||
"unavailable": "{source}: gegevens tijdelijk niet beschikbaar.",
|
||||
"installation": "Installatiediagnose"
|
||||
},
|
||||
"catalogPackages": {
|
||||
"backend": {
|
||||
"sourceChanged": "De broncategorieën of aanbiedingen zijn gewijzigd. Maak een nieuw pakket met de actuele gegevens.",
|
||||
"saveConflict": "Het pakket is gewijzigd. Laad het opnieuw voordat je opslaat.",
|
||||
"publishConflict": "Het pakket is gewijzigd. Vernieuw het publicatievoorbeeld.",
|
||||
"catalogChanged": "De catalogus is gewijzigd. Vernieuw het publicatievoorbeeld.",
|
||||
"missing": "Cataloguspakket niet gevonden.",
|
||||
"pageLimit": "Een pakket ondersteunt maximaal 200 categorieën, inclusief subcategorieën.",
|
||||
"offerLimit": "Een pakket ondersteunt maximaal 500 aanbiedingen.",
|
||||
"payloadLimit": "De pakketgegevens overschrijden de limiet van 8 MB.",
|
||||
"membership": "Je kunt geen onderdelen aan het pakket toevoegen of eruit verwijderen.",
|
||||
"hierarchy": "Je kunt de pakkethiërarchie niet wijzigen.",
|
||||
"references": "Je kunt de meubelverwijzingen in het pakket niet wijzigen.",
|
||||
"furnitureMissing": "Een meubel waarnaar het pakket verwijst bestaat niet meer.",
|
||||
"auditWarning": "Pakket gepubliceerd, maar het schrijven naar het auditlog is mislukt.",
|
||||
"hotelWarning": "Pakket gepubliceerd, maar de hotelupdate is niet afgeleverd.",
|
||||
"exportWarning": "Pakket gepubliceerd, maar het plannen van de export is mislukt.",
|
||||
"refreshWarning": "Pakket gepubliceerd. Vernieuw de pagina om de nieuwste catalogus te zien."
|
||||
}
|
||||
},
|
||||
"catalogPackagePreview": {
|
||||
"title": "Catalogusvoorbeeld",
|
||||
"hint": "Blader door de echte pagina’s en aanbiedingen van het pakket. Dit is een catalogusvoorbeeld, geen volledige weergave van de spelclient. Er worden geen aankopen gedaan.",
|
||||
"search": "Categorieën of aanbiedingen zoeken",
|
||||
"playerMode": "Spelerstoegang",
|
||||
"rank": "Rang",
|
||||
"club": "Club",
|
||||
"vip": "VIP",
|
||||
"externalParents": "Deze selectie is onderdeel van een grotere catalogus. Toegangsregels van bovenliggende categorieën buiten deze momentopname kunnen niet worden beoordeeld.",
|
||||
"invalidHierarchy": "{count} pagina’s hebben een cyclische hiërarchie en kunnen niet worden geopend.",
|
||||
"snapshotLimit": "Voorbeeld beperkt tot 200 pagina’s en 500 aanbiedingen.",
|
||||
"restricted": "{count} pagina’s zijn verborgen door de gekozen toegangsinstellingen.",
|
||||
"categories": "Cataloguscategorieën",
|
||||
"noPages": "Deze momentopname bevat geen categorieën.",
|
||||
"inaccessible": "Met deze instellingen zijn geen categorieën toegankelijk. Pas de spelerstoegang aan of schakel deze uit om het concept te bekijken.",
|
||||
"noMatches": "Geen resultaten voor deze zoekopdracht.",
|
||||
"offerCount": "{count} aanbiedingen",
|
||||
"layout": "Indeling: {layout}",
|
||||
"missingLayout": "Niet opgegeven",
|
||||
"unsupportedLayout": "Deze indeling heeft geen eigen voorbeeld. Het raster toont de echte aanbiedingen; aangepaste onderdelen en afbeeldingen worden niet weergegeven.",
|
||||
"loadingIcons": "Meubelpictogrammen laden…",
|
||||
"assetsUnavailable": "Meubelgegevens zijn tijdelijk niet beschikbaar. De aanbiedingen blijven zichtbaar.",
|
||||
"assetLimit": "Pictogrammen en meubelnamen zijn beperkt tot de eerste 200 item-ID’s in deze weergave.",
|
||||
"emptyPage": "Deze categorie bevat geen directe aanbiedingen. Bekijk de subcategorieën.",
|
||||
"missingIcon": "Pictogram niet beschikbaar",
|
||||
"amount": "Aantal: {count}",
|
||||
"bundle": "{count} meubeltypes",
|
||||
"changed": "Gewijzigd ten opzichte van de opgeslagen beginversie",
|
||||
"previous": "Vorige",
|
||||
"next": "Volgende",
|
||||
"page": "Pagina {page} van {total}",
|
||||
"offerId": "Aanbieding #{id}",
|
||||
"unknownFurniture": "Meubelnaam niet beschikbaar",
|
||||
"selectOffer": "Selecteer een aanbieding om de prijs en meubelverwijzingen te bekijken.",
|
||||
"credits": "Credits",
|
||||
"duckets": "Duckets",
|
||||
"diamonds": "Diamanten",
|
||||
"pointsType": "Punten (type {type}):",
|
||||
"free": "Gratis",
|
||||
"specialPricing": "Speciale prijs: {credits} credits, {points} punten (type {type})",
|
||||
"restrictedOffers": "{count} aanbiedingen in deze categorie vereisen een Club-lidmaatschap.",
|
||||
"clubOffer": "Club-aanbieding"
|
||||
}
|
||||
},
|
||||
"mod": {
|
||||
|
||||
@@ -1429,6 +1429,96 @@
|
||||
"save": "Lagre element",
|
||||
"saving": "Lagrer …",
|
||||
"cancel": "Avbryt"
|
||||
},
|
||||
"packages": {
|
||||
"openPackages": "Catalog packages",
|
||||
"title": "Catalog packages",
|
||||
"description": "Prepare category and price changes in a separate draft. Review the catalog before publishing.",
|
||||
"createPackage": "New package",
|
||||
"createDraft": "Create draft",
|
||||
"draftCreated": "Package draft created. The live catalog has not changed.",
|
||||
"refresh": "Refresh list",
|
||||
"searchPackages": "Search packages",
|
||||
"noPackages": "No packages match this search.",
|
||||
"choosePackage": "Open a package or create a draft from existing categories.",
|
||||
"name": "Package name",
|
||||
"mode": "Publication mode",
|
||||
"update": "Update existing categories",
|
||||
"copy": "Create copies",
|
||||
"updateHint": "Publication applies the package to its existing categories and offers.",
|
||||
"copyHint": "Publication creates new categories and offers under the selected parent. Furniture references are preserved.",
|
||||
"sourceCategories": "Source categories",
|
||||
"packageLimits": "Descendant categories are included. Each package supports up to 200 categories and 500 offers.",
|
||||
"searchCategories": "Search categories",
|
||||
"selectedCategories": "Selected: {count}",
|
||||
"targetParent": "Destination parent category",
|
||||
"rootCategory": "Catalog root",
|
||||
"draft": "Draft",
|
||||
"published": "Published",
|
||||
"editDraft": "Edit draft",
|
||||
"catalogPreview": "Catalog preview",
|
||||
"showBaseline": "Show the original saved snapshot",
|
||||
"changes": "Before and after",
|
||||
"entry": "Entry",
|
||||
"field": "Field",
|
||||
"before": "Before",
|
||||
"after": "After",
|
||||
"noChanges": "No edited fields compared with the original snapshot.",
|
||||
"copyReview": "The entire package will be copied on publication, even if no fields were edited. The table lists edits to the original snapshot.",
|
||||
"updateReview": "These draft changes will update existing catalog entries after publication.",
|
||||
"saveDraft": "Save draft",
|
||||
"saveHint": "Saving keeps the package as a draft. Save all changes before requesting a publication review.",
|
||||
"draftSaved": "Draft saved. Publication is a separate step.",
|
||||
"reviewPublication": "Review publication",
|
||||
"publicationImpact": "Publication affects {pages} categories and {offers} offers.",
|
||||
"conflicts": "Publication is blocked by conflicts. Resolve them before requesting another review.",
|
||||
"readyToPublish": "The saved version passed the publication check. Publishing changes the live catalog.",
|
||||
"publish": "Publish package",
|
||||
"confirmPublish": "Publish this reviewed package to the live catalog now?",
|
||||
"publishedSuccess": "Package published: {pages} categories and {offers} offers.",
|
||||
"staleReview": "This package changed in another session. Reopen it to review the latest saved version.",
|
||||
"unsaved": "Unsaved changes",
|
||||
"discardChanges": "Discard unsaved package changes and continue?",
|
||||
"working": "Working…",
|
||||
"requestFailed": "The request failed. Try again.",
|
||||
"invalidFields": "Check required names, layouts and whole-number fields before saving.",
|
||||
"category": "Category",
|
||||
"caption": "Category caption",
|
||||
"iconImage": "Category icon ID",
|
||||
"minRank": "Minimum rank",
|
||||
"orderNum": "Display order",
|
||||
"pageLayout": "Page layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"offers": "Offers ({count})",
|
||||
"offer": "Offer",
|
||||
"catalogName": "Offer name",
|
||||
"costCredits": "Credits",
|
||||
"costPoints": "Points",
|
||||
"pointsType": "Points currency ID",
|
||||
"amount": "Amount",
|
||||
"searchOffers": "Search offers",
|
||||
"currentCategoryOffers": "Only the selected category",
|
||||
"selectMatching": "Select all matching offers ({count})",
|
||||
"clearSelection": "Clear selection",
|
||||
"selectedOffers": "Selected offers: {count}",
|
||||
"select": "Select",
|
||||
"selectOffer": "Select offer #{id}",
|
||||
"noOffers": "No offers match these filters.",
|
||||
"bulkPrices": "Bulk draft prices ({count} selected)",
|
||||
"bulkHint": "Preview the selected price changes, then accept them into this draft. The live catalog remains unchanged until publication.",
|
||||
"operation": "Operation",
|
||||
"set": "Set value",
|
||||
"add": "Add or subtract",
|
||||
"percent": "Adjust by percent",
|
||||
"value": "Value",
|
||||
"reviewBulk": "Preview prices",
|
||||
"invalidBulk": "Choose valid numbers and at least one offer. Resulting prices must be nonnegative and within the supported range.",
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -3084,6 +3174,69 @@
|
||||
"publications": "News drafts",
|
||||
"unavailable": "{source}: data is temporarily unavailable.",
|
||||
"installation": "Installation diagnostics"
|
||||
},
|
||||
"catalogPackages": {
|
||||
"backend": {
|
||||
"sourceChanged": "Source categories or offers changed since this package was created. Create a fresh package to include the current data.",
|
||||
"saveConflict": "Package changed. Reload it before saving",
|
||||
"publishConflict": "Package changed. Refresh the publication preview",
|
||||
"catalogChanged": "Catalog changed. Refresh the publication preview",
|
||||
"missing": "Catalog package not found",
|
||||
"pageLimit": "A package supports at most 200 categories including descendants",
|
||||
"offerLimit": "A package supports at most 500 offers",
|
||||
"payloadLimit": "Package data exceeds 8 MB safety limit",
|
||||
"membership": "Package membership cannot change",
|
||||
"hierarchy": "Package hierarchy cannot change",
|
||||
"references": "Package furniture references cannot change",
|
||||
"furnitureMissing": "Package furniture reference no longer exists",
|
||||
"auditWarning": "Package published, but audit logging failed.",
|
||||
"hotelWarning": "Package published, but the hotel update was not delivered.",
|
||||
"exportWarning": "Package published, but export scheduling failed.",
|
||||
"refreshWarning": "Package published. Refresh the page to see the latest catalog."
|
||||
}
|
||||
},
|
||||
"catalogPackagePreview": {
|
||||
"title": "Catalog preview",
|
||||
"hint": "Browse the actual package pages and offers. This is a catalog preview, not a full game-client rendering. No purchases are made.",
|
||||
"search": "Search categories or offers",
|
||||
"playerMode": "Player access",
|
||||
"rank": "Rank",
|
||||
"club": "Club",
|
||||
"vip": "VIP",
|
||||
"externalParents": "This selection starts inside a larger catalog. Access restrictions on ancestors outside this snapshot cannot be evaluated.",
|
||||
"invalidHierarchy": "{count} pages have a cyclic hierarchy and cannot be navigated.",
|
||||
"snapshotLimit": "Preview limited to 200 pages and 500 offers.",
|
||||
"restricted": "{count} pages are hidden by the selected player access settings.",
|
||||
"categories": "Catalog categories",
|
||||
"noPages": "This snapshot contains no categories.",
|
||||
"inaccessible": "No categories are accessible with these settings. Adjust player access or turn it off to inspect the draft.",
|
||||
"noMatches": "No matches for this search.",
|
||||
"offerCount": "{count} offers",
|
||||
"layout": "Layout: {layout}",
|
||||
"missingLayout": "Not specified",
|
||||
"unsupportedLayout": "This layout has no dedicated preview. The grid shows the actual offers; custom layout widgets and imagery are not reproduced.",
|
||||
"loadingIcons": "Loading furniture icons…",
|
||||
"assetsUnavailable": "Furniture details are temporarily unavailable. Offer data remains visible.",
|
||||
"assetLimit": "Icons and furniture names are limited to the first 200 item IDs on this view.",
|
||||
"emptyPage": "This category has no direct offers. Browse its subcategories.",
|
||||
"missingIcon": "Icon unavailable",
|
||||
"amount": "Quantity: {count}",
|
||||
"bundle": "{count} furniture types",
|
||||
"changed": "Changed from the saved baseline",
|
||||
"previous": "Previous",
|
||||
"next": "Next",
|
||||
"page": "Page {page} of {total}",
|
||||
"offerId": "Offer #{id}",
|
||||
"unknownFurniture": "Furniture name unavailable",
|
||||
"selectOffer": "Select an offer to inspect its price and furniture references.",
|
||||
"credits": "Credits",
|
||||
"duckets": "Duckets",
|
||||
"diamonds": "Diamonds",
|
||||
"pointsType": "Points (type {type}):",
|
||||
"free": "Free",
|
||||
"specialPricing": "Special pricing: {credits} credits, {points} points (type {type})",
|
||||
"restrictedOffers": "{count} offers in this category require Club membership.",
|
||||
"clubOffer": "Club offer"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
@@ -1430,6 +1430,96 @@
|
||||
"save": "Zapisz element",
|
||||
"saving": "Zapisuję…",
|
||||
"cancel": "Anuluj"
|
||||
},
|
||||
"packages": {
|
||||
"openPackages": "Catalog packages",
|
||||
"title": "Catalog packages",
|
||||
"description": "Prepare category and price changes in a separate draft. Review the catalog before publishing.",
|
||||
"createPackage": "New package",
|
||||
"createDraft": "Create draft",
|
||||
"draftCreated": "Package draft created. The live catalog has not changed.",
|
||||
"refresh": "Refresh list",
|
||||
"searchPackages": "Search packages",
|
||||
"noPackages": "No packages match this search.",
|
||||
"choosePackage": "Open a package or create a draft from existing categories.",
|
||||
"name": "Package name",
|
||||
"mode": "Publication mode",
|
||||
"update": "Update existing categories",
|
||||
"copy": "Create copies",
|
||||
"updateHint": "Publication applies the package to its existing categories and offers.",
|
||||
"copyHint": "Publication creates new categories and offers under the selected parent. Furniture references are preserved.",
|
||||
"sourceCategories": "Source categories",
|
||||
"packageLimits": "Descendant categories are included. Each package supports up to 200 categories and 500 offers.",
|
||||
"searchCategories": "Search categories",
|
||||
"selectedCategories": "Selected: {count}",
|
||||
"targetParent": "Destination parent category",
|
||||
"rootCategory": "Catalog root",
|
||||
"draft": "Draft",
|
||||
"published": "Published",
|
||||
"editDraft": "Edit draft",
|
||||
"catalogPreview": "Catalog preview",
|
||||
"showBaseline": "Show the original saved snapshot",
|
||||
"changes": "Before and after",
|
||||
"entry": "Entry",
|
||||
"field": "Field",
|
||||
"before": "Before",
|
||||
"after": "After",
|
||||
"noChanges": "No edited fields compared with the original snapshot.",
|
||||
"copyReview": "The entire package will be copied on publication, even if no fields were edited. The table lists edits to the original snapshot.",
|
||||
"updateReview": "These draft changes will update existing catalog entries after publication.",
|
||||
"saveDraft": "Save draft",
|
||||
"saveHint": "Saving keeps the package as a draft. Save all changes before requesting a publication review.",
|
||||
"draftSaved": "Draft saved. Publication is a separate step.",
|
||||
"reviewPublication": "Review publication",
|
||||
"publicationImpact": "Publication affects {pages} categories and {offers} offers.",
|
||||
"conflicts": "Publication is blocked by conflicts. Resolve them before requesting another review.",
|
||||
"readyToPublish": "The saved version passed the publication check. Publishing changes the live catalog.",
|
||||
"publish": "Publish package",
|
||||
"confirmPublish": "Publish this reviewed package to the live catalog now?",
|
||||
"publishedSuccess": "Package published: {pages} categories and {offers} offers.",
|
||||
"staleReview": "This package changed in another session. Reopen it to review the latest saved version.",
|
||||
"unsaved": "Unsaved changes",
|
||||
"discardChanges": "Discard unsaved package changes and continue?",
|
||||
"working": "Working…",
|
||||
"requestFailed": "The request failed. Try again.",
|
||||
"invalidFields": "Check required names, layouts and whole-number fields before saving.",
|
||||
"category": "Category",
|
||||
"caption": "Category caption",
|
||||
"iconImage": "Category icon ID",
|
||||
"minRank": "Minimum rank",
|
||||
"orderNum": "Display order",
|
||||
"pageLayout": "Page layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"offers": "Offers ({count})",
|
||||
"offer": "Offer",
|
||||
"catalogName": "Offer name",
|
||||
"costCredits": "Credits",
|
||||
"costPoints": "Points",
|
||||
"pointsType": "Points currency ID",
|
||||
"amount": "Amount",
|
||||
"searchOffers": "Search offers",
|
||||
"currentCategoryOffers": "Only the selected category",
|
||||
"selectMatching": "Select all matching offers ({count})",
|
||||
"clearSelection": "Clear selection",
|
||||
"selectedOffers": "Selected offers: {count}",
|
||||
"select": "Select",
|
||||
"selectOffer": "Select offer #{id}",
|
||||
"noOffers": "No offers match these filters.",
|
||||
"bulkPrices": "Bulk draft prices ({count} selected)",
|
||||
"bulkHint": "Preview the selected price changes, then accept them into this draft. The live catalog remains unchanged until publication.",
|
||||
"operation": "Operation",
|
||||
"set": "Set value",
|
||||
"add": "Add or subtract",
|
||||
"percent": "Adjust by percent",
|
||||
"value": "Value",
|
||||
"reviewBulk": "Preview prices",
|
||||
"invalidBulk": "Choose valid numbers and at least one offer. Resulting prices must be nonnegative and within the supported range.",
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -3085,6 +3175,69 @@
|
||||
"publications": "News drafts",
|
||||
"unavailable": "{source}: data is temporarily unavailable.",
|
||||
"installation": "Installation diagnostics"
|
||||
},
|
||||
"catalogPackages": {
|
||||
"backend": {
|
||||
"sourceChanged": "Source categories or offers changed since this package was created. Create a fresh package to include the current data.",
|
||||
"saveConflict": "Package changed. Reload it before saving",
|
||||
"publishConflict": "Package changed. Refresh the publication preview",
|
||||
"catalogChanged": "Catalog changed. Refresh the publication preview",
|
||||
"missing": "Catalog package not found",
|
||||
"pageLimit": "A package supports at most 200 categories including descendants",
|
||||
"offerLimit": "A package supports at most 500 offers",
|
||||
"payloadLimit": "Package data exceeds 8 MB safety limit",
|
||||
"membership": "Package membership cannot change",
|
||||
"hierarchy": "Package hierarchy cannot change",
|
||||
"references": "Package furniture references cannot change",
|
||||
"furnitureMissing": "Package furniture reference no longer exists",
|
||||
"auditWarning": "Package published, but audit logging failed.",
|
||||
"hotelWarning": "Package published, but the hotel update was not delivered.",
|
||||
"exportWarning": "Package published, but export scheduling failed.",
|
||||
"refreshWarning": "Package published. Refresh the page to see the latest catalog."
|
||||
}
|
||||
},
|
||||
"catalogPackagePreview": {
|
||||
"title": "Catalog preview",
|
||||
"hint": "Browse the actual package pages and offers. This is a catalog preview, not a full game-client rendering. No purchases are made.",
|
||||
"search": "Search categories or offers",
|
||||
"playerMode": "Player access",
|
||||
"rank": "Rank",
|
||||
"club": "Club",
|
||||
"vip": "VIP",
|
||||
"externalParents": "This selection starts inside a larger catalog. Access restrictions on ancestors outside this snapshot cannot be evaluated.",
|
||||
"invalidHierarchy": "{count} pages have a cyclic hierarchy and cannot be navigated.",
|
||||
"snapshotLimit": "Preview limited to 200 pages and 500 offers.",
|
||||
"restricted": "{count} pages are hidden by the selected player access settings.",
|
||||
"categories": "Catalog categories",
|
||||
"noPages": "This snapshot contains no categories.",
|
||||
"inaccessible": "No categories are accessible with these settings. Adjust player access or turn it off to inspect the draft.",
|
||||
"noMatches": "No matches for this search.",
|
||||
"offerCount": "{count} offers",
|
||||
"layout": "Layout: {layout}",
|
||||
"missingLayout": "Not specified",
|
||||
"unsupportedLayout": "This layout has no dedicated preview. The grid shows the actual offers; custom layout widgets and imagery are not reproduced.",
|
||||
"loadingIcons": "Loading furniture icons…",
|
||||
"assetsUnavailable": "Furniture details are temporarily unavailable. Offer data remains visible.",
|
||||
"assetLimit": "Icons and furniture names are limited to the first 200 item IDs on this view.",
|
||||
"emptyPage": "This category has no direct offers. Browse its subcategories.",
|
||||
"missingIcon": "Icon unavailable",
|
||||
"amount": "Quantity: {count}",
|
||||
"bundle": "{count} furniture types",
|
||||
"changed": "Changed from the saved baseline",
|
||||
"previous": "Previous",
|
||||
"next": "Next",
|
||||
"page": "Page {page} of {total}",
|
||||
"offerId": "Offer #{id}",
|
||||
"unknownFurniture": "Furniture name unavailable",
|
||||
"selectOffer": "Select an offer to inspect its price and furniture references.",
|
||||
"credits": "Credits",
|
||||
"duckets": "Duckets",
|
||||
"diamonds": "Diamonds",
|
||||
"pointsType": "Points (type {type}):",
|
||||
"free": "Free",
|
||||
"specialPricing": "Special pricing: {credits} credits, {points} points (type {type})",
|
||||
"restrictedOffers": "{count} offers in this category require Club membership.",
|
||||
"clubOffer": "Club offer"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
@@ -1430,6 +1430,96 @@
|
||||
"save": "Salvar item",
|
||||
"saving": "Salvando…",
|
||||
"cancel": "Cancelar"
|
||||
},
|
||||
"packages": {
|
||||
"openPackages": "Catalog packages",
|
||||
"title": "Catalog packages",
|
||||
"description": "Prepare category and price changes in a separate draft. Review the catalog before publishing.",
|
||||
"createPackage": "New package",
|
||||
"createDraft": "Create draft",
|
||||
"draftCreated": "Package draft created. The live catalog has not changed.",
|
||||
"refresh": "Refresh list",
|
||||
"searchPackages": "Search packages",
|
||||
"noPackages": "No packages match this search.",
|
||||
"choosePackage": "Open a package or create a draft from existing categories.",
|
||||
"name": "Package name",
|
||||
"mode": "Publication mode",
|
||||
"update": "Update existing categories",
|
||||
"copy": "Create copies",
|
||||
"updateHint": "Publication applies the package to its existing categories and offers.",
|
||||
"copyHint": "Publication creates new categories and offers under the selected parent. Furniture references are preserved.",
|
||||
"sourceCategories": "Source categories",
|
||||
"packageLimits": "Descendant categories are included. Each package supports up to 200 categories and 500 offers.",
|
||||
"searchCategories": "Search categories",
|
||||
"selectedCategories": "Selected: {count}",
|
||||
"targetParent": "Destination parent category",
|
||||
"rootCategory": "Catalog root",
|
||||
"draft": "Draft",
|
||||
"published": "Published",
|
||||
"editDraft": "Edit draft",
|
||||
"catalogPreview": "Catalog preview",
|
||||
"showBaseline": "Show the original saved snapshot",
|
||||
"changes": "Before and after",
|
||||
"entry": "Entry",
|
||||
"field": "Field",
|
||||
"before": "Before",
|
||||
"after": "After",
|
||||
"noChanges": "No edited fields compared with the original snapshot.",
|
||||
"copyReview": "The entire package will be copied on publication, even if no fields were edited. The table lists edits to the original snapshot.",
|
||||
"updateReview": "These draft changes will update existing catalog entries after publication.",
|
||||
"saveDraft": "Save draft",
|
||||
"saveHint": "Saving keeps the package as a draft. Save all changes before requesting a publication review.",
|
||||
"draftSaved": "Draft saved. Publication is a separate step.",
|
||||
"reviewPublication": "Review publication",
|
||||
"publicationImpact": "Publication affects {pages} categories and {offers} offers.",
|
||||
"conflicts": "Publication is blocked by conflicts. Resolve them before requesting another review.",
|
||||
"readyToPublish": "The saved version passed the publication check. Publishing changes the live catalog.",
|
||||
"publish": "Publish package",
|
||||
"confirmPublish": "Publish this reviewed package to the live catalog now?",
|
||||
"publishedSuccess": "Package published: {pages} categories and {offers} offers.",
|
||||
"staleReview": "This package changed in another session. Reopen it to review the latest saved version.",
|
||||
"unsaved": "Unsaved changes",
|
||||
"discardChanges": "Discard unsaved package changes and continue?",
|
||||
"working": "Working…",
|
||||
"requestFailed": "The request failed. Try again.",
|
||||
"invalidFields": "Check required names, layouts and whole-number fields before saving.",
|
||||
"category": "Category",
|
||||
"caption": "Category caption",
|
||||
"iconImage": "Category icon ID",
|
||||
"minRank": "Minimum rank",
|
||||
"orderNum": "Display order",
|
||||
"pageLayout": "Page layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"offers": "Offers ({count})",
|
||||
"offer": "Offer",
|
||||
"catalogName": "Offer name",
|
||||
"costCredits": "Credits",
|
||||
"costPoints": "Points",
|
||||
"pointsType": "Points currency ID",
|
||||
"amount": "Amount",
|
||||
"searchOffers": "Search offers",
|
||||
"currentCategoryOffers": "Only the selected category",
|
||||
"selectMatching": "Select all matching offers ({count})",
|
||||
"clearSelection": "Clear selection",
|
||||
"selectedOffers": "Selected offers: {count}",
|
||||
"select": "Select",
|
||||
"selectOffer": "Select offer #{id}",
|
||||
"noOffers": "No offers match these filters.",
|
||||
"bulkPrices": "Bulk draft prices ({count} selected)",
|
||||
"bulkHint": "Preview the selected price changes, then accept them into this draft. The live catalog remains unchanged until publication.",
|
||||
"operation": "Operation",
|
||||
"set": "Set value",
|
||||
"add": "Add or subtract",
|
||||
"percent": "Adjust by percent",
|
||||
"value": "Value",
|
||||
"reviewBulk": "Preview prices",
|
||||
"invalidBulk": "Choose valid numbers and at least one offer. Resulting prices must be nonnegative and within the supported range.",
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -3085,6 +3175,69 @@
|
||||
"publications": "News drafts",
|
||||
"unavailable": "{source}: data is temporarily unavailable.",
|
||||
"installation": "Installation diagnostics"
|
||||
},
|
||||
"catalogPackages": {
|
||||
"backend": {
|
||||
"sourceChanged": "Source categories or offers changed since this package was created. Create a fresh package to include the current data.",
|
||||
"saveConflict": "Package changed. Reload it before saving",
|
||||
"publishConflict": "Package changed. Refresh the publication preview",
|
||||
"catalogChanged": "Catalog changed. Refresh the publication preview",
|
||||
"missing": "Catalog package not found",
|
||||
"pageLimit": "A package supports at most 200 categories including descendants",
|
||||
"offerLimit": "A package supports at most 500 offers",
|
||||
"payloadLimit": "Package data exceeds 8 MB safety limit",
|
||||
"membership": "Package membership cannot change",
|
||||
"hierarchy": "Package hierarchy cannot change",
|
||||
"references": "Package furniture references cannot change",
|
||||
"furnitureMissing": "Package furniture reference no longer exists",
|
||||
"auditWarning": "Package published, but audit logging failed.",
|
||||
"hotelWarning": "Package published, but the hotel update was not delivered.",
|
||||
"exportWarning": "Package published, but export scheduling failed.",
|
||||
"refreshWarning": "Package published. Refresh the page to see the latest catalog."
|
||||
}
|
||||
},
|
||||
"catalogPackagePreview": {
|
||||
"title": "Catalog preview",
|
||||
"hint": "Browse the actual package pages and offers. This is a catalog preview, not a full game-client rendering. No purchases are made.",
|
||||
"search": "Search categories or offers",
|
||||
"playerMode": "Player access",
|
||||
"rank": "Rank",
|
||||
"club": "Club",
|
||||
"vip": "VIP",
|
||||
"externalParents": "This selection starts inside a larger catalog. Access restrictions on ancestors outside this snapshot cannot be evaluated.",
|
||||
"invalidHierarchy": "{count} pages have a cyclic hierarchy and cannot be navigated.",
|
||||
"snapshotLimit": "Preview limited to 200 pages and 500 offers.",
|
||||
"restricted": "{count} pages are hidden by the selected player access settings.",
|
||||
"categories": "Catalog categories",
|
||||
"noPages": "This snapshot contains no categories.",
|
||||
"inaccessible": "No categories are accessible with these settings. Adjust player access or turn it off to inspect the draft.",
|
||||
"noMatches": "No matches for this search.",
|
||||
"offerCount": "{count} offers",
|
||||
"layout": "Layout: {layout}",
|
||||
"missingLayout": "Not specified",
|
||||
"unsupportedLayout": "This layout has no dedicated preview. The grid shows the actual offers; custom layout widgets and imagery are not reproduced.",
|
||||
"loadingIcons": "Loading furniture icons…",
|
||||
"assetsUnavailable": "Furniture details are temporarily unavailable. Offer data remains visible.",
|
||||
"assetLimit": "Icons and furniture names are limited to the first 200 item IDs on this view.",
|
||||
"emptyPage": "This category has no direct offers. Browse its subcategories.",
|
||||
"missingIcon": "Icon unavailable",
|
||||
"amount": "Quantity: {count}",
|
||||
"bundle": "{count} furniture types",
|
||||
"changed": "Changed from the saved baseline",
|
||||
"previous": "Previous",
|
||||
"next": "Next",
|
||||
"page": "Page {page} of {total}",
|
||||
"offerId": "Offer #{id}",
|
||||
"unknownFurniture": "Furniture name unavailable",
|
||||
"selectOffer": "Select an offer to inspect its price and furniture references.",
|
||||
"credits": "Credits",
|
||||
"duckets": "Duckets",
|
||||
"diamonds": "Diamonds",
|
||||
"pointsType": "Points (type {type}):",
|
||||
"free": "Free",
|
||||
"specialPricing": "Special pricing: {credits} credits, {points} points (type {type})",
|
||||
"restrictedOffers": "{count} offers in this category require Club membership.",
|
||||
"clubOffer": "Club offer"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
@@ -1429,6 +1429,96 @@
|
||||
"save": "Salvați elementul",
|
||||
"saving": "Se salvează…",
|
||||
"cancel": "Anulează"
|
||||
},
|
||||
"packages": {
|
||||
"openPackages": "Catalog packages",
|
||||
"title": "Catalog packages",
|
||||
"description": "Prepare category and price changes in a separate draft. Review the catalog before publishing.",
|
||||
"createPackage": "New package",
|
||||
"createDraft": "Create draft",
|
||||
"draftCreated": "Package draft created. The live catalog has not changed.",
|
||||
"refresh": "Refresh list",
|
||||
"searchPackages": "Search packages",
|
||||
"noPackages": "No packages match this search.",
|
||||
"choosePackage": "Open a package or create a draft from existing categories.",
|
||||
"name": "Package name",
|
||||
"mode": "Publication mode",
|
||||
"update": "Update existing categories",
|
||||
"copy": "Create copies",
|
||||
"updateHint": "Publication applies the package to its existing categories and offers.",
|
||||
"copyHint": "Publication creates new categories and offers under the selected parent. Furniture references are preserved.",
|
||||
"sourceCategories": "Source categories",
|
||||
"packageLimits": "Descendant categories are included. Each package supports up to 200 categories and 500 offers.",
|
||||
"searchCategories": "Search categories",
|
||||
"selectedCategories": "Selected: {count}",
|
||||
"targetParent": "Destination parent category",
|
||||
"rootCategory": "Catalog root",
|
||||
"draft": "Draft",
|
||||
"published": "Published",
|
||||
"editDraft": "Edit draft",
|
||||
"catalogPreview": "Catalog preview",
|
||||
"showBaseline": "Show the original saved snapshot",
|
||||
"changes": "Before and after",
|
||||
"entry": "Entry",
|
||||
"field": "Field",
|
||||
"before": "Before",
|
||||
"after": "After",
|
||||
"noChanges": "No edited fields compared with the original snapshot.",
|
||||
"copyReview": "The entire package will be copied on publication, even if no fields were edited. The table lists edits to the original snapshot.",
|
||||
"updateReview": "These draft changes will update existing catalog entries after publication.",
|
||||
"saveDraft": "Save draft",
|
||||
"saveHint": "Saving keeps the package as a draft. Save all changes before requesting a publication review.",
|
||||
"draftSaved": "Draft saved. Publication is a separate step.",
|
||||
"reviewPublication": "Review publication",
|
||||
"publicationImpact": "Publication affects {pages} categories and {offers} offers.",
|
||||
"conflicts": "Publication is blocked by conflicts. Resolve them before requesting another review.",
|
||||
"readyToPublish": "The saved version passed the publication check. Publishing changes the live catalog.",
|
||||
"publish": "Publish package",
|
||||
"confirmPublish": "Publish this reviewed package to the live catalog now?",
|
||||
"publishedSuccess": "Package published: {pages} categories and {offers} offers.",
|
||||
"staleReview": "This package changed in another session. Reopen it to review the latest saved version.",
|
||||
"unsaved": "Unsaved changes",
|
||||
"discardChanges": "Discard unsaved package changes and continue?",
|
||||
"working": "Working…",
|
||||
"requestFailed": "The request failed. Try again.",
|
||||
"invalidFields": "Check required names, layouts and whole-number fields before saving.",
|
||||
"category": "Category",
|
||||
"caption": "Category caption",
|
||||
"iconImage": "Category icon ID",
|
||||
"minRank": "Minimum rank",
|
||||
"orderNum": "Display order",
|
||||
"pageLayout": "Page layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"offers": "Offers ({count})",
|
||||
"offer": "Offer",
|
||||
"catalogName": "Offer name",
|
||||
"costCredits": "Credits",
|
||||
"costPoints": "Points",
|
||||
"pointsType": "Points currency ID",
|
||||
"amount": "Amount",
|
||||
"searchOffers": "Search offers",
|
||||
"currentCategoryOffers": "Only the selected category",
|
||||
"selectMatching": "Select all matching offers ({count})",
|
||||
"clearSelection": "Clear selection",
|
||||
"selectedOffers": "Selected offers: {count}",
|
||||
"select": "Select",
|
||||
"selectOffer": "Select offer #{id}",
|
||||
"noOffers": "No offers match these filters.",
|
||||
"bulkPrices": "Bulk draft prices ({count} selected)",
|
||||
"bulkHint": "Preview the selected price changes, then accept them into this draft. The live catalog remains unchanged until publication.",
|
||||
"operation": "Operation",
|
||||
"set": "Set value",
|
||||
"add": "Add or subtract",
|
||||
"percent": "Adjust by percent",
|
||||
"value": "Value",
|
||||
"reviewBulk": "Preview prices",
|
||||
"invalidBulk": "Choose valid numbers and at least one offer. Resulting prices must be nonnegative and within the supported range.",
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -3084,6 +3174,69 @@
|
||||
"publications": "News drafts",
|
||||
"unavailable": "{source}: data is temporarily unavailable.",
|
||||
"installation": "Installation diagnostics"
|
||||
},
|
||||
"catalogPackages": {
|
||||
"backend": {
|
||||
"sourceChanged": "Source categories or offers changed since this package was created. Create a fresh package to include the current data.",
|
||||
"saveConflict": "Package changed. Reload it before saving",
|
||||
"publishConflict": "Package changed. Refresh the publication preview",
|
||||
"catalogChanged": "Catalog changed. Refresh the publication preview",
|
||||
"missing": "Catalog package not found",
|
||||
"pageLimit": "A package supports at most 200 categories including descendants",
|
||||
"offerLimit": "A package supports at most 500 offers",
|
||||
"payloadLimit": "Package data exceeds 8 MB safety limit",
|
||||
"membership": "Package membership cannot change",
|
||||
"hierarchy": "Package hierarchy cannot change",
|
||||
"references": "Package furniture references cannot change",
|
||||
"furnitureMissing": "Package furniture reference no longer exists",
|
||||
"auditWarning": "Package published, but audit logging failed.",
|
||||
"hotelWarning": "Package published, but the hotel update was not delivered.",
|
||||
"exportWarning": "Package published, but export scheduling failed.",
|
||||
"refreshWarning": "Package published. Refresh the page to see the latest catalog."
|
||||
}
|
||||
},
|
||||
"catalogPackagePreview": {
|
||||
"title": "Catalog preview",
|
||||
"hint": "Browse the actual package pages and offers. This is a catalog preview, not a full game-client rendering. No purchases are made.",
|
||||
"search": "Search categories or offers",
|
||||
"playerMode": "Player access",
|
||||
"rank": "Rank",
|
||||
"club": "Club",
|
||||
"vip": "VIP",
|
||||
"externalParents": "This selection starts inside a larger catalog. Access restrictions on ancestors outside this snapshot cannot be evaluated.",
|
||||
"invalidHierarchy": "{count} pages have a cyclic hierarchy and cannot be navigated.",
|
||||
"snapshotLimit": "Preview limited to 200 pages and 500 offers.",
|
||||
"restricted": "{count} pages are hidden by the selected player access settings.",
|
||||
"categories": "Catalog categories",
|
||||
"noPages": "This snapshot contains no categories.",
|
||||
"inaccessible": "No categories are accessible with these settings. Adjust player access or turn it off to inspect the draft.",
|
||||
"noMatches": "No matches for this search.",
|
||||
"offerCount": "{count} offers",
|
||||
"layout": "Layout: {layout}",
|
||||
"missingLayout": "Not specified",
|
||||
"unsupportedLayout": "This layout has no dedicated preview. The grid shows the actual offers; custom layout widgets and imagery are not reproduced.",
|
||||
"loadingIcons": "Loading furniture icons…",
|
||||
"assetsUnavailable": "Furniture details are temporarily unavailable. Offer data remains visible.",
|
||||
"assetLimit": "Icons and furniture names are limited to the first 200 item IDs on this view.",
|
||||
"emptyPage": "This category has no direct offers. Browse its subcategories.",
|
||||
"missingIcon": "Icon unavailable",
|
||||
"amount": "Quantity: {count}",
|
||||
"bundle": "{count} furniture types",
|
||||
"changed": "Changed from the saved baseline",
|
||||
"previous": "Previous",
|
||||
"next": "Next",
|
||||
"page": "Page {page} of {total}",
|
||||
"offerId": "Offer #{id}",
|
||||
"unknownFurniture": "Furniture name unavailable",
|
||||
"selectOffer": "Select an offer to inspect its price and furniture references.",
|
||||
"credits": "Credits",
|
||||
"duckets": "Duckets",
|
||||
"diamonds": "Diamonds",
|
||||
"pointsType": "Points (type {type}):",
|
||||
"free": "Free",
|
||||
"specialPricing": "Special pricing: {credits} credits, {points} points (type {type})",
|
||||
"restrictedOffers": "{count} offers in this category require Club membership.",
|
||||
"clubOffer": "Club offer"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
@@ -1428,6 +1428,96 @@
|
||||
"save": "Save item",
|
||||
"saving": "Saving…",
|
||||
"cancel": "Cancel"
|
||||
},
|
||||
"packages": {
|
||||
"openPackages": "Catalog packages",
|
||||
"title": "Catalog packages",
|
||||
"description": "Prepare category and price changes in a separate draft. Review the catalog before publishing.",
|
||||
"createPackage": "New package",
|
||||
"createDraft": "Create draft",
|
||||
"draftCreated": "Package draft created. The live catalog has not changed.",
|
||||
"refresh": "Refresh list",
|
||||
"searchPackages": "Search packages",
|
||||
"noPackages": "No packages match this search.",
|
||||
"choosePackage": "Open a package or create a draft from existing categories.",
|
||||
"name": "Package name",
|
||||
"mode": "Publication mode",
|
||||
"update": "Update existing categories",
|
||||
"copy": "Create copies",
|
||||
"updateHint": "Publication applies the package to its existing categories and offers.",
|
||||
"copyHint": "Publication creates new categories and offers under the selected parent. Furniture references are preserved.",
|
||||
"sourceCategories": "Source categories",
|
||||
"packageLimits": "Descendant categories are included. Each package supports up to 200 categories and 500 offers.",
|
||||
"searchCategories": "Search categories",
|
||||
"selectedCategories": "Selected: {count}",
|
||||
"targetParent": "Destination parent category",
|
||||
"rootCategory": "Catalog root",
|
||||
"draft": "Draft",
|
||||
"published": "Published",
|
||||
"editDraft": "Edit draft",
|
||||
"catalogPreview": "Catalog preview",
|
||||
"showBaseline": "Show the original saved snapshot",
|
||||
"changes": "Before and after",
|
||||
"entry": "Entry",
|
||||
"field": "Field",
|
||||
"before": "Before",
|
||||
"after": "After",
|
||||
"noChanges": "No edited fields compared with the original snapshot.",
|
||||
"copyReview": "The entire package will be copied on publication, even if no fields were edited. The table lists edits to the original snapshot.",
|
||||
"updateReview": "These draft changes will update existing catalog entries after publication.",
|
||||
"saveDraft": "Save draft",
|
||||
"saveHint": "Saving keeps the package as a draft. Save all changes before requesting a publication review.",
|
||||
"draftSaved": "Draft saved. Publication is a separate step.",
|
||||
"reviewPublication": "Review publication",
|
||||
"publicationImpact": "Publication affects {pages} categories and {offers} offers.",
|
||||
"conflicts": "Publication is blocked by conflicts. Resolve them before requesting another review.",
|
||||
"readyToPublish": "The saved version passed the publication check. Publishing changes the live catalog.",
|
||||
"publish": "Publish package",
|
||||
"confirmPublish": "Publish this reviewed package to the live catalog now?",
|
||||
"publishedSuccess": "Package published: {pages} categories and {offers} offers.",
|
||||
"staleReview": "This package changed in another session. Reopen it to review the latest saved version.",
|
||||
"unsaved": "Unsaved changes",
|
||||
"discardChanges": "Discard unsaved package changes and continue?",
|
||||
"working": "Working…",
|
||||
"requestFailed": "The request failed. Try again.",
|
||||
"invalidFields": "Check required names, layouts and whole-number fields before saving.",
|
||||
"category": "Category",
|
||||
"caption": "Category caption",
|
||||
"iconImage": "Category icon ID",
|
||||
"minRank": "Minimum rank",
|
||||
"orderNum": "Display order",
|
||||
"pageLayout": "Page layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"offers": "Offers ({count})",
|
||||
"offer": "Offer",
|
||||
"catalogName": "Offer name",
|
||||
"costCredits": "Credits",
|
||||
"costPoints": "Points",
|
||||
"pointsType": "Points currency ID",
|
||||
"amount": "Amount",
|
||||
"searchOffers": "Search offers",
|
||||
"currentCategoryOffers": "Only the selected category",
|
||||
"selectMatching": "Select all matching offers ({count})",
|
||||
"clearSelection": "Clear selection",
|
||||
"selectedOffers": "Selected offers: {count}",
|
||||
"select": "Select",
|
||||
"selectOffer": "Select offer #{id}",
|
||||
"noOffers": "No offers match these filters.",
|
||||
"bulkPrices": "Bulk draft prices ({count} selected)",
|
||||
"bulkHint": "Preview the selected price changes, then accept them into this draft. The live catalog remains unchanged until publication.",
|
||||
"operation": "Operation",
|
||||
"set": "Set value",
|
||||
"add": "Add or subtract",
|
||||
"percent": "Adjust by percent",
|
||||
"value": "Value",
|
||||
"reviewBulk": "Preview prices",
|
||||
"invalidBulk": "Choose valid numbers and at least one offer. Resulting prices must be nonnegative and within the supported range.",
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -3083,6 +3173,69 @@
|
||||
"publications": "News drafts",
|
||||
"unavailable": "{source}: data is temporarily unavailable.",
|
||||
"installation": "Installation diagnostics"
|
||||
},
|
||||
"catalogPackages": {
|
||||
"backend": {
|
||||
"sourceChanged": "Source categories or offers changed since this package was created. Create a fresh package to include the current data.",
|
||||
"saveConflict": "Package changed. Reload it before saving",
|
||||
"publishConflict": "Package changed. Refresh the publication preview",
|
||||
"catalogChanged": "Catalog changed. Refresh the publication preview",
|
||||
"missing": "Catalog package not found",
|
||||
"pageLimit": "A package supports at most 200 categories including descendants",
|
||||
"offerLimit": "A package supports at most 500 offers",
|
||||
"payloadLimit": "Package data exceeds 8 MB safety limit",
|
||||
"membership": "Package membership cannot change",
|
||||
"hierarchy": "Package hierarchy cannot change",
|
||||
"references": "Package furniture references cannot change",
|
||||
"furnitureMissing": "Package furniture reference no longer exists",
|
||||
"auditWarning": "Package published, but audit logging failed.",
|
||||
"hotelWarning": "Package published, but the hotel update was not delivered.",
|
||||
"exportWarning": "Package published, but export scheduling failed.",
|
||||
"refreshWarning": "Package published. Refresh the page to see the latest catalog."
|
||||
}
|
||||
},
|
||||
"catalogPackagePreview": {
|
||||
"title": "Catalog preview",
|
||||
"hint": "Browse the actual package pages and offers. This is a catalog preview, not a full game-client rendering. No purchases are made.",
|
||||
"search": "Search categories or offers",
|
||||
"playerMode": "Player access",
|
||||
"rank": "Rank",
|
||||
"club": "Club",
|
||||
"vip": "VIP",
|
||||
"externalParents": "This selection starts inside a larger catalog. Access restrictions on ancestors outside this snapshot cannot be evaluated.",
|
||||
"invalidHierarchy": "{count} pages have a cyclic hierarchy and cannot be navigated.",
|
||||
"snapshotLimit": "Preview limited to 200 pages and 500 offers.",
|
||||
"restricted": "{count} pages are hidden by the selected player access settings.",
|
||||
"categories": "Catalog categories",
|
||||
"noPages": "This snapshot contains no categories.",
|
||||
"inaccessible": "No categories are accessible with these settings. Adjust player access or turn it off to inspect the draft.",
|
||||
"noMatches": "No matches for this search.",
|
||||
"offerCount": "{count} offers",
|
||||
"layout": "Layout: {layout}",
|
||||
"missingLayout": "Not specified",
|
||||
"unsupportedLayout": "This layout has no dedicated preview. The grid shows the actual offers; custom layout widgets and imagery are not reproduced.",
|
||||
"loadingIcons": "Loading furniture icons…",
|
||||
"assetsUnavailable": "Furniture details are temporarily unavailable. Offer data remains visible.",
|
||||
"assetLimit": "Icons and furniture names are limited to the first 200 item IDs on this view.",
|
||||
"emptyPage": "This category has no direct offers. Browse its subcategories.",
|
||||
"missingIcon": "Icon unavailable",
|
||||
"amount": "Quantity: {count}",
|
||||
"bundle": "{count} furniture types",
|
||||
"changed": "Changed from the saved baseline",
|
||||
"previous": "Previous",
|
||||
"next": "Next",
|
||||
"page": "Page {page} of {total}",
|
||||
"offerId": "Offer #{id}",
|
||||
"unknownFurniture": "Furniture name unavailable",
|
||||
"selectOffer": "Select an offer to inspect its price and furniture references.",
|
||||
"credits": "Credits",
|
||||
"duckets": "Duckets",
|
||||
"diamonds": "Diamonds",
|
||||
"pointsType": "Points (type {type}):",
|
||||
"free": "Free",
|
||||
"specialPricing": "Special pricing: {credits} credits, {points} points (type {type})",
|
||||
"restrictedOffers": "{count} offers in this category require Club membership.",
|
||||
"clubOffer": "Club offer"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
@@ -1429,6 +1429,96 @@
|
||||
"save": "Uložiť položku",
|
||||
"saving": "Ukladá sa…",
|
||||
"cancel": "Zrušiť"
|
||||
},
|
||||
"packages": {
|
||||
"openPackages": "Catalog packages",
|
||||
"title": "Catalog packages",
|
||||
"description": "Prepare category and price changes in a separate draft. Review the catalog before publishing.",
|
||||
"createPackage": "New package",
|
||||
"createDraft": "Create draft",
|
||||
"draftCreated": "Package draft created. The live catalog has not changed.",
|
||||
"refresh": "Refresh list",
|
||||
"searchPackages": "Search packages",
|
||||
"noPackages": "No packages match this search.",
|
||||
"choosePackage": "Open a package or create a draft from existing categories.",
|
||||
"name": "Package name",
|
||||
"mode": "Publication mode",
|
||||
"update": "Update existing categories",
|
||||
"copy": "Create copies",
|
||||
"updateHint": "Publication applies the package to its existing categories and offers.",
|
||||
"copyHint": "Publication creates new categories and offers under the selected parent. Furniture references are preserved.",
|
||||
"sourceCategories": "Source categories",
|
||||
"packageLimits": "Descendant categories are included. Each package supports up to 200 categories and 500 offers.",
|
||||
"searchCategories": "Search categories",
|
||||
"selectedCategories": "Selected: {count}",
|
||||
"targetParent": "Destination parent category",
|
||||
"rootCategory": "Catalog root",
|
||||
"draft": "Draft",
|
||||
"published": "Published",
|
||||
"editDraft": "Edit draft",
|
||||
"catalogPreview": "Catalog preview",
|
||||
"showBaseline": "Show the original saved snapshot",
|
||||
"changes": "Before and after",
|
||||
"entry": "Entry",
|
||||
"field": "Field",
|
||||
"before": "Before",
|
||||
"after": "After",
|
||||
"noChanges": "No edited fields compared with the original snapshot.",
|
||||
"copyReview": "The entire package will be copied on publication, even if no fields were edited. The table lists edits to the original snapshot.",
|
||||
"updateReview": "These draft changes will update existing catalog entries after publication.",
|
||||
"saveDraft": "Save draft",
|
||||
"saveHint": "Saving keeps the package as a draft. Save all changes before requesting a publication review.",
|
||||
"draftSaved": "Draft saved. Publication is a separate step.",
|
||||
"reviewPublication": "Review publication",
|
||||
"publicationImpact": "Publication affects {pages} categories and {offers} offers.",
|
||||
"conflicts": "Publication is blocked by conflicts. Resolve them before requesting another review.",
|
||||
"readyToPublish": "The saved version passed the publication check. Publishing changes the live catalog.",
|
||||
"publish": "Publish package",
|
||||
"confirmPublish": "Publish this reviewed package to the live catalog now?",
|
||||
"publishedSuccess": "Package published: {pages} categories and {offers} offers.",
|
||||
"staleReview": "This package changed in another session. Reopen it to review the latest saved version.",
|
||||
"unsaved": "Unsaved changes",
|
||||
"discardChanges": "Discard unsaved package changes and continue?",
|
||||
"working": "Working…",
|
||||
"requestFailed": "The request failed. Try again.",
|
||||
"invalidFields": "Check required names, layouts and whole-number fields before saving.",
|
||||
"category": "Category",
|
||||
"caption": "Category caption",
|
||||
"iconImage": "Category icon ID",
|
||||
"minRank": "Minimum rank",
|
||||
"orderNum": "Display order",
|
||||
"pageLayout": "Page layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"offers": "Offers ({count})",
|
||||
"offer": "Offer",
|
||||
"catalogName": "Offer name",
|
||||
"costCredits": "Credits",
|
||||
"costPoints": "Points",
|
||||
"pointsType": "Points currency ID",
|
||||
"amount": "Amount",
|
||||
"searchOffers": "Search offers",
|
||||
"currentCategoryOffers": "Only the selected category",
|
||||
"selectMatching": "Select all matching offers ({count})",
|
||||
"clearSelection": "Clear selection",
|
||||
"selectedOffers": "Selected offers: {count}",
|
||||
"select": "Select",
|
||||
"selectOffer": "Select offer #{id}",
|
||||
"noOffers": "No offers match these filters.",
|
||||
"bulkPrices": "Bulk draft prices ({count} selected)",
|
||||
"bulkHint": "Preview the selected price changes, then accept them into this draft. The live catalog remains unchanged until publication.",
|
||||
"operation": "Operation",
|
||||
"set": "Set value",
|
||||
"add": "Add or subtract",
|
||||
"percent": "Adjust by percent",
|
||||
"value": "Value",
|
||||
"reviewBulk": "Preview prices",
|
||||
"invalidBulk": "Choose valid numbers and at least one offer. Resulting prices must be nonnegative and within the supported range.",
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -3084,6 +3174,69 @@
|
||||
"publications": "News drafts",
|
||||
"unavailable": "{source}: data is temporarily unavailable.",
|
||||
"installation": "Installation diagnostics"
|
||||
},
|
||||
"catalogPackages": {
|
||||
"backend": {
|
||||
"sourceChanged": "Source categories or offers changed since this package was created. Create a fresh package to include the current data.",
|
||||
"saveConflict": "Package changed. Reload it before saving",
|
||||
"publishConflict": "Package changed. Refresh the publication preview",
|
||||
"catalogChanged": "Catalog changed. Refresh the publication preview",
|
||||
"missing": "Catalog package not found",
|
||||
"pageLimit": "A package supports at most 200 categories including descendants",
|
||||
"offerLimit": "A package supports at most 500 offers",
|
||||
"payloadLimit": "Package data exceeds 8 MB safety limit",
|
||||
"membership": "Package membership cannot change",
|
||||
"hierarchy": "Package hierarchy cannot change",
|
||||
"references": "Package furniture references cannot change",
|
||||
"furnitureMissing": "Package furniture reference no longer exists",
|
||||
"auditWarning": "Package published, but audit logging failed.",
|
||||
"hotelWarning": "Package published, but the hotel update was not delivered.",
|
||||
"exportWarning": "Package published, but export scheduling failed.",
|
||||
"refreshWarning": "Package published. Refresh the page to see the latest catalog."
|
||||
}
|
||||
},
|
||||
"catalogPackagePreview": {
|
||||
"title": "Catalog preview",
|
||||
"hint": "Browse the actual package pages and offers. This is a catalog preview, not a full game-client rendering. No purchases are made.",
|
||||
"search": "Search categories or offers",
|
||||
"playerMode": "Player access",
|
||||
"rank": "Rank",
|
||||
"club": "Club",
|
||||
"vip": "VIP",
|
||||
"externalParents": "This selection starts inside a larger catalog. Access restrictions on ancestors outside this snapshot cannot be evaluated.",
|
||||
"invalidHierarchy": "{count} pages have a cyclic hierarchy and cannot be navigated.",
|
||||
"snapshotLimit": "Preview limited to 200 pages and 500 offers.",
|
||||
"restricted": "{count} pages are hidden by the selected player access settings.",
|
||||
"categories": "Catalog categories",
|
||||
"noPages": "This snapshot contains no categories.",
|
||||
"inaccessible": "No categories are accessible with these settings. Adjust player access or turn it off to inspect the draft.",
|
||||
"noMatches": "No matches for this search.",
|
||||
"offerCount": "{count} offers",
|
||||
"layout": "Layout: {layout}",
|
||||
"missingLayout": "Not specified",
|
||||
"unsupportedLayout": "This layout has no dedicated preview. The grid shows the actual offers; custom layout widgets and imagery are not reproduced.",
|
||||
"loadingIcons": "Loading furniture icons…",
|
||||
"assetsUnavailable": "Furniture details are temporarily unavailable. Offer data remains visible.",
|
||||
"assetLimit": "Icons and furniture names are limited to the first 200 item IDs on this view.",
|
||||
"emptyPage": "This category has no direct offers. Browse its subcategories.",
|
||||
"missingIcon": "Icon unavailable",
|
||||
"amount": "Quantity: {count}",
|
||||
"bundle": "{count} furniture types",
|
||||
"changed": "Changed from the saved baseline",
|
||||
"previous": "Previous",
|
||||
"next": "Next",
|
||||
"page": "Page {page} of {total}",
|
||||
"offerId": "Offer #{id}",
|
||||
"unknownFurniture": "Furniture name unavailable",
|
||||
"selectOffer": "Select an offer to inspect its price and furniture references.",
|
||||
"credits": "Credits",
|
||||
"duckets": "Duckets",
|
||||
"diamonds": "Diamonds",
|
||||
"pointsType": "Points (type {type}):",
|
||||
"free": "Free",
|
||||
"specialPricing": "Special pricing: {credits} credits, {points} points (type {type})",
|
||||
"restrictedOffers": "{count} offers in this category require Club membership.",
|
||||
"clubOffer": "Club offer"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
@@ -1429,6 +1429,96 @@
|
||||
"save": "Сачувај ставку",
|
||||
"saving": "Чување…",
|
||||
"cancel": "Откажи"
|
||||
},
|
||||
"packages": {
|
||||
"openPackages": "Catalog packages",
|
||||
"title": "Catalog packages",
|
||||
"description": "Prepare category and price changes in a separate draft. Review the catalog before publishing.",
|
||||
"createPackage": "New package",
|
||||
"createDraft": "Create draft",
|
||||
"draftCreated": "Package draft created. The live catalog has not changed.",
|
||||
"refresh": "Refresh list",
|
||||
"searchPackages": "Search packages",
|
||||
"noPackages": "No packages match this search.",
|
||||
"choosePackage": "Open a package or create a draft from existing categories.",
|
||||
"name": "Package name",
|
||||
"mode": "Publication mode",
|
||||
"update": "Update existing categories",
|
||||
"copy": "Create copies",
|
||||
"updateHint": "Publication applies the package to its existing categories and offers.",
|
||||
"copyHint": "Publication creates new categories and offers under the selected parent. Furniture references are preserved.",
|
||||
"sourceCategories": "Source categories",
|
||||
"packageLimits": "Descendant categories are included. Each package supports up to 200 categories and 500 offers.",
|
||||
"searchCategories": "Search categories",
|
||||
"selectedCategories": "Selected: {count}",
|
||||
"targetParent": "Destination parent category",
|
||||
"rootCategory": "Catalog root",
|
||||
"draft": "Draft",
|
||||
"published": "Published",
|
||||
"editDraft": "Edit draft",
|
||||
"catalogPreview": "Catalog preview",
|
||||
"showBaseline": "Show the original saved snapshot",
|
||||
"changes": "Before and after",
|
||||
"entry": "Entry",
|
||||
"field": "Field",
|
||||
"before": "Before",
|
||||
"after": "After",
|
||||
"noChanges": "No edited fields compared with the original snapshot.",
|
||||
"copyReview": "The entire package will be copied on publication, even if no fields were edited. The table lists edits to the original snapshot.",
|
||||
"updateReview": "These draft changes will update existing catalog entries after publication.",
|
||||
"saveDraft": "Save draft",
|
||||
"saveHint": "Saving keeps the package as a draft. Save all changes before requesting a publication review.",
|
||||
"draftSaved": "Draft saved. Publication is a separate step.",
|
||||
"reviewPublication": "Review publication",
|
||||
"publicationImpact": "Publication affects {pages} categories and {offers} offers.",
|
||||
"conflicts": "Publication is blocked by conflicts. Resolve them before requesting another review.",
|
||||
"readyToPublish": "The saved version passed the publication check. Publishing changes the live catalog.",
|
||||
"publish": "Publish package",
|
||||
"confirmPublish": "Publish this reviewed package to the live catalog now?",
|
||||
"publishedSuccess": "Package published: {pages} categories and {offers} offers.",
|
||||
"staleReview": "This package changed in another session. Reopen it to review the latest saved version.",
|
||||
"unsaved": "Unsaved changes",
|
||||
"discardChanges": "Discard unsaved package changes and continue?",
|
||||
"working": "Working…",
|
||||
"requestFailed": "The request failed. Try again.",
|
||||
"invalidFields": "Check required names, layouts and whole-number fields before saving.",
|
||||
"category": "Category",
|
||||
"caption": "Category caption",
|
||||
"iconImage": "Category icon ID",
|
||||
"minRank": "Minimum rank",
|
||||
"orderNum": "Display order",
|
||||
"pageLayout": "Page layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"offers": "Offers ({count})",
|
||||
"offer": "Offer",
|
||||
"catalogName": "Offer name",
|
||||
"costCredits": "Credits",
|
||||
"costPoints": "Points",
|
||||
"pointsType": "Points currency ID",
|
||||
"amount": "Amount",
|
||||
"searchOffers": "Search offers",
|
||||
"currentCategoryOffers": "Only the selected category",
|
||||
"selectMatching": "Select all matching offers ({count})",
|
||||
"clearSelection": "Clear selection",
|
||||
"selectedOffers": "Selected offers: {count}",
|
||||
"select": "Select",
|
||||
"selectOffer": "Select offer #{id}",
|
||||
"noOffers": "No offers match these filters.",
|
||||
"bulkPrices": "Bulk draft prices ({count} selected)",
|
||||
"bulkHint": "Preview the selected price changes, then accept them into this draft. The live catalog remains unchanged until publication.",
|
||||
"operation": "Operation",
|
||||
"set": "Set value",
|
||||
"add": "Add or subtract",
|
||||
"percent": "Adjust by percent",
|
||||
"value": "Value",
|
||||
"reviewBulk": "Preview prices",
|
||||
"invalidBulk": "Choose valid numbers and at least one offer. Resulting prices must be nonnegative and within the supported range.",
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -3084,6 +3174,69 @@
|
||||
"publications": "News drafts",
|
||||
"unavailable": "{source}: data is temporarily unavailable.",
|
||||
"installation": "Installation diagnostics"
|
||||
},
|
||||
"catalogPackages": {
|
||||
"backend": {
|
||||
"sourceChanged": "Source categories or offers changed since this package was created. Create a fresh package to include the current data.",
|
||||
"saveConflict": "Package changed. Reload it before saving",
|
||||
"publishConflict": "Package changed. Refresh the publication preview",
|
||||
"catalogChanged": "Catalog changed. Refresh the publication preview",
|
||||
"missing": "Catalog package not found",
|
||||
"pageLimit": "A package supports at most 200 categories including descendants",
|
||||
"offerLimit": "A package supports at most 500 offers",
|
||||
"payloadLimit": "Package data exceeds 8 MB safety limit",
|
||||
"membership": "Package membership cannot change",
|
||||
"hierarchy": "Package hierarchy cannot change",
|
||||
"references": "Package furniture references cannot change",
|
||||
"furnitureMissing": "Package furniture reference no longer exists",
|
||||
"auditWarning": "Package published, but audit logging failed.",
|
||||
"hotelWarning": "Package published, but the hotel update was not delivered.",
|
||||
"exportWarning": "Package published, but export scheduling failed.",
|
||||
"refreshWarning": "Package published. Refresh the page to see the latest catalog."
|
||||
}
|
||||
},
|
||||
"catalogPackagePreview": {
|
||||
"title": "Catalog preview",
|
||||
"hint": "Browse the actual package pages and offers. This is a catalog preview, not a full game-client rendering. No purchases are made.",
|
||||
"search": "Search categories or offers",
|
||||
"playerMode": "Player access",
|
||||
"rank": "Rank",
|
||||
"club": "Club",
|
||||
"vip": "VIP",
|
||||
"externalParents": "This selection starts inside a larger catalog. Access restrictions on ancestors outside this snapshot cannot be evaluated.",
|
||||
"invalidHierarchy": "{count} pages have a cyclic hierarchy and cannot be navigated.",
|
||||
"snapshotLimit": "Preview limited to 200 pages and 500 offers.",
|
||||
"restricted": "{count} pages are hidden by the selected player access settings.",
|
||||
"categories": "Catalog categories",
|
||||
"noPages": "This snapshot contains no categories.",
|
||||
"inaccessible": "No categories are accessible with these settings. Adjust player access or turn it off to inspect the draft.",
|
||||
"noMatches": "No matches for this search.",
|
||||
"offerCount": "{count} offers",
|
||||
"layout": "Layout: {layout}",
|
||||
"missingLayout": "Not specified",
|
||||
"unsupportedLayout": "This layout has no dedicated preview. The grid shows the actual offers; custom layout widgets and imagery are not reproduced.",
|
||||
"loadingIcons": "Loading furniture icons…",
|
||||
"assetsUnavailable": "Furniture details are temporarily unavailable. Offer data remains visible.",
|
||||
"assetLimit": "Icons and furniture names are limited to the first 200 item IDs on this view.",
|
||||
"emptyPage": "This category has no direct offers. Browse its subcategories.",
|
||||
"missingIcon": "Icon unavailable",
|
||||
"amount": "Quantity: {count}",
|
||||
"bundle": "{count} furniture types",
|
||||
"changed": "Changed from the saved baseline",
|
||||
"previous": "Previous",
|
||||
"next": "Next",
|
||||
"page": "Page {page} of {total}",
|
||||
"offerId": "Offer #{id}",
|
||||
"unknownFurniture": "Furniture name unavailable",
|
||||
"selectOffer": "Select an offer to inspect its price and furniture references.",
|
||||
"credits": "Credits",
|
||||
"duckets": "Duckets",
|
||||
"diamonds": "Diamonds",
|
||||
"pointsType": "Points (type {type}):",
|
||||
"free": "Free",
|
||||
"specialPricing": "Special pricing: {credits} credits, {points} points (type {type})",
|
||||
"restrictedOffers": "{count} offers in this category require Club membership.",
|
||||
"clubOffer": "Club offer"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
@@ -1429,6 +1429,96 @@
|
||||
"save": "Spara objekt",
|
||||
"saving": "Sparar...",
|
||||
"cancel": "Avbryt"
|
||||
},
|
||||
"packages": {
|
||||
"openPackages": "Catalog packages",
|
||||
"title": "Catalog packages",
|
||||
"description": "Prepare category and price changes in a separate draft. Review the catalog before publishing.",
|
||||
"createPackage": "New package",
|
||||
"createDraft": "Create draft",
|
||||
"draftCreated": "Package draft created. The live catalog has not changed.",
|
||||
"refresh": "Refresh list",
|
||||
"searchPackages": "Search packages",
|
||||
"noPackages": "No packages match this search.",
|
||||
"choosePackage": "Open a package or create a draft from existing categories.",
|
||||
"name": "Package name",
|
||||
"mode": "Publication mode",
|
||||
"update": "Update existing categories",
|
||||
"copy": "Create copies",
|
||||
"updateHint": "Publication applies the package to its existing categories and offers.",
|
||||
"copyHint": "Publication creates new categories and offers under the selected parent. Furniture references are preserved.",
|
||||
"sourceCategories": "Source categories",
|
||||
"packageLimits": "Descendant categories are included. Each package supports up to 200 categories and 500 offers.",
|
||||
"searchCategories": "Search categories",
|
||||
"selectedCategories": "Selected: {count}",
|
||||
"targetParent": "Destination parent category",
|
||||
"rootCategory": "Catalog root",
|
||||
"draft": "Draft",
|
||||
"published": "Published",
|
||||
"editDraft": "Edit draft",
|
||||
"catalogPreview": "Catalog preview",
|
||||
"showBaseline": "Show the original saved snapshot",
|
||||
"changes": "Before and after",
|
||||
"entry": "Entry",
|
||||
"field": "Field",
|
||||
"before": "Before",
|
||||
"after": "After",
|
||||
"noChanges": "No edited fields compared with the original snapshot.",
|
||||
"copyReview": "The entire package will be copied on publication, even if no fields were edited. The table lists edits to the original snapshot.",
|
||||
"updateReview": "These draft changes will update existing catalog entries after publication.",
|
||||
"saveDraft": "Save draft",
|
||||
"saveHint": "Saving keeps the package as a draft. Save all changes before requesting a publication review.",
|
||||
"draftSaved": "Draft saved. Publication is a separate step.",
|
||||
"reviewPublication": "Review publication",
|
||||
"publicationImpact": "Publication affects {pages} categories and {offers} offers.",
|
||||
"conflicts": "Publication is blocked by conflicts. Resolve them before requesting another review.",
|
||||
"readyToPublish": "The saved version passed the publication check. Publishing changes the live catalog.",
|
||||
"publish": "Publish package",
|
||||
"confirmPublish": "Publish this reviewed package to the live catalog now?",
|
||||
"publishedSuccess": "Package published: {pages} categories and {offers} offers.",
|
||||
"staleReview": "This package changed in another session. Reopen it to review the latest saved version.",
|
||||
"unsaved": "Unsaved changes",
|
||||
"discardChanges": "Discard unsaved package changes and continue?",
|
||||
"working": "Working…",
|
||||
"requestFailed": "The request failed. Try again.",
|
||||
"invalidFields": "Check required names, layouts and whole-number fields before saving.",
|
||||
"category": "Category",
|
||||
"caption": "Category caption",
|
||||
"iconImage": "Category icon ID",
|
||||
"minRank": "Minimum rank",
|
||||
"orderNum": "Display order",
|
||||
"pageLayout": "Page layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"offers": "Offers ({count})",
|
||||
"offer": "Offer",
|
||||
"catalogName": "Offer name",
|
||||
"costCredits": "Credits",
|
||||
"costPoints": "Points",
|
||||
"pointsType": "Points currency ID",
|
||||
"amount": "Amount",
|
||||
"searchOffers": "Search offers",
|
||||
"currentCategoryOffers": "Only the selected category",
|
||||
"selectMatching": "Select all matching offers ({count})",
|
||||
"clearSelection": "Clear selection",
|
||||
"selectedOffers": "Selected offers: {count}",
|
||||
"select": "Select",
|
||||
"selectOffer": "Select offer #{id}",
|
||||
"noOffers": "No offers match these filters.",
|
||||
"bulkPrices": "Bulk draft prices ({count} selected)",
|
||||
"bulkHint": "Preview the selected price changes, then accept them into this draft. The live catalog remains unchanged until publication.",
|
||||
"operation": "Operation",
|
||||
"set": "Set value",
|
||||
"add": "Add or subtract",
|
||||
"percent": "Adjust by percent",
|
||||
"value": "Value",
|
||||
"reviewBulk": "Preview prices",
|
||||
"invalidBulk": "Choose valid numbers and at least one offer. Resulting prices must be nonnegative and within the supported range.",
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -3084,6 +3174,69 @@
|
||||
"publications": "News drafts",
|
||||
"unavailable": "{source}: data is temporarily unavailable.",
|
||||
"installation": "Installation diagnostics"
|
||||
},
|
||||
"catalogPackages": {
|
||||
"backend": {
|
||||
"sourceChanged": "Source categories or offers changed since this package was created. Create a fresh package to include the current data.",
|
||||
"saveConflict": "Package changed. Reload it before saving",
|
||||
"publishConflict": "Package changed. Refresh the publication preview",
|
||||
"catalogChanged": "Catalog changed. Refresh the publication preview",
|
||||
"missing": "Catalog package not found",
|
||||
"pageLimit": "A package supports at most 200 categories including descendants",
|
||||
"offerLimit": "A package supports at most 500 offers",
|
||||
"payloadLimit": "Package data exceeds 8 MB safety limit",
|
||||
"membership": "Package membership cannot change",
|
||||
"hierarchy": "Package hierarchy cannot change",
|
||||
"references": "Package furniture references cannot change",
|
||||
"furnitureMissing": "Package furniture reference no longer exists",
|
||||
"auditWarning": "Package published, but audit logging failed.",
|
||||
"hotelWarning": "Package published, but the hotel update was not delivered.",
|
||||
"exportWarning": "Package published, but export scheduling failed.",
|
||||
"refreshWarning": "Package published. Refresh the page to see the latest catalog."
|
||||
}
|
||||
},
|
||||
"catalogPackagePreview": {
|
||||
"title": "Catalog preview",
|
||||
"hint": "Browse the actual package pages and offers. This is a catalog preview, not a full game-client rendering. No purchases are made.",
|
||||
"search": "Search categories or offers",
|
||||
"playerMode": "Player access",
|
||||
"rank": "Rank",
|
||||
"club": "Club",
|
||||
"vip": "VIP",
|
||||
"externalParents": "This selection starts inside a larger catalog. Access restrictions on ancestors outside this snapshot cannot be evaluated.",
|
||||
"invalidHierarchy": "{count} pages have a cyclic hierarchy and cannot be navigated.",
|
||||
"snapshotLimit": "Preview limited to 200 pages and 500 offers.",
|
||||
"restricted": "{count} pages are hidden by the selected player access settings.",
|
||||
"categories": "Catalog categories",
|
||||
"noPages": "This snapshot contains no categories.",
|
||||
"inaccessible": "No categories are accessible with these settings. Adjust player access or turn it off to inspect the draft.",
|
||||
"noMatches": "No matches for this search.",
|
||||
"offerCount": "{count} offers",
|
||||
"layout": "Layout: {layout}",
|
||||
"missingLayout": "Not specified",
|
||||
"unsupportedLayout": "This layout has no dedicated preview. The grid shows the actual offers; custom layout widgets and imagery are not reproduced.",
|
||||
"loadingIcons": "Loading furniture icons…",
|
||||
"assetsUnavailable": "Furniture details are temporarily unavailable. Offer data remains visible.",
|
||||
"assetLimit": "Icons and furniture names are limited to the first 200 item IDs on this view.",
|
||||
"emptyPage": "This category has no direct offers. Browse its subcategories.",
|
||||
"missingIcon": "Icon unavailable",
|
||||
"amount": "Quantity: {count}",
|
||||
"bundle": "{count} furniture types",
|
||||
"changed": "Changed from the saved baseline",
|
||||
"previous": "Previous",
|
||||
"next": "Next",
|
||||
"page": "Page {page} of {total}",
|
||||
"offerId": "Offer #{id}",
|
||||
"unknownFurniture": "Furniture name unavailable",
|
||||
"selectOffer": "Select an offer to inspect its price and furniture references.",
|
||||
"credits": "Credits",
|
||||
"duckets": "Duckets",
|
||||
"diamonds": "Diamonds",
|
||||
"pointsType": "Points (type {type}):",
|
||||
"free": "Free",
|
||||
"specialPricing": "Special pricing: {credits} credits, {points} points (type {type})",
|
||||
"restrictedOffers": "{count} offers in this category require Club membership.",
|
||||
"clubOffer": "Club offer"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
@@ -1430,6 +1430,96 @@
|
||||
"save": "Öğeyi kaydet",
|
||||
"saving": "Kaydediliyor…",
|
||||
"cancel": "İptal"
|
||||
},
|
||||
"packages": {
|
||||
"openPackages": "Catalog packages",
|
||||
"title": "Catalog packages",
|
||||
"description": "Prepare category and price changes in a separate draft. Review the catalog before publishing.",
|
||||
"createPackage": "New package",
|
||||
"createDraft": "Create draft",
|
||||
"draftCreated": "Package draft created. The live catalog has not changed.",
|
||||
"refresh": "Refresh list",
|
||||
"searchPackages": "Search packages",
|
||||
"noPackages": "No packages match this search.",
|
||||
"choosePackage": "Open a package or create a draft from existing categories.",
|
||||
"name": "Package name",
|
||||
"mode": "Publication mode",
|
||||
"update": "Update existing categories",
|
||||
"copy": "Create copies",
|
||||
"updateHint": "Publication applies the package to its existing categories and offers.",
|
||||
"copyHint": "Publication creates new categories and offers under the selected parent. Furniture references are preserved.",
|
||||
"sourceCategories": "Source categories",
|
||||
"packageLimits": "Descendant categories are included. Each package supports up to 200 categories and 500 offers.",
|
||||
"searchCategories": "Search categories",
|
||||
"selectedCategories": "Selected: {count}",
|
||||
"targetParent": "Destination parent category",
|
||||
"rootCategory": "Catalog root",
|
||||
"draft": "Draft",
|
||||
"published": "Published",
|
||||
"editDraft": "Edit draft",
|
||||
"catalogPreview": "Catalog preview",
|
||||
"showBaseline": "Show the original saved snapshot",
|
||||
"changes": "Before and after",
|
||||
"entry": "Entry",
|
||||
"field": "Field",
|
||||
"before": "Before",
|
||||
"after": "After",
|
||||
"noChanges": "No edited fields compared with the original snapshot.",
|
||||
"copyReview": "The entire package will be copied on publication, even if no fields were edited. The table lists edits to the original snapshot.",
|
||||
"updateReview": "These draft changes will update existing catalog entries after publication.",
|
||||
"saveDraft": "Save draft",
|
||||
"saveHint": "Saving keeps the package as a draft. Save all changes before requesting a publication review.",
|
||||
"draftSaved": "Draft saved. Publication is a separate step.",
|
||||
"reviewPublication": "Review publication",
|
||||
"publicationImpact": "Publication affects {pages} categories and {offers} offers.",
|
||||
"conflicts": "Publication is blocked by conflicts. Resolve them before requesting another review.",
|
||||
"readyToPublish": "The saved version passed the publication check. Publishing changes the live catalog.",
|
||||
"publish": "Publish package",
|
||||
"confirmPublish": "Publish this reviewed package to the live catalog now?",
|
||||
"publishedSuccess": "Package published: {pages} categories and {offers} offers.",
|
||||
"staleReview": "This package changed in another session. Reopen it to review the latest saved version.",
|
||||
"unsaved": "Unsaved changes",
|
||||
"discardChanges": "Discard unsaved package changes and continue?",
|
||||
"working": "Working…",
|
||||
"requestFailed": "The request failed. Try again.",
|
||||
"invalidFields": "Check required names, layouts and whole-number fields before saving.",
|
||||
"category": "Category",
|
||||
"caption": "Category caption",
|
||||
"iconImage": "Category icon ID",
|
||||
"minRank": "Minimum rank",
|
||||
"orderNum": "Display order",
|
||||
"pageLayout": "Page layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"offers": "Offers ({count})",
|
||||
"offer": "Offer",
|
||||
"catalogName": "Offer name",
|
||||
"costCredits": "Credits",
|
||||
"costPoints": "Points",
|
||||
"pointsType": "Points currency ID",
|
||||
"amount": "Amount",
|
||||
"searchOffers": "Search offers",
|
||||
"currentCategoryOffers": "Only the selected category",
|
||||
"selectMatching": "Select all matching offers ({count})",
|
||||
"clearSelection": "Clear selection",
|
||||
"selectedOffers": "Selected offers: {count}",
|
||||
"select": "Select",
|
||||
"selectOffer": "Select offer #{id}",
|
||||
"noOffers": "No offers match these filters.",
|
||||
"bulkPrices": "Bulk draft prices ({count} selected)",
|
||||
"bulkHint": "Preview the selected price changes, then accept them into this draft. The live catalog remains unchanged until publication.",
|
||||
"operation": "Operation",
|
||||
"set": "Set value",
|
||||
"add": "Add or subtract",
|
||||
"percent": "Adjust by percent",
|
||||
"value": "Value",
|
||||
"reviewBulk": "Preview prices",
|
||||
"invalidBulk": "Choose valid numbers and at least one offer. Resulting prices must be nonnegative and within the supported range.",
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -3085,6 +3175,69 @@
|
||||
"publications": "News drafts",
|
||||
"unavailable": "{source}: data is temporarily unavailable.",
|
||||
"installation": "Installation diagnostics"
|
||||
},
|
||||
"catalogPackages": {
|
||||
"backend": {
|
||||
"sourceChanged": "Source categories or offers changed since this package was created. Create a fresh package to include the current data.",
|
||||
"saveConflict": "Package changed. Reload it before saving",
|
||||
"publishConflict": "Package changed. Refresh the publication preview",
|
||||
"catalogChanged": "Catalog changed. Refresh the publication preview",
|
||||
"missing": "Catalog package not found",
|
||||
"pageLimit": "A package supports at most 200 categories including descendants",
|
||||
"offerLimit": "A package supports at most 500 offers",
|
||||
"payloadLimit": "Package data exceeds 8 MB safety limit",
|
||||
"membership": "Package membership cannot change",
|
||||
"hierarchy": "Package hierarchy cannot change",
|
||||
"references": "Package furniture references cannot change",
|
||||
"furnitureMissing": "Package furniture reference no longer exists",
|
||||
"auditWarning": "Package published, but audit logging failed.",
|
||||
"hotelWarning": "Package published, but the hotel update was not delivered.",
|
||||
"exportWarning": "Package published, but export scheduling failed.",
|
||||
"refreshWarning": "Package published. Refresh the page to see the latest catalog."
|
||||
}
|
||||
},
|
||||
"catalogPackagePreview": {
|
||||
"title": "Catalog preview",
|
||||
"hint": "Browse the actual package pages and offers. This is a catalog preview, not a full game-client rendering. No purchases are made.",
|
||||
"search": "Search categories or offers",
|
||||
"playerMode": "Player access",
|
||||
"rank": "Rank",
|
||||
"club": "Club",
|
||||
"vip": "VIP",
|
||||
"externalParents": "This selection starts inside a larger catalog. Access restrictions on ancestors outside this snapshot cannot be evaluated.",
|
||||
"invalidHierarchy": "{count} pages have a cyclic hierarchy and cannot be navigated.",
|
||||
"snapshotLimit": "Preview limited to 200 pages and 500 offers.",
|
||||
"restricted": "{count} pages are hidden by the selected player access settings.",
|
||||
"categories": "Catalog categories",
|
||||
"noPages": "This snapshot contains no categories.",
|
||||
"inaccessible": "No categories are accessible with these settings. Adjust player access or turn it off to inspect the draft.",
|
||||
"noMatches": "No matches for this search.",
|
||||
"offerCount": "{count} offers",
|
||||
"layout": "Layout: {layout}",
|
||||
"missingLayout": "Not specified",
|
||||
"unsupportedLayout": "This layout has no dedicated preview. The grid shows the actual offers; custom layout widgets and imagery are not reproduced.",
|
||||
"loadingIcons": "Loading furniture icons…",
|
||||
"assetsUnavailable": "Furniture details are temporarily unavailable. Offer data remains visible.",
|
||||
"assetLimit": "Icons and furniture names are limited to the first 200 item IDs on this view.",
|
||||
"emptyPage": "This category has no direct offers. Browse its subcategories.",
|
||||
"missingIcon": "Icon unavailable",
|
||||
"amount": "Quantity: {count}",
|
||||
"bundle": "{count} furniture types",
|
||||
"changed": "Changed from the saved baseline",
|
||||
"previous": "Previous",
|
||||
"next": "Next",
|
||||
"page": "Page {page} of {total}",
|
||||
"offerId": "Offer #{id}",
|
||||
"unknownFurniture": "Furniture name unavailable",
|
||||
"selectOffer": "Select an offer to inspect its price and furniture references.",
|
||||
"credits": "Credits",
|
||||
"duckets": "Duckets",
|
||||
"diamonds": "Diamonds",
|
||||
"pointsType": "Points (type {type}):",
|
||||
"free": "Free",
|
||||
"specialPricing": "Special pricing: {credits} credits, {points} points (type {type})",
|
||||
"restrictedOffers": "{count} offers in this category require Club membership.",
|
||||
"clubOffer": "Club offer"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
@@ -1429,6 +1429,96 @@
|
||||
"save": "Зберегти товар",
|
||||
"saving": "Збереження…",
|
||||
"cancel": "Скасувати"
|
||||
},
|
||||
"packages": {
|
||||
"openPackages": "Catalog packages",
|
||||
"title": "Catalog packages",
|
||||
"description": "Prepare category and price changes in a separate draft. Review the catalog before publishing.",
|
||||
"createPackage": "New package",
|
||||
"createDraft": "Create draft",
|
||||
"draftCreated": "Package draft created. The live catalog has not changed.",
|
||||
"refresh": "Refresh list",
|
||||
"searchPackages": "Search packages",
|
||||
"noPackages": "No packages match this search.",
|
||||
"choosePackage": "Open a package or create a draft from existing categories.",
|
||||
"name": "Package name",
|
||||
"mode": "Publication mode",
|
||||
"update": "Update existing categories",
|
||||
"copy": "Create copies",
|
||||
"updateHint": "Publication applies the package to its existing categories and offers.",
|
||||
"copyHint": "Publication creates new categories and offers under the selected parent. Furniture references are preserved.",
|
||||
"sourceCategories": "Source categories",
|
||||
"packageLimits": "Descendant categories are included. Each package supports up to 200 categories and 500 offers.",
|
||||
"searchCategories": "Search categories",
|
||||
"selectedCategories": "Selected: {count}",
|
||||
"targetParent": "Destination parent category",
|
||||
"rootCategory": "Catalog root",
|
||||
"draft": "Draft",
|
||||
"published": "Published",
|
||||
"editDraft": "Edit draft",
|
||||
"catalogPreview": "Catalog preview",
|
||||
"showBaseline": "Show the original saved snapshot",
|
||||
"changes": "Before and after",
|
||||
"entry": "Entry",
|
||||
"field": "Field",
|
||||
"before": "Before",
|
||||
"after": "After",
|
||||
"noChanges": "No edited fields compared with the original snapshot.",
|
||||
"copyReview": "The entire package will be copied on publication, even if no fields were edited. The table lists edits to the original snapshot.",
|
||||
"updateReview": "These draft changes will update existing catalog entries after publication.",
|
||||
"saveDraft": "Save draft",
|
||||
"saveHint": "Saving keeps the package as a draft. Save all changes before requesting a publication review.",
|
||||
"draftSaved": "Draft saved. Publication is a separate step.",
|
||||
"reviewPublication": "Review publication",
|
||||
"publicationImpact": "Publication affects {pages} categories and {offers} offers.",
|
||||
"conflicts": "Publication is blocked by conflicts. Resolve them before requesting another review.",
|
||||
"readyToPublish": "The saved version passed the publication check. Publishing changes the live catalog.",
|
||||
"publish": "Publish package",
|
||||
"confirmPublish": "Publish this reviewed package to the live catalog now?",
|
||||
"publishedSuccess": "Package published: {pages} categories and {offers} offers.",
|
||||
"staleReview": "This package changed in another session. Reopen it to review the latest saved version.",
|
||||
"unsaved": "Unsaved changes",
|
||||
"discardChanges": "Discard unsaved package changes and continue?",
|
||||
"working": "Working…",
|
||||
"requestFailed": "The request failed. Try again.",
|
||||
"invalidFields": "Check required names, layouts and whole-number fields before saving.",
|
||||
"category": "Category",
|
||||
"caption": "Category caption",
|
||||
"iconImage": "Category icon ID",
|
||||
"minRank": "Minimum rank",
|
||||
"orderNum": "Display order",
|
||||
"pageLayout": "Page layout",
|
||||
"enabled": "Enabled",
|
||||
"visible": "Visible",
|
||||
"clubOnly": "Club members only",
|
||||
"vipOnly": "VIP members only",
|
||||
"offers": "Offers ({count})",
|
||||
"offer": "Offer",
|
||||
"catalogName": "Offer name",
|
||||
"costCredits": "Credits",
|
||||
"costPoints": "Points",
|
||||
"pointsType": "Points currency ID",
|
||||
"amount": "Amount",
|
||||
"searchOffers": "Search offers",
|
||||
"currentCategoryOffers": "Only the selected category",
|
||||
"selectMatching": "Select all matching offers ({count})",
|
||||
"clearSelection": "Clear selection",
|
||||
"selectedOffers": "Selected offers: {count}",
|
||||
"select": "Select",
|
||||
"selectOffer": "Select offer #{id}",
|
||||
"noOffers": "No offers match these filters.",
|
||||
"bulkPrices": "Bulk draft prices ({count} selected)",
|
||||
"bulkHint": "Preview the selected price changes, then accept them into this draft. The live catalog remains unchanged until publication.",
|
||||
"operation": "Operation",
|
||||
"set": "Set value",
|
||||
"add": "Add or subtract",
|
||||
"percent": "Adjust by percent",
|
||||
"value": "Value",
|
||||
"reviewBulk": "Preview prices",
|
||||
"invalidBulk": "Choose valid numbers and at least one offer. Resulting prices must be nonnegative and within the supported range.",
|
||||
"acceptBulk": "Accept prices into draft",
|
||||
"previous": "Previous",
|
||||
"next": "Next"
|
||||
}
|
||||
},
|
||||
"shop": {
|
||||
@@ -3084,6 +3174,69 @@
|
||||
"publications": "News drafts",
|
||||
"unavailable": "{source}: data is temporarily unavailable.",
|
||||
"installation": "Installation diagnostics"
|
||||
},
|
||||
"catalogPackages": {
|
||||
"backend": {
|
||||
"sourceChanged": "Source categories or offers changed since this package was created. Create a fresh package to include the current data.",
|
||||
"saveConflict": "Package changed. Reload it before saving",
|
||||
"publishConflict": "Package changed. Refresh the publication preview",
|
||||
"catalogChanged": "Catalog changed. Refresh the publication preview",
|
||||
"missing": "Catalog package not found",
|
||||
"pageLimit": "A package supports at most 200 categories including descendants",
|
||||
"offerLimit": "A package supports at most 500 offers",
|
||||
"payloadLimit": "Package data exceeds 8 MB safety limit",
|
||||
"membership": "Package membership cannot change",
|
||||
"hierarchy": "Package hierarchy cannot change",
|
||||
"references": "Package furniture references cannot change",
|
||||
"furnitureMissing": "Package furniture reference no longer exists",
|
||||
"auditWarning": "Package published, but audit logging failed.",
|
||||
"hotelWarning": "Package published, but the hotel update was not delivered.",
|
||||
"exportWarning": "Package published, but export scheduling failed.",
|
||||
"refreshWarning": "Package published. Refresh the page to see the latest catalog."
|
||||
}
|
||||
},
|
||||
"catalogPackagePreview": {
|
||||
"title": "Catalog preview",
|
||||
"hint": "Browse the actual package pages and offers. This is a catalog preview, not a full game-client rendering. No purchases are made.",
|
||||
"search": "Search categories or offers",
|
||||
"playerMode": "Player access",
|
||||
"rank": "Rank",
|
||||
"club": "Club",
|
||||
"vip": "VIP",
|
||||
"externalParents": "This selection starts inside a larger catalog. Access restrictions on ancestors outside this snapshot cannot be evaluated.",
|
||||
"invalidHierarchy": "{count} pages have a cyclic hierarchy and cannot be navigated.",
|
||||
"snapshotLimit": "Preview limited to 200 pages and 500 offers.",
|
||||
"restricted": "{count} pages are hidden by the selected player access settings.",
|
||||
"categories": "Catalog categories",
|
||||
"noPages": "This snapshot contains no categories.",
|
||||
"inaccessible": "No categories are accessible with these settings. Adjust player access or turn it off to inspect the draft.",
|
||||
"noMatches": "No matches for this search.",
|
||||
"offerCount": "{count} offers",
|
||||
"layout": "Layout: {layout}",
|
||||
"missingLayout": "Not specified",
|
||||
"unsupportedLayout": "This layout has no dedicated preview. The grid shows the actual offers; custom layout widgets and imagery are not reproduced.",
|
||||
"loadingIcons": "Loading furniture icons…",
|
||||
"assetsUnavailable": "Furniture details are temporarily unavailable. Offer data remains visible.",
|
||||
"assetLimit": "Icons and furniture names are limited to the first 200 item IDs on this view.",
|
||||
"emptyPage": "This category has no direct offers. Browse its subcategories.",
|
||||
"missingIcon": "Icon unavailable",
|
||||
"amount": "Quantity: {count}",
|
||||
"bundle": "{count} furniture types",
|
||||
"changed": "Changed from the saved baseline",
|
||||
"previous": "Previous",
|
||||
"next": "Next",
|
||||
"page": "Page {page} of {total}",
|
||||
"offerId": "Offer #{id}",
|
||||
"unknownFurniture": "Furniture name unavailable",
|
||||
"selectOffer": "Select an offer to inspect its price and furniture references.",
|
||||
"credits": "Credits",
|
||||
"duckets": "Duckets",
|
||||
"diamonds": "Diamonds",
|
||||
"pointsType": "Points (type {type}):",
|
||||
"free": "Free",
|
||||
"specialPricing": "Special pricing: {credits} credits, {points} points (type {type})",
|
||||
"restrictedOffers": "{count} offers in this category require Club membership.",
|
||||
"clubOffer": "Club offer"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
||||
Reference in new issue
Block a user