@nextblock-cms/db 0.11.3 → 0.12.1

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.
Files changed (62) hide show
  1. package/lib/supabase/server.d.ts +9 -0
  2. package/lib/supabase/types.d.ts +9 -0
  3. package/package.json +1 -1
  4. package/supabase/migrations/00000000000000_baseline_schema.sql +2454 -0
  5. package/supabase/migrations/00000000000001_baseline_constraints_and_indexes.sql +1071 -0
  6. package/supabase/migrations/00000000000002_baseline_security_and_grants.sql +1335 -0
  7. package/supabase/migrations/00000000000003_baseline_seed.sql +468 -0
  8. package/supabase/migrations/00000000000004_default_logo_email_safe.sql +24 -0
  9. package/supabase/migrations/00000000000005_add_custom_canonical.sql +13 -0
  10. package/supabase/migrations/00000000000006_home_live_demo_promo.sql +67 -0
  11. package/supabase/migrations/00000000000007_home_live_demo_promo_copy_fix.sql +49 -0
  12. package/supabase/templates/confirmation.html +1 -1
  13. package/supabase/templates/email_change.html +1 -1
  14. package/supabase/templates/invite.html +1 -1
  15. package/supabase/templates/magic_link.html +1 -1
  16. package/supabase/templates/reauthentication.html +1 -1
  17. package/supabase/templates/recovery.html +1 -1
  18. package/supabase/migrations/00000000000000_setup_foundation_and_enums.sql +0 -40
  19. package/supabase/migrations/00000000000001_setup_cms_core.sql +0 -124
  20. package/supabase/migrations/00000000000002_setup_content_tables.sql +0 -138
  21. package/supabase/migrations/00000000000003_setup_catalog_and_licensing.sql +0 -160
  22. package/supabase/migrations/00000000000004_setup_fulfillment_shipping_taxes_and_currencies.sql +0 -797
  23. package/supabase/migrations/00000000000005_setup_functions_and_triggers.sql +0 -767
  24. package/supabase/migrations/00000000000006_setup_rls_and_grants.sql +0 -872
  25. package/supabase/migrations/00000000000007_setup_indexes.sql +0 -158
  26. package/supabase/migrations/00000000000008_seed_platform_defaults.sql +0 -155
  27. package/supabase/migrations/00000000000009_seed_translations.sql +0 -801
  28. package/supabase/migrations/00000000000010_seed_content_scaffold.sql +0 -1088
  29. package/supabase/migrations/00000000000011_setup_cortex_ai_settings.sql +0 -81
  30. package/supabase/migrations/00000000000012_setup_commerce_coupons.sql +0 -275
  31. package/supabase/migrations/00000000000013_setup_cortex_ai_db_mutation_audit.sql +0 -47
  32. package/supabase/migrations/00000000000014_setup_content_drafts.sql +0 -119
  33. package/supabase/migrations/00000000000015_setup_product_drafts.sql +0 -97
  34. package/supabase/migrations/00000000000016_add_feature_image_to_pages.sql +0 -8
  35. package/supabase/migrations/00000000000017_add_product_blocks.sql +0 -118
  36. package/supabase/migrations/00000000000018_setup_bot_protection_settings.sql +0 -77
  37. package/supabase/migrations/00000000000019_add_product_categories.sql +0 -64
  38. package/supabase/migrations/00000000000020_add_category_translations.sql +0 -10
  39. package/supabase/migrations/00000000000021_migrate_hero_blocks_to_sections.sql +0 -29
  40. package/supabase/migrations/00000000000022_seed_cortex_ai_guide_post.sql +0 -184
  41. package/supabase/migrations/00000000000023_setup_custom_block_definitions.sql +0 -183
  42. package/supabase/migrations/00000000000024_setup_ucp_cart_sessions.sql +0 -72
  43. package/supabase/migrations/00000000000025_add_sale_schedule_columns.sql +0 -406
  44. package/supabase/migrations/00000000000026_seed_on_sale_translation.sql +0 -9
  45. package/supabase/migrations/00000000000027_setup_privacy_and_mfa.sql +0 -479
  46. package/supabase/migrations/00000000000028_clear_advisor_warnings.sql +0 -93
  47. package/supabase/migrations/00000000000029_refresh_setup_article.sql +0 -252
  48. package/supabase/migrations/00000000000030_setup_system_configuration.sql +0 -80
  49. package/supabase/migrations/00000000000031_seed_footer_navigation.sql +0 -85
  50. package/supabase/migrations/00000000000032_neutralize_seeded_contact_emails.sql +0 -34
  51. package/supabase/migrations/00000000000033_setup_config_settings.sql +0 -99
  52. package/supabase/migrations/00000000000034_enable_staff_2fa_reminder_default.sql +0 -15
  53. package/supabase/migrations/00000000000035_reassert_advisor_fixes.sql +0 -33
  54. package/supabase/migrations/00000000000036_setup_system_alerts.sql +0 -72
  55. package/supabase/migrations/00000000000037_refresh_setup_article_install_paths.sql +0 -317
  56. package/supabase/migrations/00000000000038_seed_consent_banner_translations.sql +0 -126
  57. package/supabase/migrations/00000000000039_setup_interactions.sql +0 -153
  58. package/supabase/migrations/00000000000040_add_profiles_fk_to_interactions.sql +0 -8
  59. package/supabase/migrations/00000000000041_seed_interactions_translations.sql +0 -145
  60. package/supabase/migrations/00000000000042_seed_deploy_to_vercel_ctas.sql +0 -72
  61. package/supabase/migrations/00000000000043_swap_home_hero_media_to_youtube.sql +0 -42
  62. package/supabase/migrations/00000000000044_swap_article_nx_graph_for_youtube.sql +0 -66
@@ -1,801 +0,0 @@
1
- -- 00000000000009_seed_translations.sql
2
- -- Consolidated migration preserving original statement order within grouped sections.
3
-
4
- -- 00000000000024_seed_core_translations.sql
5
- -- Base profile, account, and storefront translations.
6
-
7
- INSERT INTO public.translations (key, translations)
8
- VALUES
9
- ('continue_with_github', '{"en": "Continue with GitHub", "es": "Continuar con GitHub", "fr": "Continuer avec GitHub"}'::jsonb),
10
- ('or_continue_with', '{"en": "Or continue with", "es": "O continuar con", "fr": "Ou continuer avec"}'::jsonb),
11
- ('customer_profile', '{"en": "Customer Profile", "es": "Perfil de Cliente", "fr": "Profil Client"}'::jsonb),
12
- ('personal_information', '{"en": "Personal Information", "es": "Información Personal", "fr": "Informations Personnelles"}'::jsonb),
13
- ('full_name', '{"en": "Full Name", "es": "Nombre Completo", "fr": "Nom Complet"}'::jsonb),
14
- ('github_username', '{"en": "GitHub Username", "es": "Nombre de usuario de GitHub", "fr": "Nom d''utilisateur GitHub"}'::jsonb),
15
- ('github_username_help', '{"en": "Required only for purchasing developer licenses.", "es": "Requerido solo para comprar licencias de desarrollador.", "fr": "Requis uniquement pour l''achat de licences développeur."}'::jsonb),
16
- ('phone_number', '{"en": "Phone Number", "es": "Número de Teléfono", "fr": "Numéro de Téléphone"}'::jsonb),
17
- ('billing_address', '{"en": "Billing Address", "es": "Dirección de Facturación", "fr": "Adresse de Facturation"}'::jsonb),
18
- ('address_line_1', '{"en": "Address Line 1", "es": "Dirección Línea 1", "fr": "Adresse Ligne 1"}'::jsonb),
19
- ('address_line_2', '{"en": "Address Line 2 (Optional)", "es": "Dirección Línea 2 (Opcional)", "fr": "Adresse Ligne 2 (Optionnel)"}'::jsonb),
20
- ('city', '{"en": "City", "es": "Ciudad", "fr": "Ville"}'::jsonb),
21
- ('state_province', '{"en": "State / Province", "es": "Estado / Provincia", "fr": "État / Province"}'::jsonb),
22
- ('postal_zip_code', '{"en": "Postal / Zip Code", "es": "Código Postal", "fr": "Code Postal"}'::jsonb),
23
- ('country', '{"en": "Country", "es": "País", "fr": "Pays"}'::jsonb),
24
- ('save_profile', '{"en": "Save Profile", "es": "Guardar Perfil", "fr": "Enregistrer le Profil"}'::jsonb),
25
- ('saving', '{"en": "Saving...", "es": "Guardando...", "fr": "Enregistrement..."}'::jsonb),
26
- ('profile_updated_success', '{"en": "Profile updated successfully", "es": "Perfil actualizado con éxito", "fr": "Profil mis à jour avec succès"}'::jsonb),
27
- ('profile_update_failed', '{"en": "Failed to update profile", "es": "Error al actualizar el perfil", "fr": "Échec de la mise à jour du profil"}'::jsonb),
28
- ('address_required', '{"en": "Address is required", "es": "La dirección es obligatoria", "fr": "L''adresse est requise"}'::jsonb),
29
- ('city_required', '{"en": "City is required", "es": "La ciudad es obligatoria", "fr": "La ville est requise"}'::jsonb),
30
- ('zip_code_required', '{"en": "Zip Code is required", "es": "El código postal es obligatorio", "fr": "Le code postal est requis"}'::jsonb),
31
- ('country_required', '{"en": "Country is required", "es": "El país es obligatorio", "fr": "Le pays est requis"}'::jsonb),
32
- ('enter_valid_json', '{"en": "Enter valid JSON for billing address.", "es": "Ingrese JSON válido para la dirección de facturación.", "fr": "Entrez un JSON valide pour l''adresse de facturation."}'::jsonb),
33
- ('public_profile', '{"en": "Public Profile", "es": "Perfil Público", "fr": "Profil Public"}'::jsonb),
34
- ('details', '{"en": "Account Details", "es": "Detalles de la Cuenta", "fr": "Détails du Compte"}'::jsonb),
35
- ('identity', '{"en": "Identity", "es": "Identidad", "fr": "Identité"}'::jsonb),
36
- ('website', '{"en": "Website", "es": "Sitio Web", "fr": "Site Web"}'::jsonb),
37
- ('avatar_url', '{"en": "Avatar URL", "es": "URL del Avatar", "fr": "URL de l''Avatar"}'::jsonb),
38
- ('connect_github', '{"en": "Connect GitHub", "es": "Conectar GitHub", "fr": "Connecter GitHub"}'::jsonb),
39
- ('github_link_failed', '{"en": "Failed to link GitHub account", "es": "Error al vincular cuenta de GitHub", "fr": "Échec de la liaison du compte GitHub"}'::jsonb),
40
- ('save_changes', '{"en": "Save Changes", "es": "Guardar Cambios", "fr": "Enregistrer les Modifications"}'::jsonb),
41
- ('github_connected', '{"en": "GitHub Connected", "es": "GitHub Conectado", "fr": "GitHub Connecté"}'::jsonb),
42
- ('linked_to', '{"en": "Linked to", "es": "Vinculado a", "fr": "Lié à"}'::jsonb),
43
- ('optional', '{"en": "Optional", "fr": "Optionnel"}'::jsonb),
44
- ('shipping_address', '{"en": "Shipping Address", "fr": "Adresse de livraison"}'::jsonb),
45
- ('profile_settings_title', '{"en": "Profile Settings", "fr": "Paramètres du profil"}'::jsonb),
46
- ('profile_settings_description', '{"en": "Keep your contact details and default addresses up to date for faster checkout.", "fr": "Gardez vos coordonnées et adresses par défaut à jour pour un paiement plus rapide."}'::jsonb),
47
- ('profile_not_found', '{"en": "Profile not found.", "fr": "Profil introuvable."}'::jsonb),
48
- ('profile_basic_info_help', '{"en": "This information appears on your account and helps us prepare your orders.", "fr": "Ces informations apparaissent sur votre compte et nous aident à préparer vos commandes."}'::jsonb),
49
- ('profile_address_defaults_help', '{"en": "These default addresses are prefilled during checkout and can still be edited for each order.", "fr": "Ces adresses par défaut sont préremplies au paiement et restent modifiables pour chaque commande."}'::jsonb),
50
- ('use_billing_for_shipping', '{"en": "Use billing address for shipping", "fr": "Utiliser l''adresse de facturation pour la livraison"}'::jsonb),
51
- ('profile_use_billing_for_shipping_help', '{"en": "Keep one default address unless you regularly ship somewhere else.", "fr": "Gardez une seule adresse par défaut sauf si vous faites souvent livrer ailleurs."}'::jsonb),
52
- ('checkout_complete_billing_address', '{"en": "Please complete your billing address before continuing.", "fr": "Veuillez compléter votre adresse de facturation avant de continuer."}'::jsonb),
53
- ('checkout_complete_shipping_address', '{"en": "Please complete your shipping address before continuing.", "fr": "Veuillez compléter votre adresse de livraison avant de continuer."}'::jsonb),
54
- ('checkout_prefill_notice', '{"en": "Using your saved account details for {email}. You can still adjust them for this order.", "fr": "Nous utilisons les renseignements enregistrés pour {email}. Vous pouvez toujours les ajuster pour cette commande."}'::jsonb),
55
- ('checkout_billing_address_help', '{"en": "We use this address for payment verification and invoicing.", "fr": "Nous utilisons cette adresse pour la vérification du paiement et la facturation."}'::jsonb),
56
- ('checkout_use_billing_for_shipping_help', '{"en": "Uncheck this if you want your order delivered to a different address.", "fr": "Décochez ceci si vous souhaitez faire livrer votre commande à une autre adresse."}'::jsonb),
57
- ('checkout_shipping_address_help', '{"en": "Choose where physical items should be delivered.", "fr": "Choisissez où les articles physiques doivent être livrés."}'::jsonb),
58
- ('checkout_payment_only_notice', '{"en": "Stripe checkout is kept focused on payment because your address details are already collected here.", "fr": "Le paiement Stripe reste centré sur le paiement puisque vos coordonnées sont déjà recueillies ici."}'::jsonb),
59
- ('auth.signup_existing_account_hint', '{"en": "That email may already be registered. Try signing in or resetting your password.", "fr": "Cette adresse e-mail est peut-être déjà utilisée. Essayez de vous connecter ou de réinitialiser votre mot de passe."}'::jsonb),
60
- ('auth.signup_check_email_profile', '{"en": "Check your email to confirm your account. We''ll bring you to your profile next so you can finish setting up your details.", "fr": "Vérifiez votre e-mail pour confirmer votre compte. Nous vous amènerons ensuite à votre profil pour terminer la configuration de vos renseignements."}'::jsonb),
61
- ('ecommerce.add_to_cart', '{"en": "Add to Cart", "fr": "Ajouter au panier"}'::jsonb),
62
- ('ecommerce.added_to_cart', '{"en": "Added to cart", "fr": "Ajouté au panier"}'::jsonb),
63
- ('ecommerce.added_to_cart_success', '{"en": "{item} added to cart", "fr": "{item} ajouté au panier"}'::jsonb),
64
- ('ecommerce.added_to_cart_error', '{"en": "Failed to add item to cart", "fr": "Échec de l''ajout au panier"}'::jsonb),
65
- ('ecommerce.no_image', '{"en": "No Image", "fr": "Pas d''image"}'::jsonb),
66
- ('ecommerce.view_details', '{"en": "View Details", "fr": "Voir les détails"}'::jsonb),
67
- ('ecommerce.item_added_desc', '{"en": "The item has been added to your cart.", "fr": "L''article a été ajouté à votre panier."}'::jsonb),
68
- ('ecommerce.checkout', '{"en": "Checkout", "fr": "Paiement"}'::jsonb),
69
- ('ecommerce.cart', '{"en": "Cart", "fr": "Panier"}'::jsonb),
70
- ('ecommerce.subtotal', '{"en": "Subtotal", "fr": "Sous-total"}'::jsonb),
71
- ('ecommerce.shipping', '{"en": "Shipping", "fr": "Livraison"}'::jsonb),
72
- ('ecommerce.tax', '{"en": "Tax", "fr": "Taxes"}'::jsonb),
73
- ('ecommerce.total', '{"en": "Total", "fr": "Total"}'::jsonb),
74
- ('ecommerce.order_summary', '{"en": "Order Summary", "fr": "Résumé de la commande"}'::jsonb),
75
- ('ecommerce.order_summary_desc', '{"en": "Review your items before proceeding to payment.", "fr": "Vérifiez vos articles avant de procéder au paiement."}'::jsonb),
76
- ('ecommerce.payment_details', '{"en": "Payment Details", "fr": "Détails du paiement"}'::jsonb),
77
- ('ecommerce.shipping_info', '{"en": "Shipping Information", "fr": "Informations de livraison"}'::jsonb),
78
- ('ecommerce.delivery_notice', '{"en": "Digital product - No shipping required", "fr": "Produit numérique - Aucune livraison requise"}'::jsonb),
79
- ('ecommerce.back_to_shop', '{"en": "Back to Shop", "fr": "Retour à la boutique"}'::jsonb),
80
- ('ecommerce.empty_cart', '{"en": "Your cart is empty", "fr": "Votre panier est vide"}'::jsonb),
81
- ('ecommerce.no_products_found', '{"en": "No products found", "fr": "Aucun produit trouvé"}'::jsonb),
82
- ('ecommerce.featured_products', '{"en": "Featured Products", "fr": "Produits vedettes"}'::jsonb),
83
- ('ecommerce.latest_products', '{"en": "Latest Products", "fr": "Derniers produits"}'::jsonb),
84
- ('ecommerce.search_products', '{"en": "Search products...", "fr": "Rechercher des produits..."}'::jsonb),
85
- ('ecommerce.price_low_to_high', '{"en": "Price: Low to High", "fr": "Prix : Croissant"}'::jsonb),
86
- ('ecommerce.price_high_to_low', '{"en": "Price: High to Low", "fr": "Prix : Décroissant"}'::jsonb),
87
- ('ecommerce.newest', '{"en": "Newest", "fr": "Nouveautés"}'::jsonb),
88
- ('ecommerce.filters', '{"en": "Filters", "fr": "Filtres"}'::jsonb),
89
- ('ecommerce.apply_filters', '{"en": "Apply Filters", "fr": "Appliquer les filtres"}'::jsonb),
90
- ('ecommerce.clear_all', '{"en": "Clear All", "fr": "Tout effacer"}'::jsonb),
91
- ('ecommerce.digital_notice', '{"en": "This is a digital product. You will receive access instructions via email after purchase.", "fr": "Ceci est un produit numérique. Vous recevrez les instructions d''accès par e-mail après l''achat."}'::jsonb),
92
- ('ecommerce.shopping_cart', '{"en": "Shopping Cart", "fr": "Panier d''achat"}'::jsonb),
93
- ('ecommerce.cart_empty', '{"en": "Your cart is empty", "fr": "Votre panier est vide"}'::jsonb),
94
- ('ecommerce.cart_empty_description', '{"en": "Looks like you haven''t added anything to your cart yet.", "fr": "On dirait que vous n''avez encore rien ajouté à votre panier."}'::jsonb),
95
- ('ecommerce.continue_shopping', '{"en": "Continue Shopping", "fr": "Continuer vos achats"}'::jsonb),
96
- ('ecommerce.go_to_shop', '{"en": "Go to Shop", "fr": "Aller à la boutique"}'::jsonb),
97
- ('ecommerce.checkout_successful', '{"en": "Checkout Successful", "fr": "Paiement Réussi"}'::jsonb),
98
- ('ecommerce.sandbox_notice', '{"en": "This is a Sandbox environment. The Freemius checkout is skipped here for demo purposes.", "fr": "Ceci est un environnement de bac à sable. Le paiement Freemius est sauté ici à des fins de démonstration."}'::jsonb),
99
- ('ecommerce.license_notice', '{"en": "To purchase a real license for your self-hosted NextBlock™ instance, visit:", "fr": "Pour acheter une vraie licence pour votre instance NextBlock™ auto-hébergée, visitez :"}'::jsonb),
100
- ('ecommerce.purchase_at', '{"en": "Purchase at nextblock.ca", "fr": "Acheter sur nextblock.ca"}'::jsonb),
101
- ('ecommerce.qty', '{"en": "Qty", "fr": "Qté"}'::jsonb),
102
- ('ecommerce.quantity', '{"en": "Quantity", "fr": "Quantité"}'::jsonb),
103
- ('ecommerce.product', '{"en": "Product", "fr": "Produit"}'::jsonb),
104
- ('ecommerce.price', '{"en": "Price", "fr": "Prix"}'::jsonb),
105
- ('ecommerce.secure_payment', '{"en": "Secure payment processing", "fr": "Traitement sécurisé du paiement"}'::jsonb),
106
- ('ecommerce.shipping_taxes_notice', '{"en": "* Taxes and shipping will be calculated on the next step.", "fr": "* Les taxes et les frais de livraison seront calculés à l''étape suivante."}'::jsonb),
107
- ('ecommerce.shipping_taxes_calculated', '{"en": "Shipping & taxes calculated at checkout.", "fr": "Livraison et taxes calculées lors du paiement."}'::jsonb),
108
- ('ecommerce.email_address', '{"en": "Email Address", "fr": "Adresse e-mail"}'::jsonb),
109
- ('ecommerce.pay_now', '{"en": "Pay Now", "fr": "Payer maintenant"}'::jsonb),
110
- ('ecommerce.proceed_to_checkout', '{"en": "Proceed to Checkout", "fr": "Passer à la caisse"}'::jsonb),
111
- ('ecommerce.processing', '{"en": "Processing...", "fr": "Traitement..."}'::jsonb),
112
- ('ecommerce.invalid_email', '{"en": "Please enter a valid email address.", "fr": "Veuillez entrer une adresse e-mail valide."}'::jsonb),
113
- ('ecommerce.checkout_failed', '{"en": "Checkout failed: ", "fr": "Le paiement a échoué : "}'::jsonb),
114
- ('ecommerce.generic_error', '{"en": "An error occurred. Please try again.", "fr": "Une erreur est survenue. Veuillez réessayer."}'::jsonb),
115
- ('ecommerce.checkout_popup_blocked', '{"en": "Checkout popup blocked or failed to load. Falling back to direct link.", "fr": "Le popup de paiement a été bloqué ou n''a pas pu être chargé. Retour au lien direct."}'::jsonb),
116
- ('ecommerce.view_full_cart', '{"en": "View Full Cart", "fr": "Voir le panier complet"}'::jsonb),
117
- ('ecommerce.ready_to_checkout', '{"en": "Ready to Checkout?", "fr": "Prêt à passer au paiement ?"}'::jsonb),
118
- ('ecommerce.sale_badge', '{"en": "Sale {percent}% Off", "fr": "Solde {percent}% de rabais"}'::jsonb),
119
- ('ecommerce.low_stock', '{"en": "Only {count} left", "fr": "Plus que {count} en stock"}'::jsonb),
120
- ('ecommerce.instant_digital_delivery', '{"en": "Instant Digital Delivery", "fr": "Livraison numérique instantanée"}'::jsonb),
121
- ('ecommerce.free_shipping', '{"en": "Free Shipping", "fr": "Livraison gratuite"}'::jsonb),
122
- ('ecommerce.secure_checkout', '{"en": "Secure Checkout", "fr": "Paiement sécurisé"}'::jsonb),
123
- ('ecommerce.no_description', '{"en": "No description available.", "fr": "Aucune description disponible."}'::jsonb),
124
- ('ecommerce.checkout_overlay_title', '{"en": "Order Checkout", "fr": "Paiement de la commande"}'::jsonb),
125
- ('ecommerce.email_placeholder', '{"en": "you@example.com", "fr": "vous@exemple.com"}'::jsonb),
126
- ('ecommerce.contact_information', '{"en": "Contact Information", "fr": "Informations de contact"}'::jsonb),
127
- ('ecommerce.shipping_address', '{"en": "Shipping Address", "fr": "Adresse de livraison"}'::jsonb),
128
- ('ecommerce.shipping_method', '{"en": "Shipping Method", "fr": "Mode de livraison"}'::jsonb),
129
- ('ecommerce.available_rates', '{"en": "Available Rates", "fr": "Tarifs disponibles"}'::jsonb),
130
- ('ecommerce.calculating', '{"en": "Calculating...", "fr": "Calcul en cours..."}'::jsonb),
131
- ('ecommerce.select_rate', '{"en": "Select a shipping rate", "fr": "Sélectionnez un tarif de livraison"}'::jsonb),
132
- ('ecommerce.enter_postal_code', '{"en": "Enter postal code", "fr": "Entrez le code postal"}'::jsonb),
133
- ('ecommerce.free', '{"en": "Free", "fr": "Gratuit"}'::jsonb),
134
- ('ecommerce.first_last_name', '{"en": "First & Last Name", "fr": "Nom et prénom"}'::jsonb),
135
- ('ecommerce.address', '{"en": "Address", "fr": "Adresse"}'::jsonb),
136
- ('ecommerce.city', '{"en": "City", "fr": "Ville"}'::jsonb),
137
- ('ecommerce.state_province', '{"en": "State / Province", "fr": "État / Province"}'::jsonb),
138
- ('ecommerce.zip_postal', '{"en": "ZIP / Postal Code", "fr": "Code postal"}'::jsonb),
139
- ('ecommerce.postal_code', '{"en": "Postal Code", "fr": "Code postal"}'::jsonb),
140
- ('ecommerce.zip_postal_code', '{"en": "ZIP / Postal Code", "fr": "Code postal"}'::jsonb),
141
- ('ecommerce.estimate_shipping', '{"en": "Estimate Shipping", "fr": "Estimer la livraison"}'::jsonb),
142
- ('ecommerce.calculate', '{"en": "Calculate", "fr": "Calculer"}'::jsonb),
143
- ('ecommerce.no_rates_found', '{"en": "No shipping rates found for this region.", "fr": "Aucun tarif de livraison trouvé pour cette région."}'::jsonb),
144
- ('ecommerce.no_rates_for_region', '{"en": "No shipping rates found for this region.", "fr": "Aucun tarif de livraison trouvé pour cette région."}'::jsonb),
145
- ('ecommerce.enter_address_for_rates', '{"en": "Enter your address to see shipping rates.", "fr": "Entrez votre adresse pour voir les tarifs de livraison."}'::jsonb),
146
- ('ecommerce.secure_checkout_guarantee', '{"en": "Secure checkout guaranteed", "fr": "Paiement sécurisé garanti"}'::jsonb),
147
- ('ecommerce.pricing_unavailable', '{"en": "Pricing unavailable", "fr": "Prix non disponible"}'::jsonb),
148
- ('ecommerce.monthly', '{"en": "Monthly", "fr": "Mensuel"}'::jsonb),
149
- ('ecommerce.annual', '{"en": "Annual", "fr": "Annuel"}'::jsonb),
150
- ('ecommerce.lifetime', '{"en": "Lifetime", "fr": "À vie"}'::jsonb),
151
- ('ecommerce.year', '{"en": "year", "fr": "an"}'::jsonb),
152
- ('ecommerce.month', '{"en": "month", "fr": "mois"}'::jsonb),
153
- ('ecommerce.get_license', '{"en": "Get License", "fr": "Obtenir la licence"}'::jsonb),
154
- ('ecommerce.full_name', '{"en": "Full Name", "fr": "Nom complet"}'::jsonb),
155
- ('ecommerce.country', '{"en": "Country", "fr": "Pays"}'::jsonb)
156
- ON CONFLICT (key) DO UPDATE
157
- SET translations = EXCLUDED.translations;
158
-
159
- -- 00000000000025_seed_freemius_translations.sql
160
- -- Freemius storefront copy introduced with the licensing expansion.
161
-
162
- INSERT INTO public.translations (key, translations) VALUES
163
- ('ecommerce.pricing_unavailable', '{"en": "Pricing Unavailable", "es": "Precios no disponibles"}'),
164
- ('ecommerce.monthly', '{"en": "Monthly", "es": "Mensual"}'),
165
- ('ecommerce.annual', '{"en": "Annual", "es": "Anual"}'),
166
- ('ecommerce.lifetime', '{"en": "Lifetime", "es": "De por vida"}'),
167
- ('ecommerce.year', '{"en": "year", "es": "año"}'),
168
- ('ecommerce.month', '{"en": "month", "es": "mes"}'),
169
- ('ecommerce.get_license', '{"en": "Get License", "es": "Obtener Licencia"}'),
170
- ('ecommerce.added_to_cart_success', '{"en": "{item} added to your cart.", "es": "{item} añadido al carrito."}'),
171
- ('ecommerce.added_to_cart_error', '{"en": "Could not add item to cart.", "es": "No se pudo añadir el artículo al carrito."}'),
172
- ('ecommerce.freemius_trial_preference_title', '{"en": "How would you like to start your trial?", "es": "¿Cómo te gustaría comenzar tu prueba?", "fr": "Comment souhaitez-vous commencer votre essai ?"}'),
173
- ('ecommerce.freemius_trial_no_card', '{"en": "Start Free Trial (No card required)", "es": "Comenzar prueba gratuita (Sin tarjeta)", "fr": "Commencer l''essai gratuit (Sans carte requise)"}'),
174
- ('ecommerce.freemius_trial_with_card', '{"en": "Enter Payment Details Now (Still get full trial length free)", "es": "Ingresar detalles de pago ahora (Aún obtienes toda la duración de la prueba gratis)", "fr": "Entrer les détails de paiement maintenant (Vous bénéficiez toujours de toute la durée de l''essai gratuitement)"}'),
175
- ('ecommerce.freemius_trial_with_card_help', '{"en": "You will not be billed until the trial ends. Cancel anytime.", "es": "No se te cobrará hasta que termine la prueba. Cancela en cualquier momento.", "fr": "Vous ne serez pas facturé avant la fin de l''essai. Annulez à tout moment."}')
176
- ON CONFLICT (key) DO UPDATE
177
- SET translations = EXCLUDED.translations;
178
-
179
- -- 00000000000026_seed_product_variation_translation_keys.sql
180
- -- Adds missing storefront translation keys for variable-product UX copy.
181
-
182
- INSERT INTO public.translations (key, translations)
183
- VALUES
184
- (
185
- 'ecommerce.choose_your_options',
186
- '{"en": "Choose Your Options", "fr": "Choisissez vos options"}'::jsonb
187
- ),
188
- (
189
- 'ecommerce.variant_availability_help',
190
- '{"en": "Select a combination to resolve the exact variant price and availability.", "fr": "Selectionnez une combinaison pour afficher le prix exact et la disponibilite de la variante."}'::jsonb
191
- ),
192
- (
193
- 'ecommerce.in_stock',
194
- '{"en": "{count} in stock", "fr": "{count} en stock"}'::jsonb
195
- ),
196
- (
197
- 'ecommerce.out_of_stock',
198
- '{"en": "Out of stock", "fr": "Rupture de stock"}'::jsonb
199
- ),
200
- (
201
- 'ecommerce.select_options',
202
- '{"en": "Select Options", "fr": "Choisir des options"}'::jsonb
203
- ),
204
- (
205
- 'ecommerce.variant_selection_required',
206
- '{"en": "Select one term from every dropdown to resolve a variation.", "fr": "Selectionnez une valeur dans chaque liste pour afficher la variante correspondante."}'::jsonb
207
- )
208
- ON CONFLICT (key) DO UPDATE
209
- SET
210
- translations = EXCLUDED.translations,
211
- updated_at = now();
212
-
213
- -- 00000000000027_seed_shipping_rate_translations.sql
214
- -- Shipping and tax copy for checkout.
215
-
216
- INSERT INTO public.translations (key, translations)
217
- VALUES
218
- (
219
- 'ecommerce.tax_calculated_on_stripe',
220
- '{"en": "Calculated on Stripe", "es": "Calculado en Stripe", "fr": "Calculé sur Stripe"}'::jsonb
221
- ),
222
- (
223
- 'checkout_stripe_tax_finalized_notice',
224
- '{"en": "Tax will be finalized by Stripe Tax on the payment step.", "es": "El impuesto se finalizará con Stripe Tax en el paso de pago.", "fr": "La taxe sera finalisée par Stripe Tax à l''étape du paiement."}'::jsonb
225
- )
226
- ON CONFLICT (key) DO UPDATE
227
- SET translations = EXCLUDED.translations;
228
-
229
- -- 00000000000028_seed_invoice_branding_translations.sql
230
- -- Invoice, branding, and receipt translations.
231
-
232
- INSERT INTO public.translations (key, translations)
233
- VALUES
234
- (
235
- 'branding',
236
- '{"en": "Branding", "fr": "Image de marque"}'::jsonb
237
- ),
238
- (
239
- 'company_name',
240
- '{"en": "Company name", "fr": "Nom de l''entreprise"}'::jsonb
241
- ),
242
- (
243
- 'invoice',
244
- '{"en": "Invoice", "fr": "Facture"}'::jsonb
245
- ),
246
- (
247
- 'invoice_number',
248
- '{"en": "Invoice #", "fr": "Facture no"}'::jsonb
249
- ),
250
- (
251
- 'paid_on',
252
- '{"en": "Paid on", "fr": "Paye le"}'::jsonb
253
- ),
254
- (
255
- 'bill_to',
256
- '{"en": "Bill to", "fr": "Facturer a"}'::jsonb
257
- ),
258
- (
259
- 'ship_to',
260
- '{"en": "Ship to", "fr": "Livrer a"}'::jsonb
261
- ),
262
- (
263
- 'print_invoice',
264
- '{"en": "Print / Save as PDF", "fr": "Imprimer / Enregistrer en PDF"}'::jsonb
265
- ),
266
- (
267
- 'tax_registrations',
268
- '{"en": "Tax registrations", "fr": "Inscriptions fiscales"}'::jsonb
269
- ),
270
- (
271
- 'invoice_settings',
272
- '{"en": "Invoice settings", "fr": "Parametres de facture"}'::jsonb
273
- ),
274
- (
275
- 'business_name',
276
- '{"en": "Business name", "fr": "Nom de l''entreprise"}'::jsonb
277
- ),
278
- (
279
- 'order_number',
280
- '{"en": "Order #", "fr": "Commande no"}'::jsonb
281
- ),
282
- (
283
- 'print_invoice_help',
284
- '{"en": "Use your browser print dialog to save this invoice as a PDF.", "fr": "Utilisez la boite de dialogue d''impression de votre navigateur pour enregistrer cette facture en PDF."}'::jsonb
285
- ),
286
- (
287
- 'return_home',
288
- '{"en": "Return to Home", "fr": "Retour a l''accueil"}'::jsonb
289
- ),
290
- (
291
- 'receipt_finalizing',
292
- '{"en": "Finalizing your invoice and payment details...", "fr": "Finalisation de votre facture et des details du paiement..."}'::jsonb
293
- ),
294
- (
295
- 'receipt_not_ready',
296
- '{"en": "Your invoice will appear here once the payment sync is complete.", "fr": "Votre facture apparaitra ici une fois la synchronisation du paiement terminee."}'::jsonb
297
- ),
298
- (
299
- 'tax_breakdown',
300
- '{"en": "Tax breakdown", "fr": "Detail des taxes"}'::jsonb
301
- ),
302
- (
303
- 'amount',
304
- '{"en": "Amount", "fr": "Montant"}'::jsonb
305
- ),
306
- (
307
- 'price',
308
- '{"en": "Price", "fr": "Prix"}'::jsonb
309
- ),
310
- (
311
- 'from',
312
- '{"en": "From", "fr": "De"}'::jsonb
313
- )
314
- ON CONFLICT (key) DO UPDATE
315
- SET
316
- translations = EXCLUDED.translations,
317
- updated_at = now();
318
-
319
- -- 00000000000029_seed_account_order_translations.sql
320
- -- Adds storefront account navigation, customer order, and password translations.
321
-
322
- BEGIN;
323
-
324
- INSERT INTO public.translations (key, translations)
325
- VALUES
326
- (
327
- 'account_navigation',
328
- '{"en": "Account", "fr": "Compte"}'::jsonb
329
- ),
330
- (
331
- 'account_orders',
332
- '{"en": "Orders", "fr": "Commandes"}'::jsonb
333
- ),
334
- (
335
- 'change_my_password',
336
- '{"en": "Change my password", "fr": "Changer mon mot de passe"}'::jsonb
337
- ),
338
- (
339
- 'profile_orders_title',
340
- '{"en": "My orders", "fr": "Mes commandes"}'::jsonb
341
- ),
342
- (
343
- 'profile_orders_description',
344
- '{"en": "Review your recent purchases and open printable invoices.", "fr": "Consultez vos achats récents et ouvrez vos factures imprimables."}'::jsonb
345
- ),
346
- (
347
- 'profile_orders_empty',
348
- '{"en": "You do not have any orders yet.", "fr": "Vous n''avez pas encore de commandes."}'::jsonb
349
- ),
350
- (
351
- 'profile_order_detail_title',
352
- '{"en": "Order invoice", "fr": "Facture de commande"}'::jsonb
353
- ),
354
- (
355
- 'profile_order_detail_description',
356
- '{"en": "Review and print your finalized invoice.", "fr": "Consultez et imprimez votre facture finalisée."}'::jsonb
357
- ),
358
- (
359
- 'profile_order_invoice_pending',
360
- '{"en": "The printable invoice will appear here once this order has been finalized.", "fr": "La facture imprimable apparaîtra ici une fois que cette commande aura été finalisée."}'::jsonb
361
- ),
362
- (
363
- 'profile_password_title',
364
- '{"en": "Change your password", "fr": "Changer votre mot de passe"}'::jsonb
365
- ),
366
- (
367
- 'profile_password_description',
368
- '{"en": "Update your account password without leaving your profile.", "fr": "Mettez à jour le mot de passe de votre compte sans quitter votre profil."}'::jsonb
369
- ),
370
- (
371
- 'new_password',
372
- '{"en": "New password", "fr": "Nouveau mot de passe"}'::jsonb
373
- ),
374
- (
375
- 'confirm_new_password',
376
- '{"en": "Confirm new password", "fr": "Confirmer le nouveau mot de passe"}'::jsonb
377
- ),
378
- (
379
- 'password_updated_success',
380
- '{"en": "Password updated successfully.", "fr": "Mot de passe mis à jour avec succès."}'::jsonb
381
- ),
382
- (
383
- 'password_update_failed',
384
- '{"en": "Password update failed.", "fr": "La mise à jour du mot de passe a échoué."}'::jsonb
385
- ),
386
- (
387
- 'passwords_do_not_match',
388
- '{"en": "Passwords do not match.", "fr": "Les mots de passe ne correspondent pas."}'::jsonb
389
- ),
390
- (
391
- 'order_date',
392
- '{"en": "Date", "fr": "Date"}'::jsonb
393
- ),
394
- (
395
- 'order_status_paid',
396
- '{"en": "Paid", "fr": "Payée"}'::jsonb
397
- ),
398
- (
399
- 'order_status_pending',
400
- '{"en": "Pending", "fr": "En attente"}'::jsonb
401
- ),
402
- (
403
- 'order_status_trial',
404
- '{"en": "Trial", "fr": "Essai"}'::jsonb
405
- ),
406
- (
407
- 'order_status_shipped',
408
- '{"en": "Shipped", "fr": "Expédiée"}'::jsonb
409
- ),
410
- (
411
- 'order_status_cancelled',
412
- '{"en": "Cancelled", "fr": "Annulée"}'::jsonb
413
- ),
414
- (
415
- 'order_status_refunded',
416
- '{"en": "Refunded", "fr": "Remboursée"}'::jsonb
417
- ),
418
- (
419
- 'back_to_orders',
420
- '{"en": "Back to orders", "fr": "Retour aux commandes"}'::jsonb
421
- ),
422
- (
423
- 'ecommerce.checkout_trial_started',
424
- '{"en": "Trial started", "fr": "Essai demarre"}'::jsonb
425
- ),
426
- (
427
- 'ecommerce.checkout_order_pending',
428
- '{"en": "Order pending", "fr": "Commande en attente"}'::jsonb
429
- )
430
- ON CONFLICT (key) DO UPDATE
431
- SET translations = EXCLUDED.translations;
432
-
433
- COMMIT;
434
-
435
- -- 00000000000030_seed_checkout_state_translations.sql
436
- -- Adds checkout state and CTA translations for shipping-gated checkout UX.
437
-
438
- BEGIN;
439
-
440
- INSERT INTO public.translations (key, translations)
441
- VALUES
442
- (
443
- 'select_an_option',
444
- '{"en": "Select an option", "es": "Selecciona una opcion", "fr": "Selectionnez une option"}'::jsonb
445
- ),
446
- (
447
- 'ecommerce.shipping_method_required',
448
- '{"en": "Please select a shipping method before continuing.", "es": "Selecciona un metodo de envio antes de continuar.", "fr": "Veuillez selectionner un mode de livraison avant de continuer."}'::jsonb
449
- ),
450
- (
451
- 'ecommerce.waiting_on_address_info',
452
- '{"en": "Complete your shipping address to view available shipping options.", "es": "Completa tu direccion de envio para ver las opciones de envio disponibles.", "fr": "Completez votre adresse de livraison pour voir les options de livraison disponibles."}'::jsonb
453
- ),
454
- (
455
- 'ecommerce.calculating_shipping',
456
- '{"en": "Calculating shipping...", "es": "Calculando el envio...", "fr": "Calcul de la livraison..."}'::jsonb
457
- ),
458
- (
459
- 'ecommerce.sandbox_checkout_stripe_description',
460
- '{"en": "This simulated step represents the Stripe checkout for physical products.", "es": "Este paso simulado representa el pago de Stripe para productos fisicos.", "fr": "Cette etape simulee represente le paiement Stripe pour les produits physiques."}'::jsonb
461
- ),
462
- (
463
- 'ecommerce.sandbox_checkout_freemius_description',
464
- '{"en": "This simulated step represents the Freemius checkout for digital products.", "es": "Este paso simulado representa el pago de Freemius para productos digitales.", "fr": "Cette etape simulee represente le paiement Freemius pour les produits numeriques."}'::jsonb
465
- ),
466
- (
467
- 'ecommerce.digital_label',
468
- '{"en": "Digital", "es": "Digital", "fr": "Numerique"}'::jsonb
469
- ),
470
- (
471
- 'ecommerce.physical_label',
472
- '{"en": "Physical", "es": "Fisico", "fr": "Physique"}'::jsonb
473
- ),
474
- (
475
- 'ecommerce.physical_products',
476
- '{"en": "Physical products", "es": "Productos fisicos", "fr": "Produits physiques"}'::jsonb
477
- ),
478
- (
479
- 'ecommerce.digital_products',
480
- '{"en": "Digital products", "es": "Productos digitales", "fr": "Produits numeriques"}'::jsonb
481
- ),
482
- (
483
- 'ecommerce.estimated_total',
484
- '{"en": "Estimated total", "es": "Total estimado", "fr": "Total estime"}'::jsonb
485
- ),
486
- (
487
- 'ecommerce.stripe_checkout_title',
488
- '{"en": "Stripe Checkout", "es": "Pago con Stripe", "fr": "Paiement Stripe"}'::jsonb
489
- ),
490
- (
491
- 'ecommerce.stripe_checkout_description',
492
- '{"en": "Pay for physical products in one Stripe checkout session.", "es": "Paga los productos fisicos en una sola sesion de Stripe.", "fr": "Payez les produits physiques dans une seule session Stripe."}'::jsonb
493
- ),
494
- (
495
- 'ecommerce.item_count_one',
496
- '{"en": "{count} item", "es": "{count} articulo", "fr": "{count} article"}'::jsonb
497
- ),
498
- (
499
- 'ecommerce.item_count_other',
500
- '{"en": "{count} items", "es": "{count} articulos", "fr": "{count} articles"}'::jsonb
501
- ),
502
- (
503
- 'ecommerce.physical_subtotal',
504
- '{"en": "Physical subtotal", "es": "Subtotal fisico", "fr": "Sous-total physique"}'::jsonb
505
- ),
506
- (
507
- 'ecommerce.total_on_stripe',
508
- '{"en": "Total on Stripe", "es": "Total en Stripe", "fr": "Total sur Stripe"}'::jsonb
509
- ),
510
- (
511
- 'ecommerce.checkout_physical_products',
512
- '{"en": "Checkout Physical Products", "es": "Pagar productos fisicos", "fr": "Payer les produits physiques"}'::jsonb
513
- ),
514
- (
515
- 'ecommerce.shipping_taxes_collected_on_stripe',
516
- '{"en": "Shipping and taxes are only collected during the Stripe step for physical products.", "es": "El envio y los impuestos solo se cobran durante el paso de Stripe para productos fisicos.", "fr": "La livraison et les taxes sont percues uniquement a l''etape Stripe pour les produits physiques."}'::jsonb
517
- ),
518
- (
519
- 'ecommerce.freemius_checkout_title',
520
- '{"en": "Freemius Checkout", "es": "Pago con Freemius", "fr": "Paiement Freemius"}'::jsonb
521
- ),
522
- (
523
- 'ecommerce.freemius_checkout_description',
524
- '{"en": "Digital products use the Freemius checkout flow.", "es": "Los productos digitales usan el flujo de pago de Freemius.", "fr": "Les produits numeriques utilisent le flux de paiement Freemius."}'::jsonb
525
- ),
526
- (
527
- 'ecommerce.license_count_one',
528
- '{"en": "{count} license", "es": "{count} licencia", "fr": "{count} licence"}'::jsonb
529
- ),
530
- (
531
- 'ecommerce.license_count_other',
532
- '{"en": "{count} licenses", "es": "{count} licencias", "fr": "{count} licences"}'::jsonb
533
- ),
534
- (
535
- 'ecommerce.checkout_billing_cycle_monthly',
536
- '{"en": "Monthly subscription", "es": "Suscripcion mensual", "fr": "Abonnement mensuel"}'::jsonb
537
- ),
538
- (
539
- 'ecommerce.checkout_billing_cycle_annual',
540
- '{"en": "Annual subscription", "es": "Suscripcion anual", "fr": "Abonnement annuel"}'::jsonb
541
- ),
542
- (
543
- 'ecommerce.checkout_billing_cycle_lifetime',
544
- '{"en": "Lifetime subscription", "es": "Suscripcion de por vida", "fr": "Abonnement a vie"}'::jsonb
545
- ),
546
- (
547
- 'ecommerce.checkout_product',
548
- '{"en": "Checkout {title}", "es": "Pagar {title}", "fr": "Paiement de {title}"}'::jsonb
549
- ),
550
- (
551
- 'ecommerce.checkout_digital_product',
552
- '{"en": "Checkout Digital Product", "es": "Pagar producto digital", "fr": "Payer le produit numerique"}'::jsonb
553
- ),
554
- (
555
- 'ecommerce.digital_subtotal',
556
- '{"en": "Digital subtotal", "es": "Subtotal digital", "fr": "Sous-total numerique"}'::jsonb
557
- ),
558
- (
559
- 'ecommerce.freemius_multi_checkout_notice',
560
- '{"en": "Freemius licenses are completed one at a time, so each digital product gets its own checkout action.", "es": "Las licencias de Freemius se completan una por una, por lo que cada producto digital tiene su propia accion de pago.", "fr": "Les licences Freemius se finalisent une a la fois, donc chaque produit numerique a sa propre action de paiement."}'::jsonb
561
- ),
562
- (
563
- 'ecommerce.freemius_tax_notice',
564
- '{"en": "Taxes and compliance for digital products are handled inside the Freemius checkout.", "es": "Los impuestos y la conformidad para los productos digitales se gestionan dentro del pago de Freemius.", "fr": "Les taxes et la conformite pour les produits numeriques sont gerees dans le paiement Freemius."}'::jsonb
565
- ),
566
- (
567
- 'continue_checkout',
568
- '{"en": "Continue Checkout", "fr": "Continuer le paiement"}'::jsonb
569
- ),
570
- (
571
- 'checkout_success_sync_failed',
572
- '{"en": "We could not finalize your invoice yet. Please refresh shortly.", "fr": "Nous n''avons pas encore pu finaliser votre facture. Veuillez rafraichir la page sous peu."}'::jsonb
573
- ),
574
- (
575
- 'ecommerce.shipping_country_required',
576
- '{"en": "Country is required to calculate shipping.", "fr": "Le pays est requis pour calculer la livraison."}'::jsonb
577
- ),
578
- (
579
- 'ecommerce.shipping_calculation_failed',
580
- '{"en": "We couldn''t calculate shipping right now. Please try again.", "fr": "Nous n''avons pas pu calculer la livraison pour le moment. Veuillez reessayer."}'::jsonb
581
- ),
582
- (
583
- 'ecommerce.checkout_license_inactive',
584
- '{"en": "The ecommerce module license is inactive.", "fr": "La licence du module ecommerce est inactive."}'::jsonb
585
- ),
586
- (
587
- 'ecommerce.checkout_invalid_items',
588
- '{"en": "Your checkout items could not be processed.", "fr": "Les articles de votre commande n''ont pas pu etre traites."}'::jsonb
589
- ),
590
- (
591
- 'ecommerce.checkout_provider_items_required',
592
- '{"en": "Each checkout step must include items assigned to a payment provider.", "fr": "Chaque etape de paiement doit inclure des articles associes a un fournisseur de paiement."}'::jsonb
593
- ),
594
- (
595
- 'ecommerce.checkout_mixed_provider_steps',
596
- '{"en": "Products with different payment providers must be purchased in separate checkout steps.", "fr": "Les produits utilisant differents fournisseurs de paiement doivent etre achetes en etapes separees."}'::jsonb
597
- ),
598
- (
599
- 'ecommerce.checkout_freemius_single_item',
600
- '{"en": "Freemius products must be purchased one at a time.", "fr": "Les produits Freemius doivent etre achetes un a la fois."}'::jsonb
601
- ),
602
- (
603
- 'ecommerce.checkout_billing_address_required',
604
- '{"en": "A billing address is required to continue checkout.", "fr": "Une adresse de facturation est requise pour continuer le paiement."}'::jsonb
605
- ),
606
- (
607
- 'ecommerce.checkout_internal_server_error',
608
- '{"en": "Something went wrong while preparing your checkout. Please try again.", "fr": "Une erreur s''est produite lors de la preparation de votre paiement. Veuillez reessayer."}'::jsonb
609
- ),
610
- (
611
- 'ecommerce.checkout_missing_session_id',
612
- '{"en": "We couldn''t find a checkout session to finalize.", "fr": "Nous n''avons pas trouve de session de paiement a finaliser."}'::jsonb
613
- ),
614
- (
615
- 'ecommerce.checkout_payment_pending',
616
- '{"en": "Your payment is still pending.", "fr": "Votre paiement est toujours en attente."}'::jsonb
617
- ),
618
- (
619
- 'ecommerce.checkout_success_order_not_found',
620
- '{"en": "We couldn''t find the order linked to this checkout.", "fr": "Nous n''avons pas trouve la commande liee a ce paiement."}'::jsonb
621
- ),
622
- (
623
- 'ecommerce.checkout_success_invalid_reference',
624
- '{"en": "This checkout reference can''t be finalized from this page.", "fr": "Cette reference de paiement ne peut pas etre finalisee depuis cette page."}'::jsonb
625
- ),
626
- (
627
- 'ecommerce.checkout_success_inventory_update_failed',
628
- '{"en": "We couldn''t update inventory for this order.", "fr": "Nous n''avons pas pu mettre a jour l''inventaire pour cette commande."}'::jsonb
629
- ),
630
- (
631
- 'ecommerce.checkout_success_status_update_failed',
632
- '{"en": "We couldn''t update the order status.", "fr": "Nous n''avons pas pu mettre a jour le statut de la commande."}'::jsonb
633
- ),
634
- (
635
- 'ecommerce.unknown_error',
636
- '{"en": "Unknown error", "es": "Error desconocido", "fr": "Erreur inconnue"}'::jsonb
637
- )
638
- ON CONFLICT (key) DO UPDATE
639
- SET
640
- translations = EXCLUDED.translations,
641
- updated_at = now();
642
-
643
- COMMIT;
644
-
645
- -- 00000000000031_seed_french_freemius_translation_fixes.sql
646
- -- Restores French translations that were overwritten by the Freemius ecommerce expansion seed.
647
- INSERT INTO public.translations (key, translations)
648
- VALUES
649
- (
650
- 'ecommerce.pricing_unavailable',
651
- jsonb_build_object(
652
- 'en', 'Pricing Unavailable',
653
- 'es', 'Precios no disponibles',
654
- 'fr', 'Tarification indisponible'
655
- )
656
- ),
657
- (
658
- 'ecommerce.monthly',
659
- jsonb_build_object(
660
- 'en', 'Monthly',
661
- 'es', 'Mensual',
662
- 'fr', 'Mensuel'
663
- )
664
- ),
665
- (
666
- 'ecommerce.annual',
667
- jsonb_build_object(
668
- 'en', 'Annual',
669
- 'es', 'Anual',
670
- 'fr', 'Annuel'
671
- )
672
- ),
673
- (
674
- 'ecommerce.lifetime',
675
- jsonb_build_object(
676
- 'en', 'Lifetime',
677
- 'es', 'De por vida',
678
- 'fr', 'À vie'
679
- )
680
- ),
681
- (
682
- 'ecommerce.year',
683
- jsonb_build_object(
684
- 'en', 'year',
685
- 'es', 'año',
686
- 'fr', 'an'
687
- )
688
- ),
689
- (
690
- 'ecommerce.month',
691
- jsonb_build_object(
692
- 'en', 'month',
693
- 'es', 'mes',
694
- 'fr', 'mois'
695
- )
696
- ),
697
- (
698
- 'ecommerce.get_license',
699
- jsonb_build_object(
700
- 'en', 'Get License',
701
- 'es', 'Obtener Licencia',
702
- 'fr', 'Obtenir la licence'
703
- )
704
- ),
705
- (
706
- 'ecommerce.added_to_cart_success',
707
- jsonb_build_object(
708
- 'en', '{item} added to your cart.',
709
- 'es', '{item} añadido al carrito.',
710
- 'fr', '{item} ajouté à votre panier.'
711
- )
712
- ),
713
- (
714
- 'ecommerce.added_to_cart_error',
715
- jsonb_build_object(
716
- 'en', 'Could not add item to cart.',
717
- 'es', 'No se pudo añadir el artículo al carrito.',
718
- 'fr', 'Impossible d''ajouter l''article au panier.'
719
- )
720
- )
721
- ON CONFLICT (key) DO UPDATE
722
- SET translations =
723
- COALESCE(public.translations.translations, '{}'::jsonb)
724
- || jsonb_build_object('fr', EXCLUDED.translations->>'fr');
725
-
726
- -- 00000000000032_seed_global_search_translations.sql
727
- -- Global storefront search copy.
728
- INSERT INTO public.translations (key, translations)
729
- VALUES
730
- (
731
- 'edit_product',
732
- '{"en": "Edit Product", "fr": "Modifier le produit"}'::jsonb
733
- ),
734
- (
735
- 'global_search.trigger',
736
- '{"en": "Search", "fr": "Rechercher"}'::jsonb
737
- ),
738
- (
739
- 'global_search.title',
740
- '{"en": "Search", "fr": "Rechercher"}'::jsonb
741
- ),
742
- (
743
- 'global_search.description',
744
- '{"en": "Search published pages, posts, and products.", "fr": "Rechercher dans les pages, articles et produits publies."}'::jsonb
745
- ),
746
- (
747
- 'global_search.placeholder',
748
- '{"en": "Search...", "fr": "Rechercher..."}'::jsonb
749
- ),
750
- (
751
- 'global_search.filter_all',
752
- '{"en": "All", "fr": "Tout"}'::jsonb
753
- ),
754
- (
755
- 'global_search.filter_pages',
756
- '{"en": "Pages", "fr": "Pages"}'::jsonb
757
- ),
758
- (
759
- 'global_search.filter_posts',
760
- '{"en": "Posts", "fr": "Articles"}'::jsonb
761
- ),
762
- (
763
- 'global_search.filter_products',
764
- '{"en": "Products", "fr": "Produits"}'::jsonb
765
- ),
766
- (
767
- 'global_search.result_page',
768
- '{"en": "Page", "fr": "Page"}'::jsonb
769
- ),
770
- (
771
- 'global_search.result_post',
772
- '{"en": "Post", "fr": "Article"}'::jsonb
773
- ),
774
- (
775
- 'global_search.result_product',
776
- '{"en": "Product", "fr": "Produit"}'::jsonb
777
- ),
778
- (
779
- 'global_search.recent',
780
- '{"en": "Recent", "fr": "Recents"}'::jsonb
781
- ),
782
- (
783
- 'global_search.error_title',
784
- '{"en": "Search is unavailable.", "fr": "La recherche est indisponible."}'::jsonb
785
- ),
786
- (
787
- 'global_search.error_description',
788
- '{"en": "Please try again in a moment.", "fr": "Veuillez reessayer dans un instant."}'::jsonb
789
- ),
790
- (
791
- 'global_search.empty_title',
792
- '{"en": "No results found.", "fr": "Aucun resultat trouve."}'::jsonb
793
- ),
794
- (
795
- 'global_search.empty_description',
796
- '{"en": "Try another search term.", "fr": "Essayez un autre terme de recherche."}'::jsonb
797
- )
798
- ON CONFLICT (key) DO UPDATE
799
- SET
800
- translations = EXCLUDED.translations,
801
- updated_at = now();