Some checks failed
Storefront homepage & module gating:
- CMS owns storefront GET / (slug="home" with 3-tier resolution)
- Catalog loses GET / (keeps /products only)
- Store root redirect (GET / → /store/dashboard or /store/login)
- Route gating: non-core modules return 404 when disabled for platform
- Seed store default homepages per platform
Widget protocol for customer dashboard:
- StorefrontDashboardCard contract in widgets.py
- Widget aggregator get_storefront_dashboard_cards()
- Orders and Loyalty module widget providers
- Dashboard template renders contributed cards (no module names)
Landing template module-agnostic:
- CTAs driven by storefront_nav (not hardcoded module names)
- Header actions check nav item IDs (not enabled_modules)
- Remove hardcoded "Add Product" sidebar button
- Remove all enabled_modules checks from storefront templates
i18n fixes:
- Title placeholder resolution ({{store_name}}) for store default pages
- Storefront nav label_keys prefixed with module code
- Add storefront.account.* keys to 6 modules (en/fr/de/lb)
- Header/footer CMS pages use get_translated_title(current_language)
- Footer labels use i18n keys instead of hardcoded English
Icon cleanup:
- Standardize on map-pin (remove location-marker alias)
- Replace all location-marker references across templates and docs
Docs:
- Storefront builder vision proposal (6 phases)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
120 lines
4.9 KiB
JSON
120 lines
4.9 KiB
JSON
{
|
|
"products": {
|
|
"title": "Products",
|
|
"product": "Product",
|
|
"add_product": "Add Product",
|
|
"edit_product": "Edit Product",
|
|
"delete_product": "Delete Product",
|
|
"product_name": "Product Name",
|
|
"product_code": "Product Code",
|
|
"sku": "SKU",
|
|
"price": "Price",
|
|
"sale_price": "Sale Price",
|
|
"cost": "Cost",
|
|
"stock": "Stock",
|
|
"in_stock": "In Stock",
|
|
"out_of_stock": "Out of Stock",
|
|
"low_stock": "Low Stock",
|
|
"availability": "Availability",
|
|
"available": "Available",
|
|
"unavailable": "Unavailable",
|
|
"brand": "Brand",
|
|
"category": "Category",
|
|
"categories": "Categories",
|
|
"image": "Image",
|
|
"images": "Images",
|
|
"main_image": "Main Image",
|
|
"gallery": "Gallery",
|
|
"weight": "Weight",
|
|
"dimensions": "Dimensions",
|
|
"color": "Color",
|
|
"size": "Size",
|
|
"material": "Material",
|
|
"condition": "Condition",
|
|
"new": "New",
|
|
"used": "Used",
|
|
"refurbished": "Refurbished",
|
|
"no_products": "No products found",
|
|
"search_products": "Search products...",
|
|
"filter_by_category": "Filter by category",
|
|
"filter_by_status": "Filter by status",
|
|
"sort_by": "Sort by",
|
|
"sort_newest": "Newest",
|
|
"sort_oldest": "Oldest",
|
|
"sort_price_low": "Price: Low to High",
|
|
"sort_price_high": "Price: High to Low",
|
|
"sort_name_az": "Name: A-Z",
|
|
"sort_name_za": "Name: Z-A"
|
|
},
|
|
"permissions": {
|
|
"products_view": "View Products",
|
|
"products_view_desc": "View the product catalog",
|
|
"products_create": "Create Products",
|
|
"products_create_desc": "Add new products to the catalog",
|
|
"products_edit": "Edit Products",
|
|
"products_edit_desc": "Modify existing product details",
|
|
"products_delete": "Delete Products",
|
|
"products_delete_desc": "Remove products from the catalog",
|
|
"products_import": "Import Products",
|
|
"products_import_desc": "Bulk import products from files",
|
|
"products_export": "Export Products",
|
|
"products_export_desc": "Export product data to files"
|
|
},
|
|
"messages": {
|
|
"product_deleted_successfully": "Product deleted successfully",
|
|
"product_created_successfully": "Product created successfully",
|
|
"product_updated_successfully": "Product updated successfully",
|
|
"product_activated": "Product activated",
|
|
"product_deactivated": "Product deactivated",
|
|
"product_marked_as_featured": "Product marked as featured",
|
|
"product_unmarked_as_featured": "Product unmarked as featured",
|
|
"products_activated": "{count} product(s) activated",
|
|
"products_deactivated": "{count} product(s) deactivated",
|
|
"products_marked_as_featured": "{count} product(s) marked as featured",
|
|
"products_unmarked_as_featured": "{count} product(s) unmarked as featured",
|
|
"products_deleted": "{count} product(s) deleted",
|
|
"failed_to_save_product": "Failed to save product",
|
|
"failed_to_create_product": "Failed to create product",
|
|
"failed_to_update_product": "Failed to update product",
|
|
"failed_to_delete_product": "Failed to delete product",
|
|
"failed_to_load_products": "Failed to load products",
|
|
"failed_to_activate_products": "Failed to activate products",
|
|
"failed_to_deactivate_products": "Failed to deactivate products",
|
|
"failed_to_upload_image": "Failed to upload image",
|
|
"product_removed_from_store_catalog": "Product removed from store catalog.",
|
|
"please_fill_in_all_required_fields": "Please fill in all required fields",
|
|
"failed_to_load_media_library": "Failed to load media library",
|
|
"no_store_associated_with_this_product": "No store associated with this product",
|
|
"please_select_an_image_file": "Please select an image file",
|
|
"image_must_be_less_than_10mb": "Image must be less than 10MB",
|
|
"image_uploaded_successfully": "Image uploaded successfully",
|
|
"please_select_a_store": "Please select a store",
|
|
"please_enter_a_product_title_english": "Please enter a product title (English)",
|
|
"please_select_a_store_first": "Please select a store first",
|
|
"title_and_price_required": "Title and price are required"
|
|
},
|
|
"features": {
|
|
"products_limit": {
|
|
"name": "Products",
|
|
"description": "Maximum number of products in catalog",
|
|
"unit": "products"
|
|
},
|
|
"product_import_export": {
|
|
"name": "Import/Export",
|
|
"description": "Bulk product import and export functionality"
|
|
}
|
|
},
|
|
"menu": {
|
|
"products_inventory": "Products & Inventory",
|
|
"all_products": "All Products"
|
|
},
|
|
"storefront": {
|
|
"nav": {
|
|
"products": "Products"
|
|
},
|
|
"actions": {
|
|
"search": "Search"
|
|
}
|
|
}
|
|
}
|