@endora-commerce/mod-catalog 0.100.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +63 -0
- package/dist/admin/components/PackagingUnitsEditor.d.ts +12 -0
- package/dist/admin/components/PackagingUnitsEditor.d.ts.map +1 -0
- package/dist/admin/components/PackagingUnitsEditor.js +99 -0
- package/dist/admin/components/PackagingUnitsEditor.js.map +1 -0
- package/dist/admin/components/ProductAttributesTab.d.ts +13 -0
- package/dist/admin/components/ProductAttributesTab.d.ts.map +1 -0
- package/dist/admin/components/ProductAttributesTab.js +140 -0
- package/dist/admin/components/ProductAttributesTab.js.map +1 -0
- package/dist/admin/components/ProductInventoryTab.d.ts +14 -0
- package/dist/admin/components/ProductInventoryTab.d.ts.map +1 -0
- package/dist/admin/components/ProductInventoryTab.js +284 -0
- package/dist/admin/components/ProductInventoryTab.js.map +1 -0
- package/dist/admin/components/ProductScopeEditor.d.ts +94 -0
- package/dist/admin/components/ProductScopeEditor.d.ts.map +1 -0
- package/dist/admin/components/ProductScopeEditor.js +395 -0
- package/dist/admin/components/ProductScopeEditor.js.map +1 -0
- package/dist/admin/components/ProductsBulkEditDialog.d.ts +11 -0
- package/dist/admin/components/ProductsBulkEditDialog.d.ts.map +1 -0
- package/dist/admin/components/ProductsBulkEditDialog.js +304 -0
- package/dist/admin/components/ProductsBulkEditDialog.js.map +1 -0
- package/dist/admin/index.d.ts +45 -0
- package/dist/admin/index.d.ts.map +1 -0
- package/dist/admin/index.js +184 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/admin/lib/resolve-product-selection.d.ts +21 -0
- package/dist/admin/lib/resolve-product-selection.d.ts.map +1 -0
- package/dist/admin/lib/resolve-product-selection.js +25 -0
- package/dist/admin/lib/resolve-product-selection.js.map +1 -0
- package/dist/admin/pages/AttachmentTypesPage.d.ts +18 -0
- package/dist/admin/pages/AttachmentTypesPage.d.ts.map +1 -0
- package/dist/admin/pages/AttachmentTypesPage.js +92 -0
- package/dist/admin/pages/AttachmentTypesPage.js.map +1 -0
- package/dist/admin/pages/AttributeSetsPage.d.ts +21 -0
- package/dist/admin/pages/AttributeSetsPage.d.ts.map +1 -0
- package/dist/admin/pages/AttributeSetsPage.js +158 -0
- package/dist/admin/pages/AttributeSetsPage.js.map +1 -0
- package/dist/admin/pages/AttributesManager.d.ts +9 -0
- package/dist/admin/pages/AttributesManager.d.ts.map +1 -0
- package/dist/admin/pages/AttributesManager.js +305 -0
- package/dist/admin/pages/AttributesManager.js.map +1 -0
- package/dist/admin/pages/BulkOperationDetailPage.d.ts +9 -0
- package/dist/admin/pages/BulkOperationDetailPage.d.ts.map +1 -0
- package/dist/admin/pages/BulkOperationDetailPage.js +187 -0
- package/dist/admin/pages/BulkOperationDetailPage.js.map +1 -0
- package/dist/admin/pages/BulkOperationsPage.d.ts +9 -0
- package/dist/admin/pages/BulkOperationsPage.d.ts.map +1 -0
- package/dist/admin/pages/BulkOperationsPage.js +98 -0
- package/dist/admin/pages/BulkOperationsPage.js.map +1 -0
- package/dist/admin/pages/CategoriesTree.d.ts +9 -0
- package/dist/admin/pages/CategoriesTree.d.ts.map +1 -0
- package/dist/admin/pages/CategoriesTree.js +176 -0
- package/dist/admin/pages/CategoriesTree.js.map +1 -0
- package/dist/admin/pages/ProductEditor.d.ts +13 -0
- package/dist/admin/pages/ProductEditor.d.ts.map +1 -0
- package/dist/admin/pages/ProductEditor.js +1050 -0
- package/dist/admin/pages/ProductEditor.js.map +1 -0
- package/dist/admin/pages/ProductsList.d.ts +9 -0
- package/dist/admin/pages/ProductsList.d.ts.map +1 -0
- package/dist/admin/pages/ProductsList.js +399 -0
- package/dist/admin/pages/ProductsList.js.map +1 -0
- package/dist/backend/commands/attribute-commands.d.ts +111 -0
- package/dist/backend/commands/attribute-commands.d.ts.map +1 -0
- package/dist/backend/commands/attribute-commands.js +482 -0
- package/dist/backend/commands/attribute-commands.js.map +1 -0
- package/dist/backend/demo/reset.d.ts +23 -0
- package/dist/backend/demo/reset.d.ts.map +1 -0
- package/dist/backend/demo/reset.js +41 -0
- package/dist/backend/demo/reset.js.map +1 -0
- package/dist/backend/demo/rows.d.ts +103 -0
- package/dist/backend/demo/rows.d.ts.map +1 -0
- package/dist/backend/demo/rows.js +162 -0
- package/dist/backend/demo/rows.js.map +1 -0
- package/dist/backend/demo/seed.d.ts +35 -0
- package/dist/backend/demo/seed.d.ts.map +1 -0
- package/dist/backend/demo/seed.js +177 -0
- package/dist/backend/demo/seed.js.map +1 -0
- package/dist/backend/entities/attachment-type.entity.d.ts +16 -0
- package/dist/backend/entities/attachment-type.entity.d.ts.map +1 -0
- package/dist/backend/entities/attachment-type.entity.js +57 -0
- package/dist/backend/entities/attachment-type.entity.js.map +1 -0
- package/dist/backend/entities/attribute-set-attribute.entity.d.ts +26 -0
- package/dist/backend/entities/attribute-set-attribute.entity.d.ts.map +1 -0
- package/dist/backend/entities/attribute-set-attribute.entity.js +55 -0
- package/dist/backend/entities/attribute-set-attribute.entity.js.map +1 -0
- package/dist/backend/entities/attribute-set.entity.d.ts +22 -0
- package/dist/backend/entities/attribute-set.entity.d.ts.map +1 -0
- package/dist/backend/entities/attribute-set.entity.js +67 -0
- package/dist/backend/entities/attribute-set.entity.js.map +1 -0
- package/dist/backend/entities/bulk-operation.entity.d.ts +78 -0
- package/dist/backend/entities/bulk-operation.entity.d.ts.map +1 -0
- package/dist/backend/entities/bulk-operation.entity.js +138 -0
- package/dist/backend/entities/bulk-operation.entity.js.map +1 -0
- package/dist/backend/entities/bundle-slot-option.entity.d.ts +23 -0
- package/dist/backend/entities/bundle-slot-option.entity.d.ts.map +1 -0
- package/dist/backend/entities/bundle-slot-option.entity.js +68 -0
- package/dist/backend/entities/bundle-slot-option.entity.js.map +1 -0
- package/dist/backend/entities/bundle-slot.entity.d.ts +25 -0
- package/dist/backend/entities/bundle-slot.entity.d.ts.map +1 -0
- package/dist/backend/entities/bundle-slot.entity.js +74 -0
- package/dist/backend/entities/bundle-slot.entity.js.map +1 -0
- package/dist/backend/entities/category.entity.d.ts +26 -0
- package/dist/backend/entities/category.entity.d.ts.map +1 -0
- package/dist/backend/entities/category.entity.js +119 -0
- package/dist/backend/entities/category.entity.js.map +1 -0
- package/dist/backend/entities/gallery-item-label.entity.d.ts +22 -0
- package/dist/backend/entities/gallery-item-label.entity.d.ts.map +1 -0
- package/dist/backend/entities/gallery-item-label.entity.js +50 -0
- package/dist/backend/entities/gallery-item-label.entity.js.map +1 -0
- package/dist/backend/entities/gallery-item.entity.d.ts +17 -0
- package/dist/backend/entities/gallery-item.entity.d.ts.map +1 -0
- package/dist/backend/entities/gallery-item.entity.js +58 -0
- package/dist/backend/entities/gallery-item.entity.js.map +1 -0
- package/dist/backend/entities/grouped-item.entity.d.ts +23 -0
- package/dist/backend/entities/grouped-item.entity.d.ts.map +1 -0
- package/dist/backend/entities/grouped-item.entity.js +68 -0
- package/dist/backend/entities/grouped-item.entity.js.map +1 -0
- package/dist/backend/entities/product-attachment.entity.d.ts +23 -0
- package/dist/backend/entities/product-attachment.entity.d.ts.map +1 -0
- package/dist/backend/entities/product-attachment.entity.js +77 -0
- package/dist/backend/entities/product-attachment.entity.js.map +1 -0
- package/dist/backend/entities/product-attribute.entity.d.ts +72 -0
- package/dist/backend/entities/product-attribute.entity.d.ts.map +1 -0
- package/dist/backend/entities/product-attribute.entity.js +161 -0
- package/dist/backend/entities/product-attribute.entity.js.map +1 -0
- package/dist/backend/entities/product-editor-preference.entity.d.ts +28 -0
- package/dist/backend/entities/product-editor-preference.entity.d.ts.map +1 -0
- package/dist/backend/entities/product-editor-preference.entity.js +63 -0
- package/dist/backend/entities/product-editor-preference.entity.js.map +1 -0
- package/dist/backend/entities/product-link.entity.d.ts +25 -0
- package/dist/backend/entities/product-link.entity.d.ts.map +1 -0
- package/dist/backend/entities/product-link.entity.js +70 -0
- package/dist/backend/entities/product-link.entity.js.map +1 -0
- package/dist/backend/entities/product-packaging-unit.entity.d.ts +26 -0
- package/dist/backend/entities/product-packaging-unit.entity.d.ts.map +1 -0
- package/dist/backend/entities/product-packaging-unit.entity.js +76 -0
- package/dist/backend/entities/product-packaging-unit.entity.js.map +1 -0
- package/dist/backend/entities/product-value-override.entity.d.ts +43 -0
- package/dist/backend/entities/product-value-override.entity.d.ts.map +1 -0
- package/dist/backend/entities/product-value-override.entity.js +90 -0
- package/dist/backend/entities/product-value-override.entity.js.map +1 -0
- package/dist/backend/entities/product-variant.entity.d.ts +18 -0
- package/dist/backend/entities/product-variant.entity.d.ts.map +1 -0
- package/dist/backend/entities/product-variant.entity.js +68 -0
- package/dist/backend/entities/product-variant.entity.js.map +1 -0
- package/dist/backend/entities/product.entity.d.ts +108 -0
- package/dist/backend/entities/product.entity.d.ts.map +1 -0
- package/dist/backend/entities/product.entity.js +230 -0
- package/dist/backend/entities/product.entity.js.map +1 -0
- package/dist/backend/index.d.ts +262 -0
- package/dist/backend/index.d.ts.map +1 -0
- package/dist/backend/index.js +642 -0
- package/dist/backend/index.js.map +1 -0
- package/dist/backend/plugin.d.ts +216 -0
- package/dist/backend/plugin.d.ts.map +1 -0
- package/dist/backend/plugin.js +223 -0
- package/dist/backend/plugin.js.map +1 -0
- package/dist/backend/prompt-tools.d.ts +47 -0
- package/dist/backend/prompt-tools.d.ts.map +1 -0
- package/dist/backend/prompt-tools.js +284 -0
- package/dist/backend/prompt-tools.js.map +1 -0
- package/dist/backend/routes.admin.d.ts +105 -0
- package/dist/backend/routes.admin.d.ts.map +1 -0
- package/dist/backend/routes.admin.js +1162 -0
- package/dist/backend/routes.admin.js.map +1 -0
- package/dist/backend/routes.api-key.d.ts +33 -0
- package/dist/backend/routes.api-key.d.ts.map +1 -0
- package/dist/backend/routes.api-key.js +43 -0
- package/dist/backend/routes.api-key.js.map +1 -0
- package/dist/backend/routes.external.d.ts +32 -0
- package/dist/backend/routes.external.d.ts.map +1 -0
- package/dist/backend/routes.external.js +115 -0
- package/dist/backend/routes.external.js.map +1 -0
- package/dist/backend/routes.public.d.ts +46 -0
- package/dist/backend/routes.public.d.ts.map +1 -0
- package/dist/backend/routes.public.js +318 -0
- package/dist/backend/routes.public.js.map +1 -0
- package/dist/backend/services/asset-references.d.ts +4 -0
- package/dist/backend/services/asset-references.d.ts.map +1 -0
- package/dist/backend/services/asset-references.js +104 -0
- package/dist/backend/services/asset-references.js.map +1 -0
- package/dist/backend/services/attachment.service.d.ts +45 -0
- package/dist/backend/services/attachment.service.d.ts.map +1 -0
- package/dist/backend/services/attachment.service.js +268 -0
- package/dist/backend/services/attachment.service.js.map +1 -0
- package/dist/backend/services/attribute-option-validator.d.ts +47 -0
- package/dist/backend/services/attribute-option-validator.d.ts.map +1 -0
- package/dist/backend/services/attribute-option-validator.js +69 -0
- package/dist/backend/services/attribute-option-validator.js.map +1 -0
- package/dist/backend/services/attribute-set-validations.d.ts +65 -0
- package/dist/backend/services/attribute-set-validations.d.ts.map +1 -0
- package/dist/backend/services/attribute-set-validations.js +89 -0
- package/dist/backend/services/attribute-set-validations.js.map +1 -0
- package/dist/backend/services/attribute-set.service.d.ts +50 -0
- package/dist/backend/services/attribute-set.service.d.ts.map +1 -0
- package/dist/backend/services/attribute-set.service.js +401 -0
- package/dist/backend/services/attribute-set.service.js.map +1 -0
- package/dist/backend/services/attribute-type-mapping.d.ts +66 -0
- package/dist/backend/services/attribute-type-mapping.d.ts.map +1 -0
- package/dist/backend/services/attribute-type-mapping.js +121 -0
- package/dist/backend/services/attribute-type-mapping.js.map +1 -0
- package/dist/backend/services/attribute-value-key.service.d.ts +48 -0
- package/dist/backend/services/attribute-value-key.service.d.ts.map +1 -0
- package/dist/backend/services/attribute-value-key.service.js +118 -0
- package/dist/backend/services/attribute-value-key.service.js.map +1 -0
- package/dist/backend/services/audit-references.d.ts +13 -0
- package/dist/backend/services/audit-references.d.ts.map +1 -0
- package/dist/backend/services/audit-references.js +51 -0
- package/dist/backend/services/audit-references.js.map +1 -0
- package/dist/backend/services/bulk-operation-queue.d.ts +26 -0
- package/dist/backend/services/bulk-operation-queue.d.ts.map +1 -0
- package/dist/backend/services/bulk-operation-queue.js +34 -0
- package/dist/backend/services/bulk-operation-queue.js.map +1 -0
- package/dist/backend/services/bulk-operation.service.d.ts +195 -0
- package/dist/backend/services/bulk-operation.service.d.ts.map +1 -0
- package/dist/backend/services/bulk-operation.service.js +510 -0
- package/dist/backend/services/bulk-operation.service.js.map +1 -0
- package/dist/backend/services/bundle.service.d.ts +87 -0
- package/dist/backend/services/bundle.service.d.ts.map +1 -0
- package/dist/backend/services/bundle.service.js +286 -0
- package/dist/backend/services/bundle.service.js.map +1 -0
- package/dist/backend/services/catalog-admin.service.d.ts +398 -0
- package/dist/backend/services/catalog-admin.service.d.ts.map +1 -0
- package/dist/backend/services/catalog-admin.service.js +1516 -0
- package/dist/backend/services/catalog-admin.service.js.map +1 -0
- package/dist/backend/services/catalog-attribute-read.service.d.ts +78 -0
- package/dist/backend/services/catalog-attribute-read.service.d.ts.map +1 -0
- package/dist/backend/services/catalog-attribute-read.service.js +216 -0
- package/dist/backend/services/catalog-attribute-read.service.js.map +1 -0
- package/dist/backend/services/catalog-bulk-import.service.d.ts +30 -0
- package/dist/backend/services/catalog-bulk-import.service.d.ts.map +1 -0
- package/dist/backend/services/catalog-bulk-import.service.js +136 -0
- package/dist/backend/services/catalog-bulk-import.service.js.map +1 -0
- package/dist/backend/services/catalog-bulk-update.service.d.ts +91 -0
- package/dist/backend/services/catalog-bulk-update.service.d.ts.map +1 -0
- package/dist/backend/services/catalog-bulk-update.service.js +330 -0
- package/dist/backend/services/catalog-bulk-update.service.js.map +1 -0
- package/dist/backend/services/catalog-category-read.service.d.ts +66 -0
- package/dist/backend/services/catalog-category-read.service.d.ts.map +1 -0
- package/dist/backend/services/catalog-category-read.service.js +248 -0
- package/dist/backend/services/catalog-category-read.service.js.map +1 -0
- package/dist/backend/services/catalog-org-price-decorator.d.ts +90 -0
- package/dist/backend/services/catalog-org-price-decorator.d.ts.map +1 -0
- package/dist/backend/services/catalog-org-price-decorator.js +184 -0
- package/dist/backend/services/catalog-org-price-decorator.js.map +1 -0
- package/dist/backend/services/catalog-product-filter.service.d.ts +82 -0
- package/dist/backend/services/catalog-product-filter.service.d.ts.map +1 -0
- package/dist/backend/services/catalog-product-filter.service.js +275 -0
- package/dist/backend/services/catalog-product-filter.service.js.map +1 -0
- package/dist/backend/services/catalog-product-read.service.d.ts +46 -0
- package/dist/backend/services/catalog-product-read.service.d.ts.map +1 -0
- package/dist/backend/services/catalog-product-read.service.js +197 -0
- package/dist/backend/services/catalog-product-read.service.js.map +1 -0
- package/dist/backend/services/catalog-query.service.d.ts +444 -0
- package/dist/backend/services/catalog-query.service.d.ts.map +1 -0
- package/dist/backend/services/catalog-query.service.js +1633 -0
- package/dist/backend/services/catalog-query.service.js.map +1 -0
- package/dist/backend/services/catalog-quick-search.service.d.ts +78 -0
- package/dist/backend/services/catalog-quick-search.service.d.ts.map +1 -0
- package/dist/backend/services/catalog-quick-search.service.js +159 -0
- package/dist/backend/services/catalog-quick-search.service.js.map +1 -0
- package/dist/backend/services/catalog-write-ports.d.ts +25 -0
- package/dist/backend/services/catalog-write-ports.d.ts.map +1 -0
- package/dist/backend/services/catalog-write-ports.js +63 -0
- package/dist/backend/services/catalog-write-ports.js.map +1 -0
- package/dist/backend/services/category-admin.service.d.ts +102 -0
- package/dist/backend/services/category-admin.service.d.ts.map +1 -0
- package/dist/backend/services/category-admin.service.js +271 -0
- package/dist/backend/services/category-admin.service.js.map +1 -0
- package/dist/backend/services/gallery.service.d.ts +85 -0
- package/dist/backend/services/gallery.service.d.ts.map +1 -0
- package/dist/backend/services/gallery.service.js +326 -0
- package/dist/backend/services/gallery.service.js.map +1 -0
- package/dist/backend/services/grouped.service.d.ts +39 -0
- package/dist/backend/services/grouped.service.d.ts.map +1 -0
- package/dist/backend/services/grouped.service.js +136 -0
- package/dist/backend/services/grouped.service.js.map +1 -0
- package/dist/backend/services/label-resolver.d.ts +16 -0
- package/dist/backend/services/label-resolver.d.ts.map +1 -0
- package/dist/backend/services/label-resolver.js +43 -0
- package/dist/backend/services/label-resolver.js.map +1 -0
- package/dist/backend/services/packaging-unit.service.d.ts +28 -0
- package/dist/backend/services/packaging-unit.service.d.ts.map +1 -0
- package/dist/backend/services/packaging-unit.service.js +197 -0
- package/dist/backend/services/packaging-unit.service.js.map +1 -0
- package/dist/backend/services/primary-asset-url.d.ts +4 -0
- package/dist/backend/services/primary-asset-url.d.ts.map +1 -0
- package/dist/backend/services/primary-asset-url.js +55 -0
- package/dist/backend/services/primary-asset-url.js.map +1 -0
- package/dist/backend/services/product-editor-preferences.service.d.ts +20 -0
- package/dist/backend/services/product-editor-preferences.service.d.ts.map +1 -0
- package/dist/backend/services/product-editor-preferences.service.js +44 -0
- package/dist/backend/services/product-editor-preferences.service.js.map +1 -0
- package/dist/backend/services/product-link.service.d.ts +169 -0
- package/dist/backend/services/product-link.service.d.ts.map +1 -0
- package/dist/backend/services/product-link.service.js +297 -0
- package/dist/backend/services/product-link.service.js.map +1 -0
- package/dist/backend/services/product-overrides.service.d.ts +77 -0
- package/dist/backend/services/product-overrides.service.d.ts.map +1 -0
- package/dist/backend/services/product-overrides.service.js +204 -0
- package/dist/backend/services/product-overrides.service.js.map +1 -0
- package/dist/backend/services/product-scope-context.service.d.ts +36 -0
- package/dist/backend/services/product-scope-context.service.d.ts.map +1 -0
- package/dist/backend/services/product-scope-context.service.js +106 -0
- package/dist/backend/services/product-scope-context.service.js.map +1 -0
- package/dist/backend/services/product-type-validations.d.ts +42 -0
- package/dist/backend/services/product-type-validations.d.ts.map +1 -0
- package/dist/backend/services/product-type-validations.js +55 -0
- package/dist/backend/services/product-type-validations.js.map +1 -0
- package/dist/backend/services/product-value-resolver.service.d.ts +59 -0
- package/dist/backend/services/product-value-resolver.service.d.ts.map +1 -0
- package/dist/backend/services/product-value-resolver.service.js +111 -0
- package/dist/backend/services/product-value-resolver.service.js.map +1 -0
- package/dist/backend/services/system-attribute-scopes.d.ts +18 -0
- package/dist/backend/services/system-attribute-scopes.d.ts.map +1 -0
- package/dist/backend/services/system-attribute-scopes.js +18 -0
- package/dist/backend/services/system-attribute-scopes.js.map +1 -0
- package/dist/backend/services/viewer-organization.d.ts +25 -0
- package/dist/backend/services/viewer-organization.d.ts.map +1 -0
- package/dist/backend/services/viewer-organization.js +31 -0
- package/dist/backend/services/viewer-organization.js.map +1 -0
- package/dist/manifest.d.ts +204 -0
- package/dist/manifest.d.ts.map +1 -0
- package/dist/manifest.js +686 -0
- package/dist/manifest.js.map +1 -0
- package/dist/migrations/20260429T064146_catalog_attribute_sets_init.d.ts +33 -0
- package/dist/migrations/20260429T064146_catalog_attribute_sets_init.d.ts.map +1 -0
- package/dist/migrations/20260429T064146_catalog_attribute_sets_init.js +118 -0
- package/dist/migrations/20260429T064146_catalog_attribute_sets_init.js.map +1 -0
- package/dist/migrations/20260429T070004_catalog_product_attribute_extensions.d.ts +24 -0
- package/dist/migrations/20260429T070004_catalog_product_attribute_extensions.d.ts.map +1 -0
- package/dist/migrations/20260429T070004_catalog_product_attribute_extensions.js +31 -0
- package/dist/migrations/20260429T070004_catalog_product_attribute_extensions.js.map +1 -0
- package/dist/migrations/20260429T102322_catalog_product_type_and_virtual_fields.d.ts +32 -0
- package/dist/migrations/20260429T102322_catalog_product_type_and_virtual_fields.d.ts.map +1 -0
- package/dist/migrations/20260429T102322_catalog_product_type_and_virtual_fields.js +58 -0
- package/dist/migrations/20260429T102322_catalog_product_type_and_virtual_fields.js.map +1 -0
- package/dist/migrations/20260429T111839_catalog_gallery_items_and_labels.d.ts +22 -0
- package/dist/migrations/20260429T111839_catalog_gallery_items_and_labels.d.ts.map +1 -0
- package/dist/migrations/20260429T111839_catalog_gallery_items_and_labels.js +66 -0
- package/dist/migrations/20260429T111839_catalog_gallery_items_and_labels.js.map +1 -0
- package/dist/migrations/20260429T112543_catalog_product_attachments.d.ts +18 -0
- package/dist/migrations/20260429T112543_catalog_product_attachments.d.ts.map +1 -0
- package/dist/migrations/20260429T112543_catalog_product_attachments.js +73 -0
- package/dist/migrations/20260429T112543_catalog_product_attachments.js.map +1 -0
- package/dist/migrations/20260429T123726_catalog_product_links.d.ts +21 -0
- package/dist/migrations/20260429T123726_catalog_product_links.d.ts.map +1 -0
- package/dist/migrations/20260429T123726_catalog_product_links.js +48 -0
- package/dist/migrations/20260429T123726_catalog_product_links.js.map +1 -0
- package/dist/migrations/20260429T130803_catalog_grouped_and_bundle.d.ts +23 -0
- package/dist/migrations/20260429T130803_catalog_grouped_and_bundle.d.ts.map +1 -0
- package/dist/migrations/20260429T130803_catalog_grouped_and_bundle.js +94 -0
- package/dist/migrations/20260429T130803_catalog_grouped_and_bundle.js.map +1 -0
- package/dist/migrations/20260501T185835_catalog_product_attribute_is_comparable.d.ts +24 -0
- package/dist/migrations/20260501T185835_catalog_product_attribute_is_comparable.d.ts.map +1 -0
- package/dist/migrations/20260501T185835_catalog_product_attribute_is_comparable.js +31 -0
- package/dist/migrations/20260501T185835_catalog_product_attribute_is_comparable.js.map +1 -0
- package/dist/migrations/20260505T060113_catalog_attribute_options_and_flags.d.ts +31 -0
- package/dist/migrations/20260505T060113_catalog_attribute_options_and_flags.d.ts.map +1 -0
- package/dist/migrations/20260505T060113_catalog_attribute_options_and_flags.js +133 -0
- package/dist/migrations/20260505T060113_catalog_attribute_options_and_flags.js.map +1 -0
- package/dist/migrations/20260515T082629_catalog_attribute_mass_editable.d.ts +16 -0
- package/dist/migrations/20260515T082629_catalog_attribute_mass_editable.d.ts.map +1 -0
- package/dist/migrations/20260515T082629_catalog_attribute_mass_editable.js +23 -0
- package/dist/migrations/20260515T082629_catalog_attribute_mass_editable.js.map +1 -0
- package/dist/migrations/20260526T124736_catalog_product_status_inactive.d.ts +10 -0
- package/dist/migrations/20260526T124736_catalog_product_status_inactive.d.ts.map +1 -0
- package/dist/migrations/20260526T124736_catalog_product_status_inactive.js +22 -0
- package/dist/migrations/20260526T124736_catalog_product_status_inactive.js.map +1 -0
- package/dist/migrations/20260611T140346_catalog_product_value_overrides_init.d.ts +38 -0
- package/dist/migrations/20260611T140346_catalog_product_value_overrides_init.d.ts.map +1 -0
- package/dist/migrations/20260611T140346_catalog_product_value_overrides_init.js +98 -0
- package/dist/migrations/20260611T140346_catalog_product_value_overrides_init.js.map +1 -0
- package/dist/migrations/20260611T140400_catalog_attribute_quick_searchable.d.ts +13 -0
- package/dist/migrations/20260611T140400_catalog_attribute_quick_searchable.d.ts.map +1 -0
- package/dist/migrations/20260611T140400_catalog_attribute_quick_searchable.js +17 -0
- package/dist/migrations/20260611T140400_catalog_attribute_quick_searchable.js.map +1 -0
- package/dist/migrations/20260611T140407_catalog_bulk_operations.d.ts +16 -0
- package/dist/migrations/20260611T140407_catalog_bulk_operations.d.ts.map +1 -0
- package/dist/migrations/20260611T140407_catalog_bulk_operations.js +42 -0
- package/dist/migrations/20260611T140407_catalog_bulk_operations.js.map +1 -0
- package/dist/migrations/20260611T140408_catalog_bulk_operation_logs.d.ts +14 -0
- package/dist/migrations/20260611T140408_catalog_bulk_operation_logs.d.ts.map +1 -0
- package/dist/migrations/20260611T140408_catalog_bulk_operation_logs.js +18 -0
- package/dist/migrations/20260611T140408_catalog_bulk_operation_logs.js.map +1 -0
- package/dist/migrations/20260611T140412_catalog_product_packaging_units.d.ts +11 -0
- package/dist/migrations/20260611T140412_catalog_product_packaging_units.d.ts.map +1 -0
- package/dist/migrations/20260611T140412_catalog_product_packaging_units.js +29 -0
- package/dist/migrations/20260611T140412_catalog_product_packaging_units.js.map +1 -0
- package/dist/migrations/20260718T060659_catalog_bulk_operation_revert_state.d.ts +23 -0
- package/dist/migrations/20260718T060659_catalog_bulk_operation_revert_state.d.ts.map +1 -0
- package/dist/migrations/20260718T060659_catalog_bulk_operation_revert_state.js +35 -0
- package/dist/migrations/20260718T060659_catalog_bulk_operation_revert_state.js.map +1 -0
- package/dist/migrations/20260718T200343_catalog_category_custom_field_values.d.ts +12 -0
- package/dist/migrations/20260718T200343_catalog_category_custom_field_values.d.ts.map +1 -0
- package/dist/migrations/20260718T200343_catalog_category_custom_field_values.js +16 -0
- package/dist/migrations/20260718T200343_catalog_category_custom_field_values.js.map +1 -0
- package/dist/migrations/20260723T230401_catalog_attributes_on_custom_fields.d.ts +32 -0
- package/dist/migrations/20260723T230401_catalog_attributes_on_custom_fields.d.ts.map +1 -0
- package/dist/migrations/20260723T230401_catalog_attributes_on_custom_fields.js +286 -0
- package/dist/migrations/20260723T230401_catalog_attributes_on_custom_fields.js.map +1 -0
- package/dist/migrations/20260804T152604_catalog_widen_product_sku.d.ts +36 -0
- package/dist/migrations/20260804T152604_catalog_widen_product_sku.d.ts.map +1 -0
- package/dist/migrations/20260804T152604_catalog_widen_product_sku.js +63 -0
- package/dist/migrations/20260804T152604_catalog_widen_product_sku.js.map +1 -0
- package/dist/migrations/20260804T160244_catalog_category_activation.d.ts +18 -0
- package/dist/migrations/20260804T160244_catalog_category_activation.d.ts.map +1 -0
- package/dist/migrations/20260804T160244_catalog_category_activation.js +22 -0
- package/dist/migrations/20260804T160244_catalog_category_activation.js.map +1 -0
- package/dist/migrations/20260912T094557_catalog_sales_channel_products.d.ts +27 -0
- package/dist/migrations/20260912T094557_catalog_sales_channel_products.d.ts.map +1 -0
- package/dist/migrations/20260912T094557_catalog_sales_channel_products.js +44 -0
- package/dist/migrations/20260912T094557_catalog_sales_channel_products.js.map +1 -0
- package/dist/migrations/20260912T094623_catalog_sales_channel_categories.d.ts +27 -0
- package/dist/migrations/20260912T094623_catalog_sales_channel_categories.d.ts.map +1 -0
- package/dist/migrations/20260912T094623_catalog_sales_channel_categories.js +44 -0
- package/dist/migrations/20260912T094623_catalog_sales_channel_categories.js.map +1 -0
- package/dist/migrations/20260925T125527_catalog_inventory_columns.d.ts +36 -0
- package/dist/migrations/20260925T125527_catalog_inventory_columns.d.ts.map +1 -0
- package/dist/migrations/20260925T125527_catalog_inventory_columns.js +87 -0
- package/dist/migrations/20260925T125527_catalog_inventory_columns.js.map +1 -0
- package/dist/migrations/index.d.ts +55 -0
- package/dist/migrations/index.d.ts.map +1 -0
- package/dist/migrations/index.js +80 -0
- package/dist/migrations/index.js.map +1 -0
- package/dist/ports/index.d.ts +96 -0
- package/dist/ports/index.d.ts.map +1 -0
- package/dist/ports/index.js +2 -0
- package/dist/ports/index.js.map +1 -0
- package/docs/catalog/attachments.md +69 -0
- package/docs/catalog/attribute-sets.md +63 -0
- package/docs/catalog/attributes.md +244 -0
- package/docs/catalog/composite-products.md +115 -0
- package/docs/catalog/gallery-and-labels.md +73 -0
- package/docs/catalog/packaging-units.md +67 -0
- package/docs/catalog/per-channel-per-language-overrides.md +234 -0
- package/docs/catalog/product-links.md +79 -0
- package/docs/catalog.md +207 -0
- package/i18n/en.json +649 -0
- package/i18n/pl.json +649 -0
- package/package.json +109 -0
- package/tailwind.css +14 -0
package/i18n/en.json
ADDED
|
@@ -0,0 +1,649 @@
|
|
|
1
|
+
{
|
|
2
|
+
"actions.newProduct.label": "New product",
|
|
3
|
+
"actions.newProduct.description": "Create a new product in the catalog",
|
|
4
|
+
"productsList.title": "Products",
|
|
5
|
+
"productsList.subtitle": "{count} catalog rows · pricing & stock visible inline",
|
|
6
|
+
"productsList.action.import": "Import",
|
|
7
|
+
"productsList.action.export": "Export",
|
|
8
|
+
"productsList.action.newProduct": "New product",
|
|
9
|
+
"productsList.error.load": "Failed to load.",
|
|
10
|
+
"productsList.loading": "Loading…",
|
|
11
|
+
"productsList.tab.all": "All",
|
|
12
|
+
"productsList.tab.active": "Active",
|
|
13
|
+
"productsList.tab.draft": "Draft",
|
|
14
|
+
"productsList.tab.inactive": "Inactive",
|
|
15
|
+
"productsList.search.placeholder": "Search SKU, slug, name…",
|
|
16
|
+
"productsList.chip.type": "Type",
|
|
17
|
+
"productsList.chip.typeWithValue": "Type: {value}",
|
|
18
|
+
"productsList.chip.stock": "Stock",
|
|
19
|
+
"productsList.chip.outOfStock": "Out of stock",
|
|
20
|
+
"productsList.chip.lowStock": "Low stock",
|
|
21
|
+
"productsList.chip.category": "Category",
|
|
22
|
+
"productsList.chip.channel": "Channel",
|
|
23
|
+
"productsList.bulk.selected": "{count} selected",
|
|
24
|
+
"productsList.bulk.edit": "Bulk edit",
|
|
25
|
+
"productsList.bulk.editPrice": "Edit price",
|
|
26
|
+
"productsList.bulk.delete": "Delete",
|
|
27
|
+
"productsList.bulk.deleteConfirm": "Permanently delete {count} selected product(s) from the catalog? This cannot be undone in the admin.",
|
|
28
|
+
"productsList.bulk.deleteFailed": "Could not delete one or more products.",
|
|
29
|
+
"productsList.selection.selected": "{count} selected",
|
|
30
|
+
"productsList.selection.scopePage": "on this page",
|
|
31
|
+
"productsList.selection.scopeCollection": "in this filtered list",
|
|
32
|
+
"productsList.selection.selectAllMatching": "Select all {total} products matching your filters",
|
|
33
|
+
"productsList.selection.allPageSelected": "{pageCount} on this page selected.",
|
|
34
|
+
"productsList.selection.bulkEditLimit": "Too many products selected ({total}). Bulk edit allows at most {maxBatchSize} at once — narrow your filters or select one page only.",
|
|
35
|
+
"productsList.selection.bulkEditHardLimit": "Too many products selected ({total}). A single bulk edit accepts at most {maxBatchSize} products.",
|
|
36
|
+
"productsList.selection.resolving": "Resolving selection…",
|
|
37
|
+
"productsList.selection.resolveFailed": "Could not resolve the full selection. Try again or select fewer products.",
|
|
38
|
+
"productsList.bulkEdit.title": "Bulk edit {count} products",
|
|
39
|
+
"productsList.bulkEdit.section.status": "Status",
|
|
40
|
+
"productsList.bulkEdit.section.visibility": "Visibility",
|
|
41
|
+
"productsList.bulkEdit.section.salesChannels": "Sales channels",
|
|
42
|
+
"productsList.bulkEdit.section.categories": "Categories",
|
|
43
|
+
"productsList.bulkEdit.section.attributeSet": "Attribute Set",
|
|
44
|
+
"productsList.bulkEdit.section.attributes": "Attribute values",
|
|
45
|
+
"productsList.bulkEdit.attributeSet.none": "— No attribute set —",
|
|
46
|
+
"productsList.bulkEdit.untouched": "(leave unchanged)",
|
|
47
|
+
"productsList.bulkEdit.mode.add": "Add",
|
|
48
|
+
"productsList.bulkEdit.mode.replace": "Replace",
|
|
49
|
+
"productsList.bulkEdit.action.apply": "Apply",
|
|
50
|
+
"productsList.bulkEdit.action.cancel": "Cancel",
|
|
51
|
+
"productsList.bulkEdit.action.close": "Close",
|
|
52
|
+
"productsList.bulkEdit.queued.title": "Bulk edit queued",
|
|
53
|
+
"productsList.bulkEdit.queued.body": "{total} products are being updated in the background. You'll get a notification and an email when it finishes.",
|
|
54
|
+
"productsList.bulkEdit.queued.viewAll": "View bulk actions",
|
|
55
|
+
"productsList.bulkEdit.summary.succeeded": "Succeeded",
|
|
56
|
+
"productsList.bulkEdit.summary.skipped": "Skipped",
|
|
57
|
+
"productsList.bulkEdit.summary.failed": "Failed",
|
|
58
|
+
"productsList.bulkEdit.summary.total": "Total",
|
|
59
|
+
"productsList.bulkEdit.reason.attribute_not_in_set": "Attribute not in this product's set",
|
|
60
|
+
"productsList.bulkEdit.reason.validation_failed": "Validation failed",
|
|
61
|
+
"productsList.bulkEdit.reason.product_not_found": "Product not found",
|
|
62
|
+
"productsList.bulkEdit.reason.permission_denied": "Permission denied",
|
|
63
|
+
"productsList.bulkEdit.reason.concurrent_modification": "Concurrent modification",
|
|
64
|
+
"productsList.bulkEdit.error.attribute_not_mass_editable": "Attribute \"{attribute}\" is not flagged as mass-editable.",
|
|
65
|
+
"productsList.bulkEdit.error.bulk_too_large": "Selection too large: {total} selected, {maxBatchSize} max per batch.",
|
|
66
|
+
"productsList.bulkEdit.empty": "No fields modified — nothing to save.",
|
|
67
|
+
"bulkOperations.title": "Bulk actions",
|
|
68
|
+
"bulkOperations.subtitle": "Background bulk-edit operations — completed, running, and pending.",
|
|
69
|
+
"bulkOperations.listTitle": "Operations",
|
|
70
|
+
"bulkOperations.loading": "Loading…",
|
|
71
|
+
"bulkOperations.empty": "No bulk operations yet.",
|
|
72
|
+
"bulkOperations.error.load": "Could not load bulk operations.",
|
|
73
|
+
"bulkOperations.filter.all": "All",
|
|
74
|
+
"bulkOperations.filter.pending": "Pending",
|
|
75
|
+
"bulkOperations.filter.running": "Running",
|
|
76
|
+
"bulkOperations.filter.completed": "Completed",
|
|
77
|
+
"bulkOperations.filter.failed": "Failed",
|
|
78
|
+
"bulkOperations.status.pending": "Pending",
|
|
79
|
+
"bulkOperations.status.running": "Running",
|
|
80
|
+
"bulkOperations.status.completed": "Completed",
|
|
81
|
+
"bulkOperations.status.failed": "Failed",
|
|
82
|
+
"bulkOperations.column.created": "Created",
|
|
83
|
+
"bulkOperations.column.type": "Operation",
|
|
84
|
+
"bulkOperations.type.product_bulk_update": "Product bulk edit",
|
|
85
|
+
"bulkOperations.type.search_reindex": "Search reindex",
|
|
86
|
+
"bulkOperations.column.status": "Status",
|
|
87
|
+
"bulkOperations.column.progress": "Progress",
|
|
88
|
+
"bulkOperations.column.succeeded": "Succeeded",
|
|
89
|
+
"bulkOperations.column.skipped": "Skipped",
|
|
90
|
+
"bulkOperations.column.failed": "Failed",
|
|
91
|
+
"bulkOperations.column.fields": "Fields",
|
|
92
|
+
"bulkOperations.detail.product": "Product",
|
|
93
|
+
"bulkOperations.detail.outcome": "Outcome",
|
|
94
|
+
"bulkOperations.detail.reason": "Reason",
|
|
95
|
+
"bulkOperations.detail.title": "Bulk operation",
|
|
96
|
+
"bulkOperations.detail.back": "Back to bulk actions",
|
|
97
|
+
"bulkOperations.detail.notFound": "Bulk operation not found.",
|
|
98
|
+
"bulkOperations.detail.summary": "Summary",
|
|
99
|
+
"bulkOperations.detail.logs": "Operation log",
|
|
100
|
+
"bulkOperations.detail.noLogs": "No log entries.",
|
|
101
|
+
"bulkOperations.detail.elements": "Per-element status",
|
|
102
|
+
"bulkOperations.detail.noResults": "No per-element results recorded.",
|
|
103
|
+
"bulkOperations.detail.noElementsForFilter": "No elements match this filter.",
|
|
104
|
+
"bulkOperations.detail.changedFields": "Changed fields",
|
|
105
|
+
"bulkOperations.detail.field.id": "Operation ID",
|
|
106
|
+
"bulkOperations.detail.field.requestedBy": "Requested by",
|
|
107
|
+
"bulkOperations.detail.field.started": "Started",
|
|
108
|
+
"bulkOperations.detail.field.finished": "Finished",
|
|
109
|
+
"bulkOperations.outcome.succeeded": "Succeeded",
|
|
110
|
+
"bulkOperations.outcome.skipped": "Skipped",
|
|
111
|
+
"bulkOperations.outcome.failed": "Failed",
|
|
112
|
+
"attributes.column.massEditable": "Mass-editable",
|
|
113
|
+
"attributes.column.quickSearchable": "Quick-searchable",
|
|
114
|
+
"attributes.column.promoRule": "Promotion rules",
|
|
115
|
+
"attributes.flag.promoRule": "Usable in promotion rules (offered in the Promotion Rule criterion picker)",
|
|
116
|
+
"attributes.flag.massEditable": "Mass-editable (offered in the Products Bulk Edit dialog)",
|
|
117
|
+
"attributesList.filter.massEditable": "Mass-editable only",
|
|
118
|
+
"productsList.empty.title": "No products match these filters",
|
|
119
|
+
"productsList.empty.prefix": "Try clearing filters, or use",
|
|
120
|
+
"productsList.empty.button": "+ New product",
|
|
121
|
+
"productsList.empty.suffix": "to create one.",
|
|
122
|
+
"productsList.empty.readOnly": "Try clearing filters.",
|
|
123
|
+
"productsList.column.product": "Product",
|
|
124
|
+
"productsList.column.sku": "SKU",
|
|
125
|
+
"productsList.column.status": "Status",
|
|
126
|
+
"productsList.column.type": "Type",
|
|
127
|
+
"productsList.column.visibility": "Visibility",
|
|
128
|
+
"productsList.column.updated": "Updated",
|
|
129
|
+
"categories.page.title": "Categories",
|
|
130
|
+
"categories.page.description": "Hierarchical tree. Cycles + non-empty deletions are rejected by the backend.",
|
|
131
|
+
"categories.error.load": "Failed to load.",
|
|
132
|
+
"categories.error.create": "Create failed.",
|
|
133
|
+
"categories.error.update": "Update failed.",
|
|
134
|
+
"categories.error.delete": "Delete failed.",
|
|
135
|
+
"categories.success.create": "Category created.",
|
|
136
|
+
"categories.success.save": "Saved.",
|
|
137
|
+
"categories.success.delete": "Deleted.",
|
|
138
|
+
"categories.deleteConfirm": "Delete category \"{name}\"?",
|
|
139
|
+
"categories.loading": "Loading…",
|
|
140
|
+
"categories.empty": "No categories yet.",
|
|
141
|
+
"categories.column.category": "Category",
|
|
142
|
+
"categories.column.slug": "Slug",
|
|
143
|
+
"categories.column.sort": "Sort",
|
|
144
|
+
"categories.column.mainImage": "Main image",
|
|
145
|
+
"categories.column.status": "Status",
|
|
146
|
+
"categories.status.active": "Active",
|
|
147
|
+
"categories.status.inactive": "Inactive",
|
|
148
|
+
"categories.action.activate": "Activate",
|
|
149
|
+
"categories.action.deactivate": "Deactivate",
|
|
150
|
+
"categories.success.activated": "Category activated.",
|
|
151
|
+
"categories.success.deactivated": "Category deactivated — it is now hidden from the storefront.",
|
|
152
|
+
"categories.action.newRoot": "New root category",
|
|
153
|
+
"categories.action.newChild": "New child",
|
|
154
|
+
"categories.action.edit": "Edit",
|
|
155
|
+
"categories.action.delete": "Delete",
|
|
156
|
+
"categories.action.create": "Create",
|
|
157
|
+
"categories.action.cancel": "Cancel",
|
|
158
|
+
"categories.action.save": "Save",
|
|
159
|
+
"categories.create.under": "New category under",
|
|
160
|
+
"categories.field.slug": "Slug",
|
|
161
|
+
"categories.field.parent": "Parent",
|
|
162
|
+
"categories.field.parentRoot": "— root —",
|
|
163
|
+
"categories.field.nameEn": "Name [en-US]",
|
|
164
|
+
"categories.field.namePl": "Name [pl-PL]",
|
|
165
|
+
"categories.mainImage.none": "(none)",
|
|
166
|
+
"categories.mainImage.pick": "Pick",
|
|
167
|
+
"categories.mainImage.change": "Change",
|
|
168
|
+
"categories.mainImage.clear": "Clear main image",
|
|
169
|
+
"attributes.page.title": "Attributes",
|
|
170
|
+
"attributes.page.description": "Searchable + filterable attributes drive Meilisearch and the storefront filter panel. Hot-toggle to see results within seconds.",
|
|
171
|
+
"attributes.error.load": "Failed to load.",
|
|
172
|
+
"attributes.error.create": "Create failed.",
|
|
173
|
+
"attributes.error.update": "Update failed.",
|
|
174
|
+
"attributes.success.create": "Attribute \"{key}\" created.",
|
|
175
|
+
"attributes.success.update": "Updated {key}.",
|
|
176
|
+
"attributes.loading": "Loading…",
|
|
177
|
+
"attributes.empty": "No attributes yet.",
|
|
178
|
+
"attributes.column.key": "Key",
|
|
179
|
+
"attributes.column.label": "Label",
|
|
180
|
+
"attributes.column.type": "Type",
|
|
181
|
+
"attributes.column.enumValues": "Enum values",
|
|
182
|
+
"attributes.column.searchable": "Searchable",
|
|
183
|
+
"attributes.column.filterable": "Filterable",
|
|
184
|
+
"attributes.column.variantAxis": "Variant axis",
|
|
185
|
+
"attributes.column.comparable": "Comparable",
|
|
186
|
+
"attributes.create.title": "Create attribute",
|
|
187
|
+
"attributes.action.create": "Create attribute",
|
|
188
|
+
"attributes.action.edit": "Edit",
|
|
189
|
+
"attributes.action.save": "Save changes",
|
|
190
|
+
"attributes.action.saveEdit": "Save",
|
|
191
|
+
"attributes.action.cancel": "Cancel",
|
|
192
|
+
"attributes.column.actions": "Actions",
|
|
193
|
+
"attributes.edit.title": "Edit attribute {key}",
|
|
194
|
+
"attributes.edit.lockedHint": "Key and type cannot be changed after creation.",
|
|
195
|
+
"attributes.edit.customFieldDefinitionId": "Custom field definition ID:",
|
|
196
|
+
"attributes.batch.unsaved": "{count} unsaved flag change(s)",
|
|
197
|
+
"attributes.success.flagsSaved": "Saved {count} attribute(s).",
|
|
198
|
+
"attributes.options.title": "Options",
|
|
199
|
+
"attributes.options.value": "Value",
|
|
200
|
+
"attributes.options.labelDefault": "Label",
|
|
201
|
+
"attributes.options.valuePlaceholder": "value_code",
|
|
202
|
+
"attributes.options.add": "Add option",
|
|
203
|
+
"attributes.options.remove": "Remove",
|
|
204
|
+
"attributes.options.empty": "No options yet.",
|
|
205
|
+
"attributes.field.key": "Key (snake_case)",
|
|
206
|
+
"attributes.field.type": "Type",
|
|
207
|
+
"attributes.field.labelEn": "Label [en-US]",
|
|
208
|
+
"attributes.field.labelPl": "Label [pl-PL]",
|
|
209
|
+
"attributes.field.enumValues": "Enum values (comma-separated)",
|
|
210
|
+
"attributes.field.enumValuesPlaceholder": "red, green, blue",
|
|
211
|
+
"attributes.field.enumValues.help.multiselect": "Customers can pick multiple values for each Product.",
|
|
212
|
+
"attributes.field.enumValues.help.enum": "Customers can pick exactly one value for each Product.",
|
|
213
|
+
"attributes.flag.displayAsSlider": "Render filter as a range slider (storefront UI hint)",
|
|
214
|
+
"attributes.flag.searchable": "Searchable (indexed by Meilisearch)",
|
|
215
|
+
"attributes.flag.filterable": "Filterable (shown as a facet on the storefront)",
|
|
216
|
+
"attributes.flag.variantAxis": "Variant axis (configurable products discriminate by this attribute)",
|
|
217
|
+
"attributes.flag.comparable": "Comparable (shown as a row on the Compare page)",
|
|
218
|
+
"attributeSets.page.title": "Attribute Sets",
|
|
219
|
+
"attributeSets.page.description": "Named groups of Product Attributes. The system Default set ships with every install and cannot be deleted; custom sets can be assigned to Products via the Product editor.",
|
|
220
|
+
"attributeSets.loading": "Loading…",
|
|
221
|
+
"attributeSets.empty": "No sets yet.",
|
|
222
|
+
"attributeSets.list.title": "All sets",
|
|
223
|
+
"attributeSets.column.code": "Code",
|
|
224
|
+
"attributeSets.column.name": "Name",
|
|
225
|
+
"attributeSets.column.attributes": "Attributes",
|
|
226
|
+
"attributeSets.column.products": "Products",
|
|
227
|
+
"attributeSets.column.actions": "Actions",
|
|
228
|
+
"attributeSets.action.manage": "Manage",
|
|
229
|
+
"attributeSets.action.collapse": "Collapse",
|
|
230
|
+
"attributeSets.action.delete": "Delete",
|
|
231
|
+
"attributeSets.action.remove": "Remove",
|
|
232
|
+
"attributeSets.create.title": "Create new set",
|
|
233
|
+
"attributeSets.create.submit": "Create set",
|
|
234
|
+
"attributeSets.create.submitting": "Creating…",
|
|
235
|
+
"attributeSets.create.validationError": "Code and at least one localized name are required.",
|
|
236
|
+
"attributeSets.field.code": "Code",
|
|
237
|
+
"attributeSets.field.codeTitle": "snake_case (a-z, 0-9, _)",
|
|
238
|
+
"attributeSets.field.nameEn": "Name (en-US)",
|
|
239
|
+
"attributeSets.field.namePl": "Name (pl-PL)",
|
|
240
|
+
"attributeSets.success.create": "Created attribute set \"{name}\".",
|
|
241
|
+
"attributeSets.success.assign": "Assigned attribute to \"{code}\".",
|
|
242
|
+
"attributeSets.success.unassign": "Removed attribute from \"{code}\".",
|
|
243
|
+
"attributeSets.success.delete": "Deleted \"{code}\".",
|
|
244
|
+
"attributeSets.error.create": "Create failed.",
|
|
245
|
+
"attributeSets.error.loadDetail": "Failed to load detail.",
|
|
246
|
+
"attributeSets.error.assign": "Assign failed.",
|
|
247
|
+
"attributeSets.error.remove": "Remove failed.",
|
|
248
|
+
"attributeSets.error.delete": "Delete failed.",
|
|
249
|
+
"attributeSets.deleteConfirm": "Delete attribute set \"{code}\"? Products referencing it must be reassigned first.",
|
|
250
|
+
"attributeSets.deleteHint.system": "System set cannot be deleted",
|
|
251
|
+
"attributeSets.deleteHint.hasProducts": "Reassign products before deleting",
|
|
252
|
+
"attributeSets.assigned.title": "Assigned attributes",
|
|
253
|
+
"attributeSets.assigned.empty": "No attributes assigned yet.",
|
|
254
|
+
"attributeSets.add.title": "Add attribute",
|
|
255
|
+
"attachmentTypes.page.title": "Attachment types",
|
|
256
|
+
"attachmentTypes.page.description": "Dictionary of attachment categories (Certificate, Tech spec, …) selectable from each Product's attachments tab.",
|
|
257
|
+
"attachmentTypes.error.load": "Load failed.",
|
|
258
|
+
"attachmentTypes.error.create": "Create failed.",
|
|
259
|
+
"attachmentTypes.error.delete": "Delete failed.",
|
|
260
|
+
"attachmentTypes.success.create": "Type \"{code}\" created.",
|
|
261
|
+
"attachmentTypes.success.delete": "Type \"{code}\" deleted.",
|
|
262
|
+
"attachmentTypes.deleteInUse": "Cannot delete \"{code}\" — it's used by {count} attachment(s). Reassign them first.",
|
|
263
|
+
"attachmentTypes.deleteConfirm": "Delete attachment type \"{code}\"?",
|
|
264
|
+
"attachmentTypes.loading": "Loading…",
|
|
265
|
+
"attachmentTypes.list.title": "Existing types",
|
|
266
|
+
"attachmentTypes.column.code": "Code",
|
|
267
|
+
"attachmentTypes.column.nameEn": "Name (en-US)",
|
|
268
|
+
"attachmentTypes.column.namePl": "Name (pl-PL)",
|
|
269
|
+
"attachmentTypes.column.position": "Position",
|
|
270
|
+
"attachmentTypes.column.inUse": "In use",
|
|
271
|
+
"attachmentTypes.column.actions": "Actions",
|
|
272
|
+
"attachmentTypes.action.delete": "Delete",
|
|
273
|
+
"attachmentTypes.action.add": "+ Add type",
|
|
274
|
+
"attachmentTypes.create.title": "Create attachment type",
|
|
275
|
+
"attachmentTypes.field.code": "Code",
|
|
276
|
+
"attachmentTypes.field.nameEn": "Name (en-US)",
|
|
277
|
+
"attachmentTypes.field.namePl": "Name (pl-PL)",
|
|
278
|
+
"attachmentTypes.field.namePlPlaceholder": "(falls back to en-US if empty)",
|
|
279
|
+
"inventoryTab.loading": "Loading per-warehouse stock…",
|
|
280
|
+
"inventoryTab.error.save": "Save failed.",
|
|
281
|
+
"inventoryTab.success.save": "Saved {value} for warehouse.",
|
|
282
|
+
"inventoryTab.summary.cumulativeOnHand": "Cumulative on hand",
|
|
283
|
+
"inventoryTab.summary.activeWarehouses": "Active warehouses",
|
|
284
|
+
"inventoryTab.table.title": "Stock by warehouse",
|
|
285
|
+
"inventoryTab.column.warehouse": "Warehouse",
|
|
286
|
+
"inventoryTab.column.code": "Code",
|
|
287
|
+
"inventoryTab.column.onHand": "On hand",
|
|
288
|
+
"inventoryTab.column.newValue": "New value",
|
|
289
|
+
"inventoryTab.lowStock.title": "Low-stock threshold",
|
|
290
|
+
"inventoryTab.fulfilment.title": "Fulfilment strategy",
|
|
291
|
+
"inventoryTab.fulfilment.saved": "Fulfilment strategy saved.",
|
|
292
|
+
"inventoryTab.lowStock.help": "Cumulative on-hand at or below this value flags the product as low-stock. Leave empty to fall back to the warehouse default or the global threshold.",
|
|
293
|
+
"inventoryTab.lowStock.placeholder": "Inherit from warehouse / global",
|
|
294
|
+
"inventoryTab.lowStock.save": "Save threshold",
|
|
295
|
+
"inventoryTab.lowStock.saving": "Saving…",
|
|
296
|
+
"inventoryTab.lowStock.success": "Low-stock threshold saved.",
|
|
297
|
+
"inventoryTab.lowStock.error": "Could not save low-stock threshold.",
|
|
298
|
+
"inventoryTab.lowStock.modeCumulative": "Single threshold across all warehouses",
|
|
299
|
+
"inventoryTab.lowStock.modePerWarehouse": "Per-warehouse threshold",
|
|
300
|
+
"inventoryTab.lowStock.modeSaved": "Threshold mode saved.",
|
|
301
|
+
"inventoryTab.lowStock.perWarehouseHelp": "Each warehouse below has its own threshold. Leave a row empty to fall back to the warehouse default. The product is flagged as low-stock when ANY warehouse has on-hand at or below its threshold.",
|
|
302
|
+
"inventoryTab.lowStock.perWarehouseSaved": "Per-warehouse threshold saved.",
|
|
303
|
+
"inventoryTab.lowStock.perWarehousePlaceholder": "Warehouse default",
|
|
304
|
+
"inventoryTab.column.threshold": "Threshold",
|
|
305
|
+
"inventoryTab.stockMgmt.title": "Stock management",
|
|
306
|
+
"inventoryTab.stockMgmt.saved": "Stock-management settings saved.",
|
|
307
|
+
"inventoryTab.stockMgmt.disableManageStock": "Disable stock management",
|
|
308
|
+
"inventoryTab.stockMgmt.disableManageStockHelp": "When disabled, the product is always shown as available and customers can order any quantity — stock is never tracked or reserved for it.",
|
|
309
|
+
"inventoryTab.stockMgmt.backorder": "Allow ordering below stock (backorder)",
|
|
310
|
+
"inventoryTab.stockMgmt.backorderHelp": "Customers may order more than is on hand; stock can go negative and the allocation is flagged as a backorder.",
|
|
311
|
+
"inventoryTab.stockMgmt.backorderGloballyDisabled": "Enable “Allow ordering below stock” in the Settings module (Inventory) first.",
|
|
312
|
+
"inventoryTab.stockMgmt.backorderUnmanaged": "Not applicable while stock management is disabled — any quantity is already allowed.",
|
|
313
|
+
"productEditor.loading": "Loading…",
|
|
314
|
+
"productEditor.scopeEditor.title": "Scope: Sales Channel + Language",
|
|
315
|
+
"productEditor.scopeEditor.help": "Preview how this product resolves per (channel, language) using the platform's resolver.",
|
|
316
|
+
"productEditor.scopeEditor.overridesCount": "{count} channel-aware override(s) in place.",
|
|
317
|
+
"productEditor.scopeEditor.channelLabel": "Sales Channel",
|
|
318
|
+
"productEditor.scopeEditor.channelGlobalOption": "Global / no channel",
|
|
319
|
+
"productEditor.scopeEditor.channelDefaultBadge": "default",
|
|
320
|
+
"productEditor.scopeEditor.channelEmpty": "Product has no assigned channels — only the global baseline is editable.",
|
|
321
|
+
"productEditor.scopeEditor.languageLabel": "Language",
|
|
322
|
+
"productEditor.scopeEditor.languageEmpty": "No languages available in this context.",
|
|
323
|
+
"productEditor.scopeEditor.resolvedPreview": "Resolved preview",
|
|
324
|
+
"productEditor.scopeEditor.fieldName": "Name",
|
|
325
|
+
"productEditor.scopeEditor.fieldDescription": "Description",
|
|
326
|
+
"productEditor.scopeEditor.noValue": "— no value at any slot —",
|
|
327
|
+
"productEditor.scopeEditor.addOverride": "Add override",
|
|
328
|
+
"productEditor.scopeEditor.editOverride": "Edit override",
|
|
329
|
+
"productEditor.scopeEditor.saveOverride": "Save Override",
|
|
330
|
+
"productEditor.scopeEditor.cancelEdit": "Cancel",
|
|
331
|
+
"productEditor.scopeEditor.resetToGlobal": "Reset to Global",
|
|
332
|
+
"productEditor.scopeEditor.globalHelp": "Channel = Global — overrides only apply to a specific Sales Channel. Switch to a channel above to edit overrides. The per-language baseline still lives in the Name / Description fields below.",
|
|
333
|
+
"productEditor.scopeEditor.specificChannelHelp": "Editing the active {channelCode} override for language {languageCode}. Save Override writes a per-(channel, language) slot; Reset to Global removes it and falls back to the baseline.",
|
|
334
|
+
"productEditor.scopeEditor.applied.upserted": "{count} override(s) saved",
|
|
335
|
+
"productEditor.scopeEditor.applied.deleted": "{count} override(s) reset",
|
|
336
|
+
"productEditor.scopeEditor.applied.none": "No changes.",
|
|
337
|
+
"productEditor.scopeEditor.languageNarrowed": "Language {previous} is not available in channel {channel}; switched to {next}.",
|
|
338
|
+
"productEditor.scopeEditor.editBaseline": "Edit baseline",
|
|
339
|
+
"productEditor.scopeEditor.saveBaseline": "Save baseline",
|
|
340
|
+
"productEditor.scopeEditor.baselineSaved": "Baseline saved.",
|
|
341
|
+
"productEditor.scopeEditor.source.channelLanguage": "channel + language override",
|
|
342
|
+
"productEditor.scopeEditor.source.channel": "channel override",
|
|
343
|
+
"productEditor.scopeEditor.source.globalLanguage": "global baseline (language)",
|
|
344
|
+
"productEditor.scopeEditor.source.global": "global baseline (fallback)",
|
|
345
|
+
"productEditor.scopeEditor.source.absent": "no value",
|
|
346
|
+
"productEditor.scopeEditor.loadFailed": "Failed to load scope.",
|
|
347
|
+
"productEditor.scopeEditor.resolveFailed": "Failed to resolve.",
|
|
348
|
+
"productEditor.scopeEditor.saveFailed": "Failed to save override.",
|
|
349
|
+
"productEditor.section.identity": "Identity",
|
|
350
|
+
"productEditor.section.localizedContent": "Localized content",
|
|
351
|
+
"productEditor.section.localizedContent.help": "Edit per language. Untranslated fields fall back to the default locale.",
|
|
352
|
+
"productEditor.section.categories": "Categories",
|
|
353
|
+
"productEditor.section.categories.help": "Expand branches and tick every category this product belongs to.",
|
|
354
|
+
"productEditor.field.sku": "SKU (immutable after creation)",
|
|
355
|
+
"productEditor.field.type": "Type",
|
|
356
|
+
"productEditor.field.visibility": "Visibility",
|
|
357
|
+
"productEditor.field.attributeSet": "Attribute Set",
|
|
358
|
+
"productEditor.attributeSet.loading": "— loading —",
|
|
359
|
+
"productEditor.attributeSet.systemSuffix": " (system)",
|
|
360
|
+
"productEditor.attributes.help": "Edit the values of the attributes defined by the selected attribute set.",
|
|
361
|
+
"productEditor.attributes.loading": "Loading attributes…",
|
|
362
|
+
"productEditor.attributes.loadFailed": "Failed to load attributes.",
|
|
363
|
+
"productEditor.attributes.empty": "This attribute set has no attributes.",
|
|
364
|
+
"productEditor.attributes.noSet": "Select an attribute set in the Details tab first.",
|
|
365
|
+
"productEditor.attributes.selectNone": "— none —",
|
|
366
|
+
"productEditor.field.status": "Status",
|
|
367
|
+
"productEditor.field.status.help": "Choose draft, active, or inactive. Inactive withdraws the product from merchandising without deleting it.",
|
|
368
|
+
"productEditor.action.delete": "Delete",
|
|
369
|
+
"productEditor.deleteConfirm": "Permanently delete this product from the catalog? This cannot be undone in the admin.",
|
|
370
|
+
"productEditor.field.defaultPrice": "Default unit price",
|
|
371
|
+
"productEditor.field.defaultPrice.help": "Price-list overrides take precedence at checkout.",
|
|
372
|
+
"productEditor.field.localizedName": "Name [{locale}]",
|
|
373
|
+
"productEditor.field.localizedDescription": "Description [{locale}]",
|
|
374
|
+
"productEditor.seo.title": "Per-locale SEO",
|
|
375
|
+
"productEditor.seo.description": "Per-page meta overrides live in the SEO module — this panel will surface them here in a future iteration.",
|
|
376
|
+
"productEditor.seo.pageTitlePreview": "Page title (preview)",
|
|
377
|
+
"productEditor.variants.title": "Variants",
|
|
378
|
+
"productEditor.variants.empty": "No variants yet. A configurable Product MUST have at least one Variant before it can be activated.",
|
|
379
|
+
"productEditor.variants.error.load": "Load failed.",
|
|
380
|
+
"productEditor.variants.error.create": "Create failed.",
|
|
381
|
+
"productEditor.variants.error.delete": "Delete failed.",
|
|
382
|
+
"productEditor.variants.success.create": "Variant \"{sku}\" created.",
|
|
383
|
+
"productEditor.variants.success.delete": "Variant \"{sku}\" deleted.",
|
|
384
|
+
"productEditor.variants.deleteConfirm": "Delete variant \"{sku}\"?",
|
|
385
|
+
"productEditor.variants.column.sku": "SKU",
|
|
386
|
+
"productEditor.variants.column.attributes": "Attributes",
|
|
387
|
+
"productEditor.variants.column.priceOverride": "Price override",
|
|
388
|
+
"productEditor.variants.column.stock": "Stock",
|
|
389
|
+
"productEditor.variants.column.actions": "Actions",
|
|
390
|
+
"productEditor.variants.action.delete": "Delete",
|
|
391
|
+
"productEditor.variants.action.add": "+ Add variant",
|
|
392
|
+
"productEditor.variants.createTitle": "Create variant",
|
|
393
|
+
"productEditor.variants.field.sku": "SKU",
|
|
394
|
+
"productEditor.variants.field.attributes": "Attributes",
|
|
395
|
+
"productEditor.variants.field.attributesPlaceholder": "color=red, size=M",
|
|
396
|
+
"productEditor.variants.field.priceOverride": "Price override",
|
|
397
|
+
"productEditor.variants.field.stock": "Stock",
|
|
398
|
+
"productEditor.gallery.title": "Gallery",
|
|
399
|
+
"productEditor.gallery.productImages.title": "Product images",
|
|
400
|
+
"productEditor.gallery.productImages.hint": "Images assigned to this product that appear on the storefront. Add label-aware gallery items below to override how they are shown.",
|
|
401
|
+
"productEditor.gallery.empty": "No gallery items yet. Pick an asset from the Library or upload a new one below.",
|
|
402
|
+
"productEditor.gallery.error.load": "Load failed.",
|
|
403
|
+
"productEditor.gallery.error.add": "Add failed.",
|
|
404
|
+
"productEditor.gallery.error.update": "Update failed.",
|
|
405
|
+
"productEditor.gallery.error.delete": "Delete failed.",
|
|
406
|
+
"productEditor.gallery.success.add": "Gallery item added.",
|
|
407
|
+
"productEditor.gallery.success.update": "Labels updated.",
|
|
408
|
+
"productEditor.gallery.success.remove": "Gallery item removed.",
|
|
409
|
+
"productEditor.gallery.removeConfirm": "Remove this gallery item?",
|
|
410
|
+
"productEditor.gallery.column.preview": "Preview",
|
|
411
|
+
"productEditor.gallery.column.labels": "Labels",
|
|
412
|
+
"productEditor.gallery.column.position": "Position",
|
|
413
|
+
"productEditor.gallery.column.assetId": "Asset id",
|
|
414
|
+
"productEditor.gallery.column.actions": "Actions",
|
|
415
|
+
"productEditor.gallery.replaceConflicts": "Replace conflicts",
|
|
416
|
+
"productEditor.gallery.action.save": "Save",
|
|
417
|
+
"productEditor.gallery.action.remove": "Remove",
|
|
418
|
+
"productEditor.gallery.action.pickOrUpload": "Pick / Upload",
|
|
419
|
+
"productEditor.gallery.action.add": "+ Add to gallery",
|
|
420
|
+
"productEditor.gallery.addTitle": "Add gallery item",
|
|
421
|
+
"productEditor.gallery.field.asset": "Asset",
|
|
422
|
+
"productEditor.gallery.field.noAsset": "No asset selected",
|
|
423
|
+
"productEditor.gallery.label.base_image": "Base image",
|
|
424
|
+
"productEditor.gallery.label.small_image": "Small image",
|
|
425
|
+
"productEditor.gallery.label.thumbnail": "Thumbnail",
|
|
426
|
+
"productEditor.gallery.dragHint": "Drag rows (or use the arrows) to set the gallery image order. Changes are saved with the product's Save button.",
|
|
427
|
+
"productEditor.gallery.preview.title": "Image preview",
|
|
428
|
+
"productEditor.gallery.preview.open": "Open full-size preview",
|
|
429
|
+
"productEditor.gallery.preview.close": "Close",
|
|
430
|
+
"productEditor.attachments.title": "Attachments",
|
|
431
|
+
"productEditor.attachments.empty": "No attachments yet. Pick a PDF / certificate / other asset from the Library or upload one below.",
|
|
432
|
+
"productEditor.attachments.error.load": "Load failed.",
|
|
433
|
+
"productEditor.attachments.error.add": "Add failed.",
|
|
434
|
+
"productEditor.attachments.error.delete": "Delete failed.",
|
|
435
|
+
"productEditor.attachments.success.add": "Attachment added.",
|
|
436
|
+
"productEditor.attachments.success.delete": "Attachment \"{name}\" deleted.",
|
|
437
|
+
"productEditor.attachments.deleteConfirm": "Delete attachment \"{name}\"?",
|
|
438
|
+
"productEditor.attachments.column.type": "Type",
|
|
439
|
+
"productEditor.attachments.column.name": "Name",
|
|
440
|
+
"productEditor.attachments.column.description": "Description",
|
|
441
|
+
"productEditor.attachments.column.file": "File",
|
|
442
|
+
"productEditor.attachments.column.actions": "Actions",
|
|
443
|
+
"productEditor.attachments.action.delete": "Delete",
|
|
444
|
+
"productEditor.attachments.action.pickOrUpload": "Pick / Upload",
|
|
445
|
+
"productEditor.attachments.action.add": "+ Add attachment",
|
|
446
|
+
"productEditor.attachments.addTitle": "Add attachment",
|
|
447
|
+
"productEditor.attachments.field.asset": "Asset",
|
|
448
|
+
"productEditor.attachments.field.noAsset": "No asset selected",
|
|
449
|
+
"productEditor.attachments.field.type": "Type",
|
|
450
|
+
"productEditor.attachments.field.name": "Name",
|
|
451
|
+
"productEditor.attachments.field.namePlaceholder": "CE Marking 2024",
|
|
452
|
+
"productEditor.attachments.field.description": "Description",
|
|
453
|
+
"productEditor.attachments.field.descriptionPlaceholder": "(optional)",
|
|
454
|
+
"productEditor.links.title": "Product links",
|
|
455
|
+
"productEditor.links.empty": "No links yet.",
|
|
456
|
+
"productEditor.links.error.load": "Load failed.",
|
|
457
|
+
"productEditor.links.error.add": "Add failed.",
|
|
458
|
+
"productEditor.links.error.delete": "Delete failed.",
|
|
459
|
+
"productEditor.links.success.add": "Link added ({kind}).",
|
|
460
|
+
"productEditor.links.success.remove": "Link removed.",
|
|
461
|
+
"productEditor.links.removeConfirm": "Remove this link?",
|
|
462
|
+
"productEditor.links.kind.related": "Related",
|
|
463
|
+
"productEditor.links.kind.up_sell": "Up-sell",
|
|
464
|
+
"productEditor.links.kind.cross_sell": "Cross-sell",
|
|
465
|
+
"productEditor.links.column.target": "Target product",
|
|
466
|
+
"productEditor.links.column.sku": "SKU",
|
|
467
|
+
"productEditor.links.column.position": "Position",
|
|
468
|
+
"productEditor.links.column.actions": "Actions",
|
|
469
|
+
"productEditor.links.badge.missing": "missing",
|
|
470
|
+
"productEditor.links.badge.inactive": "inactive",
|
|
471
|
+
"productEditor.links.action.remove": "Remove",
|
|
472
|
+
"productEditor.links.action.add": "+ Add link",
|
|
473
|
+
"productEditor.links.addTitle": "Add product link",
|
|
474
|
+
"productEditor.links.field.targetPlaceholder": "Search by name, SKU, or slug…",
|
|
475
|
+
"productEditor.links.field.kind": "Kind",
|
|
476
|
+
"productEditor.grouped.title": "Grouped children",
|
|
477
|
+
"productEditor.grouped.empty": "No children yet. Add one by pasting a non-composite product id.",
|
|
478
|
+
"productEditor.grouped.error.load": "Load failed.",
|
|
479
|
+
"productEditor.grouped.error.add": "Add failed.",
|
|
480
|
+
"productEditor.grouped.error.delete": "Delete failed.",
|
|
481
|
+
"productEditor.grouped.error.invalidQuantity": "Quantity must be a positive integer.",
|
|
482
|
+
"productEditor.grouped.success.add": "Child added.",
|
|
483
|
+
"productEditor.grouped.success.remove": "Child removed.",
|
|
484
|
+
"productEditor.grouped.removeConfirm": "Remove this child from the group?",
|
|
485
|
+
"productEditor.grouped.column.child": "Child product id",
|
|
486
|
+
"productEditor.grouped.column.quantity": "Quantity",
|
|
487
|
+
"productEditor.grouped.column.position": "Position",
|
|
488
|
+
"productEditor.grouped.column.actions": "Actions",
|
|
489
|
+
"productEditor.grouped.action.remove": "Remove",
|
|
490
|
+
"productEditor.grouped.action.add": "+ Add child",
|
|
491
|
+
"productEditor.grouped.addTitle": "Add grouped child",
|
|
492
|
+
"productEditor.grouped.field.childPlaceholder": "UUID of a non-grouped, non-bundle product",
|
|
493
|
+
"productEditor.bundle.title": "Bundle slots",
|
|
494
|
+
"productEditor.bundle.empty": "No slots yet. Each slot lets buyers choose between option products.",
|
|
495
|
+
"productEditor.bundle.optionsEmpty": "No options yet.",
|
|
496
|
+
"productEditor.bundle.error.load": "Load failed.",
|
|
497
|
+
"productEditor.bundle.error.invalidMax": "Max quantity must be a positive integer.",
|
|
498
|
+
"productEditor.bundle.error.addSlot": "Add slot failed.",
|
|
499
|
+
"productEditor.bundle.error.addOption": "Add option failed.",
|
|
500
|
+
"productEditor.bundle.error.deleteSlot": "Delete failed.",
|
|
501
|
+
"productEditor.bundle.error.deleteOption": "Delete failed.",
|
|
502
|
+
"productEditor.bundle.success.addSlot": "Slot \"{name}\" added.",
|
|
503
|
+
"productEditor.bundle.success.removeSlot": "Slot removed.",
|
|
504
|
+
"productEditor.bundle.success.addOption": "Option added.",
|
|
505
|
+
"productEditor.bundle.success.removeOption": "Option removed.",
|
|
506
|
+
"productEditor.bundle.removeSlotConfirm": "Remove this slot (and its options)?",
|
|
507
|
+
"productEditor.bundle.removeOptionConfirm": "Remove this option?",
|
|
508
|
+
"productEditor.bundle.slotMeta": "(min {min} / max {max}, position {position})",
|
|
509
|
+
"productEditor.bundle.column.optionProductId": "Option product id",
|
|
510
|
+
"productEditor.bundle.column.defaultQuantity": "Default quantity",
|
|
511
|
+
"productEditor.bundle.column.position": "Position",
|
|
512
|
+
"productEditor.bundle.column.actions": "Actions",
|
|
513
|
+
"productEditor.bundle.action.deleteSlot": "Delete slot",
|
|
514
|
+
"productEditor.bundle.action.removeOption": "Remove",
|
|
515
|
+
"productEditor.bundle.action.addOption": "+ Add option",
|
|
516
|
+
"productEditor.bundle.action.add": "+ Add slot",
|
|
517
|
+
"productEditor.bundle.addTitle": "Add bundle slot",
|
|
518
|
+
"productEditor.bundle.field.slotName": "Slot name (en-US)",
|
|
519
|
+
"productEditor.bundle.field.slotNamePlaceholder": "Color",
|
|
520
|
+
"productEditor.bundle.field.min": "Min",
|
|
521
|
+
"productEditor.bundle.field.max": "Max",
|
|
522
|
+
"productEditor.bundle.field.optionPlaceholder": "UUID of a non-composite product",
|
|
523
|
+
"errors.FILTER_NOT_ALLOWED": "Filter Not Allowed.",
|
|
524
|
+
"errors.PRICE_ORDERING_UNAVAILABLE": "This page does not display prices, so it cannot be sorted or filtered by price.",
|
|
525
|
+
"errors.PRICE_RANGE_INVALID": "The minimum price must not exceed the maximum price.",
|
|
526
|
+
"errors.PRODUCT_NOT_FOUND": "Product Not Found.",
|
|
527
|
+
"errors.PRODUCT_ARCHIVED": "Product is inactive.",
|
|
528
|
+
"errors.PRODUCT_DELETE_BLOCKED": "This product cannot be deleted because it is still referenced.",
|
|
529
|
+
"errors.SKU_ALREADY_EXISTS": "Sku Already Exists.",
|
|
530
|
+
"errors.VARIANT_COMBINATION_EXISTS": "Variant Combination Exists.",
|
|
531
|
+
"errors.VARIANT_AXIS_MISSING": "Variant Axis Missing.",
|
|
532
|
+
"errors.ATTRIBUTE_VALUE_REJECTED": "Attribute Value Rejected.",
|
|
533
|
+
"errors.FIELD_IMMUTABLE": "Field Immutable.",
|
|
534
|
+
"errors.ATTRIBUTE_SET_CODE_TAKEN": "Attribute Set Code Taken.",
|
|
535
|
+
"errors.ATTRIBUTE_SET_IN_USE": "Attribute Set In Use.",
|
|
536
|
+
"errors.ATTRIBUTE_SET_NOT_FOUND": "Attribute Set Not Found.",
|
|
537
|
+
"errors.ATTRIBUTE_NOT_FOUND": "Attribute Not Found.",
|
|
538
|
+
"errors.GALLERY_LABEL_ALREADY_TAKEN": "Gallery Label Already Taken.",
|
|
539
|
+
"errors.GALLERY_LABEL_LIMIT_EXCEEDED": "Gallery Label Limit Exceeded.",
|
|
540
|
+
"errors.ASSET_KIND_NOT_SUPPORTED": "Asset Kind Not Supported.",
|
|
541
|
+
"errors.ATTACHMENT_TYPE_IN_USE": "Attachment Type In Use.",
|
|
542
|
+
"errors.ATTACHMENT_TYPE_CODE_TAKEN": "Attachment Type Code Taken.",
|
|
543
|
+
"errors.ATTACHMENT_TYPE_NOT_FOUND": "Attachment Type Not Found.",
|
|
544
|
+
"errors.ATTACHMENT_NOT_FOUND": "Attachment Not Found.",
|
|
545
|
+
"errors.GALLERY_ITEM_NOT_FOUND": "Gallery Item Not Found.",
|
|
546
|
+
"errors.SELF_LINK_NOT_ALLOWED": "Self Link Not Allowed.",
|
|
547
|
+
"errors.LINK_ALREADY_EXISTS": "Link Already Exists.",
|
|
548
|
+
"errors.TARGET_PRODUCT_NOT_FOUND": "Target Product Not Found.",
|
|
549
|
+
"errors.PRODUCT_LINK_NOT_FOUND": "Product Link Not Found.",
|
|
550
|
+
"errors.PRODUCT_TYPE_MISMATCH": "Product Type Mismatch.",
|
|
551
|
+
"errors.NESTED_COMPOSITE_NOT_ALLOWED": "Nested Composite Not Allowed.",
|
|
552
|
+
"errors.INVALID_QUANTITY_RANGE": "Invalid Quantity Range.",
|
|
553
|
+
"errors.OPTION_ALREADY_EXISTS": "Option Already Exists.",
|
|
554
|
+
"errors.GROUPED_ITEM_NOT_FOUND": "Grouped Item Not Found.",
|
|
555
|
+
"errors.BUNDLE_SLOT_NOT_FOUND": "Bundle Slot Not Found.",
|
|
556
|
+
"errors.BUNDLE_SLOT_OPTION_NOT_FOUND": "Bundle Slot Option Not Found.",
|
|
557
|
+
"errors.MIN_NOT_MET": "Min Not Met.",
|
|
558
|
+
"errors.MAX_EXCEEDED": "Max Exceeded.",
|
|
559
|
+
"errors.UNKNOWN_OPTION": "Unknown Option.",
|
|
560
|
+
"errors.PRODUCT_IN_STOCK": "Product In Stock.",
|
|
561
|
+
"errors.PRODUCT_NOT_IN_COMPARISON": "Product Not In Comparison.",
|
|
562
|
+
"errors.PRODUCT_UNMANAGED_STOCK": "Product Unmanaged Stock.",
|
|
563
|
+
"errors.SYSTEM_ATTRIBUTE_SET_IMMUTABLE": "This attribute set is part of the platform's own configuration. Its code is a stable integration key and cannot be changed, and the set itself cannot be deleted. Create your own attribute set and move the products onto it if you need a different one.",
|
|
564
|
+
"auditLog.product.update": "Product updated",
|
|
565
|
+
"auditLog.attribute_set.create": "Attribute set created",
|
|
566
|
+
"auditLog.attribute_set.update": "Attribute set updated",
|
|
567
|
+
"auditLog.attribute_set.delete": "Attribute set deleted",
|
|
568
|
+
"auditLog.attribute_set.assign_attributes": "Attributes assigned to set",
|
|
569
|
+
"auditLog.attribute_set.unassign_attribute": "Attribute removed from set",
|
|
570
|
+
"auditLog.gallery.create": "Gallery item created",
|
|
571
|
+
"auditLog.gallery.update": "Gallery item updated",
|
|
572
|
+
"auditLog.gallery.delete": "Gallery item deleted",
|
|
573
|
+
"auditLog.gallery.reorder": "Gallery reordered",
|
|
574
|
+
"auditLog.attachment_type.create": "Attachment type created",
|
|
575
|
+
"auditLog.attachment_type.update": "Attachment type updated",
|
|
576
|
+
"auditLog.attachment_type.delete": "Attachment type deleted",
|
|
577
|
+
"auditLog.attachment.create": "Attachment created",
|
|
578
|
+
"auditLog.attachment.update": "Attachment updated",
|
|
579
|
+
"auditLog.attachment.delete": "Attachment deleted",
|
|
580
|
+
"auditLog.product_link.create": "Product link created",
|
|
581
|
+
"auditLog.product_link.delete": "Product link deleted",
|
|
582
|
+
"auditLog.product_link.reorder": "Product links reordered",
|
|
583
|
+
"auditLog.grouped_item.create": "Grouped item created",
|
|
584
|
+
"auditLog.grouped_item.update": "Grouped item updated",
|
|
585
|
+
"auditLog.grouped_item.delete": "Grouped item deleted",
|
|
586
|
+
"auditLog.bundle_slot.create": "Bundle slot created",
|
|
587
|
+
"auditLog.bundle_slot.update": "Bundle slot updated",
|
|
588
|
+
"auditLog.bundle_slot.delete": "Bundle slot deleted",
|
|
589
|
+
"auditLog.bundle_slot_option.create": "Bundle slot option created",
|
|
590
|
+
"auditLog.bundle_slot_option.delete": "Bundle slot option deleted",
|
|
591
|
+
"packagingUnits.title": "Packaging units",
|
|
592
|
+
"packagingUnits.help": "Define units buyers can order by (e.g. a pallet of 480 pieces). Ordering a unit adds that many pieces to the cart, labelled with the unit name.",
|
|
593
|
+
"packagingUnits.loading": "Loading packaging units…",
|
|
594
|
+
"packagingUnits.empty": "No packaging units yet.",
|
|
595
|
+
"packagingUnits.newName": "Unit name (e.g. Paleta)",
|
|
596
|
+
"packagingUnits.newQuantity": "Pieces",
|
|
597
|
+
"packagingUnits.col.name": "Name",
|
|
598
|
+
"packagingUnits.col.baseQuantity": "Pieces per unit",
|
|
599
|
+
"packagingUnits.col.default": "Default",
|
|
600
|
+
"packagingUnits.col.order": "Order",
|
|
601
|
+
"packagingUnits.action.add": "Add",
|
|
602
|
+
"packagingUnits.action.remove": "Remove",
|
|
603
|
+
"packagingUnits.action.moveUp": "Move up",
|
|
604
|
+
"packagingUnits.action.moveDown": "Move down",
|
|
605
|
+
"packagingUnits.error.load": "Failed to load packaging units.",
|
|
606
|
+
"packagingUnits.error.save": "Save failed.",
|
|
607
|
+
"packagingUnits.error.invalid": "Enter a name and a whole number of pieces (at least 1).",
|
|
608
|
+
"bulkOperations.undo.action": "Undo",
|
|
609
|
+
"bulkOperations.undo.running": "Undoing…",
|
|
610
|
+
"bulkOperations.undo.confirm": "Undo this bulk edit and restore {count} product(s) to their previous values?",
|
|
611
|
+
"bulkOperations.undo.result": "Undo complete: {reverted} restored, {conflicts} could not be reverted (changed since the edit).",
|
|
612
|
+
"bulkOperations.undo.error": "The undo could not be completed.",
|
|
613
|
+
"bulkOperations.undo.alreadyReverted": "This bulk edit has already been undone.",
|
|
614
|
+
"activity.verb.product.archive": "archived product",
|
|
615
|
+
"activity.verb.product.bulk_update": "bulk-updated products",
|
|
616
|
+
"activity.verb.product.create": "created product",
|
|
617
|
+
"activity.verb.product.unarchive": "unarchived product",
|
|
618
|
+
"activity.verb.product.update": "updated product",
|
|
619
|
+
"nav.products.label": "Products",
|
|
620
|
+
"nav.categories.label": "Categories",
|
|
621
|
+
"nav.attributes.label": "Attributes",
|
|
622
|
+
"nav.attributeSets.label": "Attribute sets",
|
|
623
|
+
"nav.attachmentTypes.label": "Attachment types",
|
|
624
|
+
"nav.bulkOperations.label": "Bulk actions",
|
|
625
|
+
"actions.openProducts.label": "Products",
|
|
626
|
+
"actions.openProducts.description": "Catalog rows",
|
|
627
|
+
"actions.openCategories.label": "Categories",
|
|
628
|
+
"actions.openCategories.description": "Tree of catalog categories",
|
|
629
|
+
"actions.openAttributes.label": "Attributes",
|
|
630
|
+
"actions.openAttributes.description": "Attribute definitions",
|
|
631
|
+
"blocks.productCard.label": "Product card",
|
|
632
|
+
"blocks.productCard.description": "A single product, rendered as a card.",
|
|
633
|
+
"blocks.productGrid.label": "Product grid",
|
|
634
|
+
"blocks.productGrid.description": "A grid of products from a manual or dynamic source.",
|
|
635
|
+
"blocks.productSlider.label": "Product slider",
|
|
636
|
+
"blocks.productSlider.description": "A horizontally scrolling row of products.",
|
|
637
|
+
"blocks.categoryList.label": "Category list",
|
|
638
|
+
"blocks.categoryList.description": "A list of catalog categories.",
|
|
639
|
+
"blocks.categoryGrid.label": "Category grid",
|
|
640
|
+
"blocks.categoryGrid.description": "A grid of catalog categories.",
|
|
641
|
+
"blocks.emailProductCard.label": "Product card",
|
|
642
|
+
"blocks.emailProductCard.description": "A single product, rendered for e-mail.",
|
|
643
|
+
"blocks.emailProductGrid.label": "Product grid",
|
|
644
|
+
"blocks.emailProductGrid.description": "A grid of products, rendered for e-mail.",
|
|
645
|
+
"blocks.emailCategoryGrid.label": "Category grid",
|
|
646
|
+
"blocks.emailCategoryGrid.description": "A grid of catalog categories, rendered for e-mail.",
|
|
647
|
+
"blocks.category.catalog": "Catalog",
|
|
648
|
+
"blocks.category.content": "Content"
|
|
649
|
+
}
|