feat(Translation): add kitConfig.js for improved localization in GrowTentKonfigurator
- Updated the translation model by adding kitConfig.js to the list of translation files. - Enhanced the GrowTentKonfigurator component to utilize translation functions for various UI texts, improving localization support throughout the configuration process.
This commit is contained in:
35
src/i18n/locales/ar/kitConfig.js
Normal file
35
src/i18n/locales/ar/kitConfig.js
Normal file
@@ -0,0 +1,35 @@
|
||||
export default {
|
||||
"pageTitle": "🌱 مُكوّن جروبوكس",
|
||||
"pageSubtitle": "ركّب إعداد النمو الداخلي المثالي بتاعك",
|
||||
"bundleDiscountTitle": "🎯 احصل على خصم الباقة!",
|
||||
"loadingProducts": "جارٍ تحميل منتجات الجروبوكس...",
|
||||
"loadingLighting": "جارٍ تحميل منتجات الإضاءة...",
|
||||
"loadingVentilation": "جارٍ تحميل منتجات التهوية...",
|
||||
"loadingExtras": "جارٍ تحميل الإضافات...",
|
||||
"noProductsAvailable": "لا توجد منتجات متاحة لهذا الحجم",
|
||||
"noLightingAvailable": "لا توجد أضواء مناسبة لحجم الخيمة {{shape}}.",
|
||||
"noVentilationAvailable": "لا توجد تهوية مناسبة لحجم الخيمة {{shape}}.",
|
||||
"noExtrasAvailable": "لا توجد إضافات متاحة",
|
||||
"selectShapeTitle": "1. اختر شكل الجروبوكس",
|
||||
"selectShapeSubtitle": "أولاً اختر مساحة قاعدة الجروبوكس بتاعك",
|
||||
"selectProductTitle": "2. اختر منتج الجروبوكس",
|
||||
"selectProductSubtitle": "اختر المنتج المناسب لجروبوكس {{shape}} بتاعك",
|
||||
"selectLightingTitle": "3. اختر الإضاءة",
|
||||
"selectLightingTitleShape": "3. اختر الإضاءة - {{shape}}",
|
||||
"selectLightingSubtitle": "من فضلك اختر حجم الخيمة أولاً.",
|
||||
"selectVentilationTitle": "4. اختر التهوية",
|
||||
"selectVentilationTitleShape": "4. اختر التهوية - {{shape}}",
|
||||
"selectVentilationSubtitle": "من فضلك اختر حجم الخيمة أولاً.",
|
||||
"selectExtrasTitle": "5. أضف إضافات (اختياري)",
|
||||
"yourConfiguration": "🎯 التكوين بتاعك",
|
||||
"growboxLabel": "جروبوكس: {{name}}",
|
||||
"lightingLabel": "الإضاءة: {{name}}",
|
||||
"ventilationLabel": "التهوية: {{name}}",
|
||||
"extraLabel": "إضافة: {{name}}",
|
||||
"totalPrice": "السعر الكلي:",
|
||||
"addToCart": "أضف إلى العربة",
|
||||
"selected": "✓ تم الاختيار",
|
||||
"notDeliverable": "غير متوفر للتوصيل",
|
||||
"noPrice": "لا يوجد سعر",
|
||||
"setName": "طقم جروبوكس - {{shape}}"
|
||||
};
|
||||
35
src/i18n/locales/bg/kitConfig.js
Normal file
35
src/i18n/locales/bg/kitConfig.js
Normal file
@@ -0,0 +1,35 @@
|
||||
export default {
|
||||
"pageTitle": "🌱 Конфигуратор за Growbox",
|
||||
"pageSubtitle": "Създайте перфектната си вътрешна система за отглеждане",
|
||||
"bundleDiscountTitle": "🎯 Вземете отстъпка за комплект!",
|
||||
"loadingProducts": "Зареждат се продукти за growbox...",
|
||||
"loadingLighting": "Зареждат се продукти за осветление...",
|
||||
"loadingVentilation": "Зареждат се продукти за вентилация...",
|
||||
"loadingExtras": "Зареждат се допълнителни продукти...",
|
||||
"noProductsAvailable": "Няма налични продукти за този размер",
|
||||
"noLightingAvailable": "Няма подходящи лампи за размер на палатка {{shape}}.",
|
||||
"noVentilationAvailable": "Няма подходяща вентилация за размер на палатка {{shape}}.",
|
||||
"noExtrasAvailable": "Няма налични допълнителни продукти",
|
||||
"selectShapeTitle": "1. Изберете форма на growbox",
|
||||
"selectShapeSubtitle": "Първо изберете основната площ на вашия growbox",
|
||||
"selectProductTitle": "2. Изберете продукт за growbox",
|
||||
"selectProductSubtitle": "Изберете подходящия продукт за вашия {{shape}} growbox",
|
||||
"selectLightingTitle": "3. Изберете осветление",
|
||||
"selectLightingTitleShape": "3. Изберете осветление - {{shape}}",
|
||||
"selectLightingSubtitle": "Моля, първо изберете размер на палатка.",
|
||||
"selectVentilationTitle": "4. Изберете вентилация",
|
||||
"selectVentilationTitleShape": "4. Изберете вентилация - {{shape}}",
|
||||
"selectVentilationSubtitle": "Моля, първо изберете размер на палатка.",
|
||||
"selectExtrasTitle": "5. Добавете допълнителни продукти (по избор)",
|
||||
"yourConfiguration": "🎯 Вашата конфигурация",
|
||||
"growboxLabel": "Growbox: {{name}}",
|
||||
"lightingLabel": "Осветление: {{name}}",
|
||||
"ventilationLabel": "Вентилация: {{name}}",
|
||||
"extraLabel": "Допълнително: {{name}}",
|
||||
"totalPrice": "Обща цена:",
|
||||
"addToCart": "Добави в количката",
|
||||
"selected": "✓ Избрано",
|
||||
"notDeliverable": "Не е налично за доставка",
|
||||
"noPrice": "Няма цена",
|
||||
"setName": "Комплект Growbox - {{shape}}"
|
||||
};
|
||||
35
src/i18n/locales/cs/kitConfig.js
Normal file
35
src/i18n/locales/cs/kitConfig.js
Normal file
@@ -0,0 +1,35 @@
|
||||
export default {
|
||||
"pageTitle": "🌱 Konfigurátor growboxu",
|
||||
"pageSubtitle": "Sestavte si svůj dokonalý indoor grow setup",
|
||||
"bundleDiscountTitle": "🎯 Získejte slevu na balíček!",
|
||||
"loadingProducts": "Načítání produktů growboxu...",
|
||||
"loadingLighting": "Načítání osvětlení...",
|
||||
"loadingVentilation": "Načítání ventilace...",
|
||||
"loadingExtras": "Načítání doplňků...",
|
||||
"noProductsAvailable": "Pro tuto velikost nejsou k dispozici žádné produkty",
|
||||
"noLightingAvailable": "Pro velikost stanu {{shape}} nejsou k dispozici žádná vhodná světla.",
|
||||
"noVentilationAvailable": "Pro velikost stanu {{shape}} není k dispozici žádná vhodná ventilace.",
|
||||
"noExtrasAvailable": "Žádné doplňky nejsou k dispozici",
|
||||
"selectShapeTitle": "1. Vyberte tvar growboxu",
|
||||
"selectShapeSubtitle": "Nejprve vyberte základní plochu vašeho growboxu",
|
||||
"selectProductTitle": "2. Vyberte produkt growboxu",
|
||||
"selectProductSubtitle": "Vyberte správný produkt pro váš growbox {{shape}}",
|
||||
"selectLightingTitle": "3. Vyberte osvětlení",
|
||||
"selectLightingTitleShape": "3. Vyberte osvětlení - {{shape}}",
|
||||
"selectLightingSubtitle": "Nejprve prosím vyberte velikost stanu.",
|
||||
"selectVentilationTitle": "4. Vyberte ventilaci",
|
||||
"selectVentilationTitleShape": "4. Vyberte ventilaci - {{shape}}",
|
||||
"selectVentilationSubtitle": "Nejprve prosím vyberte velikost stanu.",
|
||||
"selectExtrasTitle": "5. Přidejte doplňky (volitelné)",
|
||||
"yourConfiguration": "🎯 Vaše konfigurace",
|
||||
"growboxLabel": "Growbox: {{name}}",
|
||||
"lightingLabel": "Osvětlení: {{name}}",
|
||||
"ventilationLabel": "Ventilace: {{name}}",
|
||||
"extraLabel": "Doplněk: {{name}}",
|
||||
"totalPrice": "Celková cena:",
|
||||
"addToCart": "Přidat do košíku",
|
||||
"selected": "✓ Vybráno",
|
||||
"notDeliverable": "Nedodává se",
|
||||
"noPrice": "Bez ceny",
|
||||
"setName": "Sada growboxu - {{shape}}"
|
||||
};
|
||||
36
src/i18n/locales/de/kitConfig.js
Normal file
36
src/i18n/locales/de/kitConfig.js
Normal file
@@ -0,0 +1,36 @@
|
||||
export default {
|
||||
"pageTitle": "🌱 Growbox Konfigurator",
|
||||
"pageSubtitle": "Stelle dein perfektes Indoor Grow Setup zusammen",
|
||||
"bundleDiscountTitle": "🎯 Bundle-Rabatt sichern!",
|
||||
"loadingProducts": "Lade Growbox-Produkte...",
|
||||
"loadingLighting": "Lade Beleuchtungs-Produkte...",
|
||||
"loadingVentilation": "Lade Belüftungs-Produkte...",
|
||||
"loadingExtras": "Lade Extras...",
|
||||
"noProductsAvailable": "Keine Produkte für diese Größe verfügbar",
|
||||
"noLightingAvailable": "Keine passenden Lampen für Zeltgröße {{shape}} verfügbar.",
|
||||
"noVentilationAvailable": "Keine passenden Belüftung für Zeltgröße {{shape}} verfügbar.",
|
||||
"noExtrasAvailable": "Keine Extras verfügbar",
|
||||
"selectShapeTitle": "1. Growbox-Form auswählen",
|
||||
"selectShapeSubtitle": "Wähle zuerst die Grundfläche deiner Growbox aus",
|
||||
"selectProductTitle": "2. Growbox Produkt auswählen",
|
||||
"selectProductSubtitle": "Wähle das passende Produkt für deine {{shape}} Growbox",
|
||||
"selectLightingTitle": "3. Beleuchtung wählen",
|
||||
"selectLightingTitleShape": "3. Beleuchtung wählen - {{shape}}",
|
||||
"selectLightingSubtitle": "Bitte wählen Sie zuerst eine Zeltgröße aus.",
|
||||
"selectVentilationTitle": "4. Belüftung auswählen",
|
||||
"selectVentilationTitleShape": "4. Belüftung auswählen - {{shape}}",
|
||||
"selectVentilationSubtitle": "Bitte wählen Sie zuerst eine Zeltgröße aus.",
|
||||
"selectExtrasTitle": "5. Extras hinzufügen (optional)",
|
||||
"yourConfiguration": "🎯 Ihre Konfiguration",
|
||||
"growboxLabel": "Growbox: {{name}}",
|
||||
"lightingLabel": "Beleuchtung: {{name}}",
|
||||
"ventilationLabel": "Belüftung: {{name}}",
|
||||
"extraLabel": "Extra: {{name}}",
|
||||
"totalPrice": "Gesamtpreis:",
|
||||
"addToCart": "In den Warenkorb",
|
||||
"selected": "✓ Ausgewählt",
|
||||
"notDeliverable": "Nicht lieferbar",
|
||||
"noPrice": "Kein Preis",
|
||||
"setName": "Growbox Set - {{shape}}"
|
||||
};
|
||||
|
||||
35
src/i18n/locales/el/kitConfig.js
Normal file
35
src/i18n/locales/el/kitConfig.js
Normal file
@@ -0,0 +1,35 @@
|
||||
export default {
|
||||
"pageTitle": "🌱 Διαμορφωτής Growbox",
|
||||
"pageSubtitle": "Συνθέστε το τέλειο εσωτερικό σύστημα καλλιέργειας",
|
||||
"bundleDiscountTitle": "🎯 Αποκτήστε έκπτωση πακέτου!",
|
||||
"loadingProducts": "Φόρτωση προϊόντων growbox...",
|
||||
"loadingLighting": "Φόρτωση προϊόντων φωτισμού...",
|
||||
"loadingVentilation": "Φόρτωση προϊόντων αερισμού...",
|
||||
"loadingExtras": "Φόρτωση επιπλέον...",
|
||||
"noProductsAvailable": "Δεν υπάρχουν διαθέσιμα προϊόντα για αυτό το μέγεθος",
|
||||
"noLightingAvailable": "Δεν υπάρχουν κατάλληλα φώτα για το μέγεθος σκηνής {{shape}}.",
|
||||
"noVentilationAvailable": "Δεν υπάρχει κατάλληλος αερισμός για το μέγεθος σκηνής {{shape}}.",
|
||||
"noExtrasAvailable": "Δεν υπάρχουν επιπλέον διαθέσιμα",
|
||||
"selectShapeTitle": "1. Επιλέξτε το σχήμα του growbox",
|
||||
"selectShapeSubtitle": "Επιλέξτε πρώτα την βασική επιφάνεια του growbox σας",
|
||||
"selectProductTitle": "2. Επιλέξτε προϊόν growbox",
|
||||
"selectProductSubtitle": "Επιλέξτε το κατάλληλο προϊόν για το growbox {{shape}} σας",
|
||||
"selectLightingTitle": "3. Επιλέξτε φωτισμό",
|
||||
"selectLightingTitleShape": "3. Επιλέξτε φωτισμό - {{shape}}",
|
||||
"selectLightingSubtitle": "Παρακαλώ επιλέξτε πρώτα το μέγεθος της σκηνής.",
|
||||
"selectVentilationTitle": "4. Επιλέξτε αερισμό",
|
||||
"selectVentilationTitleShape": "4. Επιλέξτε αερισμό - {{shape}}",
|
||||
"selectVentilationSubtitle": "Παρακαλώ επιλέξτε πρώτα το μέγεθος της σκηνής.",
|
||||
"selectExtrasTitle": "5. Προσθέστε επιπλέον (προαιρετικά)",
|
||||
"yourConfiguration": "🎯 Η διαμόρφωσή σας",
|
||||
"growboxLabel": "Growbox: {{name}}",
|
||||
"lightingLabel": "Φωτισμός: {{name}}",
|
||||
"ventilationLabel": "Αερισμός: {{name}}",
|
||||
"extraLabel": "Επιπλέον: {{name}}",
|
||||
"totalPrice": "Συνολική τιμή:",
|
||||
"addToCart": "Προσθήκη στο καλάθι",
|
||||
"selected": "✓ Επιλεγμένο",
|
||||
"notDeliverable": "Μη διαθέσιμο για παράδοση",
|
||||
"noPrice": "Χωρίς τιμή",
|
||||
"setName": "Σετ Growbox - {{shape}}"
|
||||
};
|
||||
35
src/i18n/locales/en/kitConfig.js
Normal file
35
src/i18n/locales/en/kitConfig.js
Normal file
@@ -0,0 +1,35 @@
|
||||
export default {
|
||||
"pageTitle": "🌱 Growbox configurator", // 🌱 Growbox Konfigurator
|
||||
"pageSubtitle": "Put together your perfect indoor grow setup", // Stelle dein perfektes Indoor Grow Setup zusammen
|
||||
"bundleDiscountTitle": "🎯 Get bundle discount!", // 🎯 Bundle-Rabatt sichern!
|
||||
"loadingProducts": "Loading growbox products...", // Lade Growbox-Produkte...
|
||||
"loadingLighting": "Loading lighting products...", // Lade Beleuchtungs-Produkte...
|
||||
"loadingVentilation": "Loading ventilation products...", // Lade Belüftungs-Produkte...
|
||||
"loadingExtras": "Loading extras...", // Lade Extras...
|
||||
"noProductsAvailable": "No products available for this size", // Keine Produkte für diese Größe verfügbar
|
||||
"noLightingAvailable": "No suitable lights available for tent size {{shape}}.", // Keine passenden Lampen für Zeltgröße {{shape}} verfügbar.
|
||||
"noVentilationAvailable": "No suitable ventilation available for tent size {{shape}}.", // Keine passenden Belüftung für Zeltgröße {{shape}} verfügbar.
|
||||
"noExtrasAvailable": "No extras available", // Keine Extras verfügbar
|
||||
"selectShapeTitle": "1. Select growbox shape", // 1. Growbox-Form auswählen
|
||||
"selectShapeSubtitle": "First select the base area of your growbox", // Wähle zuerst die Grundfläche deiner Growbox aus
|
||||
"selectProductTitle": "2. Select growbox product", // 2. Growbox Produkt auswählen
|
||||
"selectProductSubtitle": "Select the right product for your {{shape}} growbox", // Wähle das passende Produkt für deine {{shape}} Growbox
|
||||
"selectLightingTitle": "3. Select lighting", // 3. Beleuchtung wählen
|
||||
"selectLightingTitleShape": "3. Select lighting - {{shape}}", // 3. Beleuchtung wählen - {{shape}}
|
||||
"selectLightingSubtitle": "Please select a tent size first.", // Bitte wählen Sie zuerst eine Zeltgröße aus.
|
||||
"selectVentilationTitle": "4. Select ventilation", // 4. Belüftung auswählen
|
||||
"selectVentilationTitleShape": "4. Select ventilation - {{shape}}", // 4. Belüftung auswählen - {{shape}}
|
||||
"selectVentilationSubtitle": "Please select a tent size first.", // Bitte wählen Sie zuerst eine Zeltgröße aus.
|
||||
"selectExtrasTitle": "5. Add extras (optional)", // 5. Extras hinzufügen (optional)
|
||||
"yourConfiguration": "🎯 Your configuration", // 🎯 Ihre Konfiguration
|
||||
"growboxLabel": "Growbox: {{name}}", // Growbox: {{name}}
|
||||
"lightingLabel": "Lighting: {{name}}", // Beleuchtung: {{name}}
|
||||
"ventilationLabel": "Ventilation: {{name}}", // Belüftung: {{name}}
|
||||
"extraLabel": "Extra: {{name}}", // Extra: {{name}}
|
||||
"totalPrice": "Total price:", // Gesamtpreis:
|
||||
"addToCart": "Add to cart", // In den Warenkorb
|
||||
"selected": "✓ Selected", // ✓ Ausgewählt
|
||||
"notDeliverable": "Not deliverable", // Nicht lieferbar
|
||||
"noPrice": "No price", // Kein Preis
|
||||
"setName": "Growbox set - {{shape}}" // Growbox Set - {{shape}}
|
||||
};
|
||||
35
src/i18n/locales/es/kitConfig.js
Normal file
35
src/i18n/locales/es/kitConfig.js
Normal file
@@ -0,0 +1,35 @@
|
||||
export default {
|
||||
"pageTitle": "🌱 Configurador de Growbox",
|
||||
"pageSubtitle": "Arma tu setup perfecto de cultivo interior",
|
||||
"bundleDiscountTitle": "🎯 ¡Obtén descuento por paquete!",
|
||||
"loadingProducts": "Cargando productos de growbox...",
|
||||
"loadingLighting": "Cargando productos de iluminación...",
|
||||
"loadingVentilation": "Cargando productos de ventilación...",
|
||||
"loadingExtras": "Cargando extras...",
|
||||
"noProductsAvailable": "No hay productos disponibles para este tamaño",
|
||||
"noLightingAvailable": "No hay luces adecuadas disponibles para el tamaño de tienda {{shape}}.",
|
||||
"noVentilationAvailable": "No hay ventilación adecuada disponible para el tamaño de tienda {{shape}}.",
|
||||
"noExtrasAvailable": "No hay extras disponibles",
|
||||
"selectShapeTitle": "1. Selecciona la forma de la growbox",
|
||||
"selectShapeSubtitle": "Primero selecciona el área base de tu growbox",
|
||||
"selectProductTitle": "2. Selecciona el producto de growbox",
|
||||
"selectProductSubtitle": "Selecciona el producto adecuado para tu growbox {{shape}}",
|
||||
"selectLightingTitle": "3. Selecciona la iluminación",
|
||||
"selectLightingTitleShape": "3. Selecciona la iluminación - {{shape}}",
|
||||
"selectLightingSubtitle": "Por favor selecciona primero un tamaño de tienda.",
|
||||
"selectVentilationTitle": "4. Selecciona la ventilación",
|
||||
"selectVentilationTitleShape": "4. Selecciona la ventilación - {{shape}}",
|
||||
"selectVentilationSubtitle": "Por favor selecciona primero un tamaño de tienda.",
|
||||
"selectExtrasTitle": "5. Añade extras (opcional)",
|
||||
"yourConfiguration": "🎯 Tu configuración",
|
||||
"growboxLabel": "Growbox: {{name}}",
|
||||
"lightingLabel": "Iluminación: {{name}}",
|
||||
"ventilationLabel": "Ventilación: {{name}}",
|
||||
"extraLabel": "Extra: {{name}}",
|
||||
"totalPrice": "Precio total:",
|
||||
"addToCart": "Añadir al carrito",
|
||||
"selected": "✓ Seleccionado",
|
||||
"notDeliverable": "No entregable",
|
||||
"noPrice": "Sin precio",
|
||||
"setName": "Set de growbox - {{shape}}"
|
||||
};
|
||||
35
src/i18n/locales/fr/kitConfig.js
Normal file
35
src/i18n/locales/fr/kitConfig.js
Normal file
@@ -0,0 +1,35 @@
|
||||
export default {
|
||||
"pageTitle": "🌱 Configurateur de growbox",
|
||||
"pageSubtitle": "Composez votre installation de culture d'intérieur parfaite",
|
||||
"bundleDiscountTitle": "🎯 Bénéficiez d'une remise sur le pack !",
|
||||
"loadingProducts": "Chargement des produits growbox...",
|
||||
"loadingLighting": "Chargement des produits d'éclairage...",
|
||||
"loadingVentilation": "Chargement des produits de ventilation...",
|
||||
"loadingExtras": "Chargement des extras...",
|
||||
"noProductsAvailable": "Aucun produit disponible pour cette taille",
|
||||
"noLightingAvailable": "Aucun éclairage adapté disponible pour la taille de tente {{shape}}.",
|
||||
"noVentilationAvailable": "Aucune ventilation adaptée disponible pour la taille de tente {{shape}}.",
|
||||
"noExtrasAvailable": "Aucun extra disponible",
|
||||
"selectShapeTitle": "1. Sélectionnez la forme de la growbox",
|
||||
"selectShapeSubtitle": "Sélectionnez d'abord la surface de base de votre growbox",
|
||||
"selectProductTitle": "2. Sélectionnez le produit growbox",
|
||||
"selectProductSubtitle": "Choisissez le produit adapté à votre growbox {{shape}}",
|
||||
"selectLightingTitle": "3. Sélectionnez l'éclairage",
|
||||
"selectLightingTitleShape": "3. Sélectionnez l'éclairage - {{shape}}",
|
||||
"selectLightingSubtitle": "Veuillez d'abord sélectionner une taille de tente.",
|
||||
"selectVentilationTitle": "4. Sélectionnez la ventilation",
|
||||
"selectVentilationTitleShape": "4. Sélectionnez la ventilation - {{shape}}",
|
||||
"selectVentilationSubtitle": "Veuillez d'abord sélectionner une taille de tente.",
|
||||
"selectExtrasTitle": "5. Ajoutez des extras (optionnel)",
|
||||
"yourConfiguration": "🎯 Votre configuration",
|
||||
"growboxLabel": "Growbox : {{name}}",
|
||||
"lightingLabel": "Éclairage : {{name}}",
|
||||
"ventilationLabel": "Ventilation : {{name}}",
|
||||
"extraLabel": "Extra : {{name}}",
|
||||
"totalPrice": "Prix total :",
|
||||
"addToCart": "Ajouter au panier",
|
||||
"selected": "✓ Sélectionné",
|
||||
"notDeliverable": "Non livrable",
|
||||
"noPrice": "Pas de prix",
|
||||
"setName": "Pack growbox - {{shape}}"
|
||||
};
|
||||
35
src/i18n/locales/hr/kitConfig.js
Normal file
35
src/i18n/locales/hr/kitConfig.js
Normal file
@@ -0,0 +1,35 @@
|
||||
export default {
|
||||
"pageTitle": "🌱 Konfigurator growboxa",
|
||||
"pageSubtitle": "Sastavite svoju savršenu unutarnju grow postavu",
|
||||
"bundleDiscountTitle": "🎯 Ostvarite popust na paket!",
|
||||
"loadingProducts": "Učitavanje growbox proizvoda...",
|
||||
"loadingLighting": "Učitavanje proizvoda za osvjetljenje...",
|
||||
"loadingVentilation": "Učitavanje proizvoda za ventilaciju...",
|
||||
"loadingExtras": "Učitavanje dodataka...",
|
||||
"noProductsAvailable": "Nema proizvoda dostupnih za ovu veličinu",
|
||||
"noLightingAvailable": "Nema odgovarajućih svjetala za veličinu šatora {{shape}}.",
|
||||
"noVentilationAvailable": "Nema odgovarajuće ventilacije za veličinu šatora {{shape}}.",
|
||||
"noExtrasAvailable": "Nema dodataka dostupnih",
|
||||
"selectShapeTitle": "1. Odaberite oblik growboxa",
|
||||
"selectShapeSubtitle": "Prvo odaberite osnovnu površinu vašeg growboxa",
|
||||
"selectProductTitle": "2. Odaberite growbox proizvod",
|
||||
"selectProductSubtitle": "Odaberite pravi proizvod za vaš {{shape}} growbox",
|
||||
"selectLightingTitle": "3. Odaberite osvjetljenje",
|
||||
"selectLightingTitleShape": "3. Odaberite osvjetljenje - {{shape}}",
|
||||
"selectLightingSubtitle": "Molimo prvo odaberite veličinu šatora.",
|
||||
"selectVentilationTitle": "4. Odaberite ventilaciju",
|
||||
"selectVentilationTitleShape": "4. Odaberite ventilaciju - {{shape}}",
|
||||
"selectVentilationSubtitle": "Molimo prvo odaberite veličinu šatora.",
|
||||
"selectExtrasTitle": "5. Dodajte dodatke (opcionalno)",
|
||||
"yourConfiguration": "🎯 Vaša konfiguracija",
|
||||
"growboxLabel": "Growbox: {{name}}",
|
||||
"lightingLabel": "Osvjetljenje: {{name}}",
|
||||
"ventilationLabel": "Ventilacija: {{name}}",
|
||||
"extraLabel": "Dodatak: {{name}}",
|
||||
"totalPrice": "Ukupna cijena:",
|
||||
"addToCart": "Dodaj u košaricu",
|
||||
"selected": "✓ Odabrano",
|
||||
"notDeliverable": "Nije dostavljivo",
|
||||
"noPrice": "Nema cijene",
|
||||
"setName": "Growbox set - {{shape}}"
|
||||
};
|
||||
35
src/i18n/locales/hu/kitConfig.js
Normal file
35
src/i18n/locales/hu/kitConfig.js
Normal file
@@ -0,0 +1,35 @@
|
||||
export default {
|
||||
"pageTitle": "🌱 Growbox konfigurátor",
|
||||
"pageSubtitle": "Állítsd össze a tökéletes beltéri termesztő rendszeredet",
|
||||
"bundleDiscountTitle": "🎯 Szerezd meg a csomagkedvezményt!",
|
||||
"loadingProducts": "Growbox termékek betöltése...",
|
||||
"loadingLighting": "Világítási termékek betöltése...",
|
||||
"loadingVentilation": "Szellőztető termékek betöltése...",
|
||||
"loadingExtras": "Extrák betöltése...",
|
||||
"noProductsAvailable": "Nincs elérhető termék ehhez a mérethez",
|
||||
"noLightingAvailable": "Nincs megfelelő lámpa a(z) {{shape}} sátormérethez.",
|
||||
"noVentilationAvailable": "Nincs megfelelő szellőztetés a(z) {{shape}} sátormérethez.",
|
||||
"noExtrasAvailable": "Nincsenek extrák",
|
||||
"selectShapeTitle": "1. Válaszd ki a growbox formáját",
|
||||
"selectShapeSubtitle": "Először válaszd ki a growbox alapterületét",
|
||||
"selectProductTitle": "2. Válaszd ki a growbox terméket",
|
||||
"selectProductSubtitle": "Válaszd ki a megfelelő terméket a(z) {{shape}} growboxodhoz",
|
||||
"selectLightingTitle": "3. Válaszd ki a világítást",
|
||||
"selectLightingTitleShape": "3. Válaszd ki a világítást - {{shape}}",
|
||||
"selectLightingSubtitle": "Kérjük, először válassz sátorméretet.",
|
||||
"selectVentilationTitle": "4. Válaszd ki a szellőztetést",
|
||||
"selectVentilationTitleShape": "4. Válaszd ki a szellőztetést - {{shape}}",
|
||||
"selectVentilationSubtitle": "Kérjük, először válassz sátorméretet.",
|
||||
"selectExtrasTitle": "5. Adj hozzá extrákat (opcionális)",
|
||||
"yourConfiguration": "🎯 A te konfigurációd",
|
||||
"growboxLabel": "Growbox: {{name}}",
|
||||
"lightingLabel": "Világítás: {{name}}",
|
||||
"ventilationLabel": "Szellőztetés: {{name}}",
|
||||
"extraLabel": "Extra: {{name}}",
|
||||
"totalPrice": "Teljes ár:",
|
||||
"addToCart": "Kosárba tesz",
|
||||
"selected": "✓ Kiválasztva",
|
||||
"notDeliverable": "Nem szállítható",
|
||||
"noPrice": "Nincs ár",
|
||||
"setName": "Growbox szett - {{shape}}"
|
||||
};
|
||||
35
src/i18n/locales/it/kitConfig.js
Normal file
35
src/i18n/locales/it/kitConfig.js
Normal file
@@ -0,0 +1,35 @@
|
||||
export default {
|
||||
"pageTitle": "🌱 Configuratore Growbox",
|
||||
"pageSubtitle": "Metti insieme il tuo setup indoor perfetto",
|
||||
"bundleDiscountTitle": "🎯 Ottieni lo sconto bundle!",
|
||||
"loadingProducts": "Caricamento prodotti growbox...",
|
||||
"loadingLighting": "Caricamento prodotti illuminazione...",
|
||||
"loadingVentilation": "Caricamento prodotti ventilazione...",
|
||||
"loadingExtras": "Caricamento extra...",
|
||||
"noProductsAvailable": "Nessun prodotto disponibile per questa dimensione",
|
||||
"noLightingAvailable": "Nessuna luce adatta disponibile per la dimensione della tenda {{shape}}.",
|
||||
"noVentilationAvailable": "Nessuna ventilazione adatta disponibile per la dimensione della tenda {{shape}}.",
|
||||
"noExtrasAvailable": "Nessun extra disponibile",
|
||||
"selectShapeTitle": "1. Seleziona la forma della growbox",
|
||||
"selectShapeSubtitle": "Seleziona prima l'area di base della tua growbox",
|
||||
"selectProductTitle": "2. Seleziona il prodotto growbox",
|
||||
"selectProductSubtitle": "Seleziona il prodotto giusto per la tua growbox {{shape}}",
|
||||
"selectLightingTitle": "3. Seleziona l'illuminazione",
|
||||
"selectLightingTitleShape": "3. Seleziona l'illuminazione - {{shape}}",
|
||||
"selectLightingSubtitle": "Per favore seleziona prima una dimensione della tenda.",
|
||||
"selectVentilationTitle": "4. Seleziona la ventilazione",
|
||||
"selectVentilationTitleShape": "4. Seleziona la ventilazione - {{shape}}",
|
||||
"selectVentilationSubtitle": "Per favore seleziona prima una dimensione della tenda.",
|
||||
"selectExtrasTitle": "5. Aggiungi extra (opzionale)",
|
||||
"yourConfiguration": "🎯 La tua configurazione",
|
||||
"growboxLabel": "Growbox: {{name}}",
|
||||
"lightingLabel": "Illuminazione: {{name}}",
|
||||
"ventilationLabel": "Ventilazione: {{name}}",
|
||||
"extraLabel": "Extra: {{name}}",
|
||||
"totalPrice": "Prezzo totale:",
|
||||
"addToCart": "Aggiungi al carrello",
|
||||
"selected": "✓ Selezionato",
|
||||
"notDeliverable": "Non disponibile",
|
||||
"noPrice": "Nessun prezzo",
|
||||
"setName": "Set Growbox - {{shape}}"
|
||||
};
|
||||
35
src/i18n/locales/pl/kitConfig.js
Normal file
35
src/i18n/locales/pl/kitConfig.js
Normal file
@@ -0,0 +1,35 @@
|
||||
export default {
|
||||
"pageTitle": "🌱 Konfigurator growboxa",
|
||||
"pageSubtitle": "Skonfiguruj idealny zestaw do uprawy w pomieszczeniu",
|
||||
"bundleDiscountTitle": "🎯 Skorzystaj z rabatu na zestaw!",
|
||||
"loadingProducts": "Ładowanie produktów growbox...",
|
||||
"loadingLighting": "Ładowanie produktów oświetleniowych...",
|
||||
"loadingVentilation": "Ładowanie produktów wentylacyjnych...",
|
||||
"loadingExtras": "Ładowanie dodatków...",
|
||||
"noProductsAvailable": "Brak produktów dostępnych dla tego rozmiaru",
|
||||
"noLightingAvailable": "Brak odpowiednich lamp dla rozmiaru namiotu {{shape}}.",
|
||||
"noVentilationAvailable": "Brak odpowiedniej wentylacji dla rozmiaru namiotu {{shape}}.",
|
||||
"noExtrasAvailable": "Brak dodatków",
|
||||
"selectShapeTitle": "1. Wybierz kształt growboxa",
|
||||
"selectShapeSubtitle": "Najpierw wybierz powierzchnię podstawy swojego growboxa",
|
||||
"selectProductTitle": "2. Wybierz produkt growboxa",
|
||||
"selectProductSubtitle": "Wybierz odpowiedni produkt dla swojego growboxa {{shape}}",
|
||||
"selectLightingTitle": "3. Wybierz oświetlenie",
|
||||
"selectLightingTitleShape": "3. Wybierz oświetlenie - {{shape}}",
|
||||
"selectLightingSubtitle": "Proszę najpierw wybrać rozmiar namiotu.",
|
||||
"selectVentilationTitle": "4. Wybierz wentylację",
|
||||
"selectVentilationTitleShape": "4. Wybierz wentylację - {{shape}}",
|
||||
"selectVentilationSubtitle": "Proszę najpierw wybrać rozmiar namiotu.",
|
||||
"selectExtrasTitle": "5. Dodaj dodatki (opcjonalnie)",
|
||||
"yourConfiguration": "🎯 Twoja konfiguracja",
|
||||
"growboxLabel": "Growbox: {{name}}",
|
||||
"lightingLabel": "Oświetlenie: {{name}}",
|
||||
"ventilationLabel": "Wentylacja: {{name}}",
|
||||
"extraLabel": "Dodatek: {{name}}",
|
||||
"totalPrice": "Cena całkowita:",
|
||||
"addToCart": "Dodaj do koszyka",
|
||||
"selected": "✓ Wybrane",
|
||||
"notDeliverable": "Niedostępne",
|
||||
"noPrice": "Brak ceny",
|
||||
"setName": "Zestaw growbox - {{shape}}"
|
||||
};
|
||||
35
src/i18n/locales/ro/kitConfig.js
Normal file
35
src/i18n/locales/ro/kitConfig.js
Normal file
@@ -0,0 +1,35 @@
|
||||
export default {
|
||||
"pageTitle": "🌱 Configurator Growbox",
|
||||
"pageSubtitle": "Asamblează-ți setup-ul perfect pentru cultivare indoor",
|
||||
"bundleDiscountTitle": "🎯 Obține reducere la pachet!",
|
||||
"loadingProducts": "Se încarcă produse growbox...",
|
||||
"loadingLighting": "Se încarcă produse de iluminat...",
|
||||
"loadingVentilation": "Se încarcă produse de ventilație...",
|
||||
"loadingExtras": "Se încarcă accesorii...",
|
||||
"noProductsAvailable": "Nu există produse disponibile pentru această dimensiune",
|
||||
"noLightingAvailable": "Nu există lumini potrivite pentru dimensiunea cortului {{shape}}.",
|
||||
"noVentilationAvailable": "Nu există ventilație potrivită pentru dimensiunea cortului {{shape}}.",
|
||||
"noExtrasAvailable": "Nu există accesorii disponibile",
|
||||
"selectShapeTitle": "1. Selectează forma growbox-ului",
|
||||
"selectShapeSubtitle": "Mai întâi selectează suprafața de bază a growbox-ului tău",
|
||||
"selectProductTitle": "2. Selectează produsul growbox",
|
||||
"selectProductSubtitle": "Selectează produsul potrivit pentru growbox-ul tău {{shape}}",
|
||||
"selectLightingTitle": "3. Selectează iluminatul",
|
||||
"selectLightingTitleShape": "3. Selectează iluminatul - {{shape}}",
|
||||
"selectLightingSubtitle": "Te rugăm să selectezi mai întâi dimensiunea cortului.",
|
||||
"selectVentilationTitle": "4. Selectează ventilația",
|
||||
"selectVentilationTitleShape": "4. Selectează ventilația - {{shape}}",
|
||||
"selectVentilationSubtitle": "Te rugăm să selectezi mai întâi dimensiunea cortului.",
|
||||
"selectExtrasTitle": "5. Adaugă accesorii (opțional)",
|
||||
"yourConfiguration": "🎯 Configurația ta",
|
||||
"growboxLabel": "Growbox: {{name}}",
|
||||
"lightingLabel": "Iluminat: {{name}}",
|
||||
"ventilationLabel": "Ventilație: {{name}}",
|
||||
"extraLabel": "Accesoriu: {{name}}",
|
||||
"totalPrice": "Preț total:",
|
||||
"addToCart": "Adaugă în coș",
|
||||
"selected": "✓ Selectat",
|
||||
"notDeliverable": "Nu se poate livra",
|
||||
"noPrice": "Fără preț",
|
||||
"setName": "Set Growbox - {{shape}}"
|
||||
};
|
||||
35
src/i18n/locales/ru/kitConfig.js
Normal file
35
src/i18n/locales/ru/kitConfig.js
Normal file
@@ -0,0 +1,35 @@
|
||||
export default {
|
||||
"pageTitle": "🌱 Конфигуратор Growbox",
|
||||
"pageSubtitle": "Соберите идеальную установку для выращивания в помещении",
|
||||
"bundleDiscountTitle": "🎯 Получите скидку на комплект!",
|
||||
"loadingProducts": "Загрузка продуктов для growbox...",
|
||||
"loadingLighting": "Загрузка продуктов освещения...",
|
||||
"loadingVentilation": "Загрузка продуктов вентиляции...",
|
||||
"loadingExtras": "Загрузка дополнительных товаров...",
|
||||
"noProductsAvailable": "Нет доступных продуктов для этого размера",
|
||||
"noLightingAvailable": "Нет подходящих ламп для размера палатки {{shape}}.",
|
||||
"noVentilationAvailable": "Нет подходящей вентиляции для размера палатки {{shape}}.",
|
||||
"noExtrasAvailable": "Дополнения отсутствуют",
|
||||
"selectShapeTitle": "1. Выберите форму growbox",
|
||||
"selectShapeSubtitle": "Сначала выберите базовую площадь вашей growbox",
|
||||
"selectProductTitle": "2. Выберите продукт growbox",
|
||||
"selectProductSubtitle": "Выберите подходящий продукт для вашей growbox {{shape}}",
|
||||
"selectLightingTitle": "3. Выберите освещение",
|
||||
"selectLightingTitleShape": "3. Выберите освещение - {{shape}}",
|
||||
"selectLightingSubtitle": "Пожалуйста, сначала выберите размер палатки.",
|
||||
"selectVentilationTitle": "4. Выберите вентиляцию",
|
||||
"selectVentilationTitleShape": "4. Выберите вентиляцию - {{shape}}",
|
||||
"selectVentilationSubtitle": "Пожалуйста, сначала выберите размер палатки.",
|
||||
"selectExtrasTitle": "5. Добавьте дополнения (по желанию)",
|
||||
"yourConfiguration": "🎯 Ваша конфигурация",
|
||||
"growboxLabel": "Growbox: {{name}}",
|
||||
"lightingLabel": "Освещение: {{name}}",
|
||||
"ventilationLabel": "Вентиляция: {{name}}",
|
||||
"extraLabel": "Дополнение: {{name}}",
|
||||
"totalPrice": "Итоговая цена:",
|
||||
"addToCart": "Добавить в корзину",
|
||||
"selected": "✓ Выбрано",
|
||||
"notDeliverable": "Не подлежит доставке",
|
||||
"noPrice": "Нет цены",
|
||||
"setName": "Набор Growbox - {{shape}}"
|
||||
};
|
||||
35
src/i18n/locales/sk/kitConfig.js
Normal file
35
src/i18n/locales/sk/kitConfig.js
Normal file
@@ -0,0 +1,35 @@
|
||||
export default {
|
||||
"pageTitle": "🌱 Konfigurátor growboxu",
|
||||
"pageSubtitle": "Zostavte si svoj dokonalý vnútorný grow setup",
|
||||
"bundleDiscountTitle": "🎯 Získajte zľavu na balík!",
|
||||
"loadingProducts": "Načítavam produkty growboxu...",
|
||||
"loadingLighting": "Načítavam osvetľovacie produkty...",
|
||||
"loadingVentilation": "Načítavam ventilačné produkty...",
|
||||
"loadingExtras": "Načítavam doplnky...",
|
||||
"noProductsAvailable": "Pre túto veľkosť nie sú dostupné žiadne produkty",
|
||||
"noLightingAvailable": "Pre veľkosť stanu {{shape}} nie sú dostupné žiadne vhodné svetlá.",
|
||||
"noVentilationAvailable": "Pre veľkosť stanu {{shape}} nie je dostupná žiadna vhodná ventilácia.",
|
||||
"noExtrasAvailable": "Žiadne doplnky nie sú dostupné",
|
||||
"selectShapeTitle": "1. Vyberte tvar growboxu",
|
||||
"selectShapeSubtitle": "Najskôr vyberte základnú plochu vášho growboxu",
|
||||
"selectProductTitle": "2. Vyberte produkt growboxu",
|
||||
"selectProductSubtitle": "Vyberte správny produkt pre váš {{shape}} growbox",
|
||||
"selectLightingTitle": "3. Vyberte osvetlenie",
|
||||
"selectLightingTitleShape": "3. Vyberte osvetlenie - {{shape}}",
|
||||
"selectLightingSubtitle": "Najskôr prosím vyberte veľkosť stanu.",
|
||||
"selectVentilationTitle": "4. Vyberte ventiláciu",
|
||||
"selectVentilationTitleShape": "4. Vyberte ventiláciu - {{shape}}",
|
||||
"selectVentilationSubtitle": "Najskôr prosím vyberte veľkosť stanu.",
|
||||
"selectExtrasTitle": "5. Pridajte doplnky (voliteľné)",
|
||||
"yourConfiguration": "🎯 Vaša konfigurácia",
|
||||
"growboxLabel": "Growbox: {{name}}",
|
||||
"lightingLabel": "Osvetlenie: {{name}}",
|
||||
"ventilationLabel": "Ventilácia: {{name}}",
|
||||
"extraLabel": "Doplnok: {{name}}",
|
||||
"totalPrice": "Celková cena:",
|
||||
"addToCart": "Pridať do košíka",
|
||||
"selected": "✓ Vybrané",
|
||||
"notDeliverable": "Nedodávateľné",
|
||||
"noPrice": "Bez ceny",
|
||||
"setName": "Sada growboxu - {{shape}}"
|
||||
};
|
||||
35
src/i18n/locales/sl/kitConfig.js
Normal file
35
src/i18n/locales/sl/kitConfig.js
Normal file
@@ -0,0 +1,35 @@
|
||||
export default {
|
||||
"pageTitle": "🌱 Konfigurator Growboxa",
|
||||
"pageSubtitle": "Sestavite svojo popolno notranjo growbox postavitev",
|
||||
"bundleDiscountTitle": "🎯 Pridobite popust za paket!",
|
||||
"loadingProducts": "Nalaganje growbox izdelkov...",
|
||||
"loadingLighting": "Nalaganje svetlobnih izdelkov...",
|
||||
"loadingVentilation": "Nalaganje prezračevalnih izdelkov...",
|
||||
"loadingExtras": "Nalaganje dodatkov...",
|
||||
"noProductsAvailable": "Za to velikost ni na voljo izdelkov",
|
||||
"noLightingAvailable": "Za velikost šotora {{shape}} ni na voljo ustreznih luči.",
|
||||
"noVentilationAvailable": "Za velikost šotora {{shape}} ni na voljo ustreznega prezračevanja.",
|
||||
"noExtrasAvailable": "Ni na voljo dodatkov",
|
||||
"selectShapeTitle": "1. Izberite obliko growboxa",
|
||||
"selectShapeSubtitle": "Najprej izberite osnovno površino vašega growboxa",
|
||||
"selectProductTitle": "2. Izberite growbox izdelek",
|
||||
"selectProductSubtitle": "Izberite pravi izdelek za vaš {{shape}} growbox",
|
||||
"selectLightingTitle": "3. Izberite osvetlitev",
|
||||
"selectLightingTitleShape": "3. Izberite osvetlitev - {{shape}}",
|
||||
"selectLightingSubtitle": "Najprej izberite velikost šotora.",
|
||||
"selectVentilationTitle": "4. Izberite prezračevanje",
|
||||
"selectVentilationTitleShape": "4. Izberite prezračevanje - {{shape}}",
|
||||
"selectVentilationSubtitle": "Najprej izberite velikost šotora.",
|
||||
"selectExtrasTitle": "5. Dodajte dodatke (neobvezno)",
|
||||
"yourConfiguration": "🎯 Vaša konfiguracija",
|
||||
"growboxLabel": "Growbox: {{name}}",
|
||||
"lightingLabel": "Osvetlitev: {{name}}",
|
||||
"ventilationLabel": "Prezračevanje: {{name}}",
|
||||
"extraLabel": "Dodatno: {{name}}",
|
||||
"totalPrice": "Skupna cena:",
|
||||
"addToCart": "Dodaj v košarico",
|
||||
"selected": "✓ Izbrano",
|
||||
"notDeliverable": "Ni dobavljivo",
|
||||
"noPrice": "Brez cene",
|
||||
"setName": "Growbox komplet - {{shape}}"
|
||||
};
|
||||
35
src/i18n/locales/sq/kitConfig.js
Normal file
35
src/i18n/locales/sq/kitConfig.js
Normal file
@@ -0,0 +1,35 @@
|
||||
export default {
|
||||
"pageTitle": "🌱 Konfiguruesi i Growbox",
|
||||
"pageSubtitle": "Bëje së bashku konfigurimin perfekt të rritjes së brendshme",
|
||||
"bundleDiscountTitle": "🎯 Merr zbritje për paketën!",
|
||||
"loadingProducts": "Duke ngarkuar produktet e growbox...",
|
||||
"loadingLighting": "Duke ngarkuar produktet e ndriçimit...",
|
||||
"loadingVentilation": "Duke ngarkuar produktet e ventilimit...",
|
||||
"loadingExtras": "Duke ngarkuar shtesat...",
|
||||
"noProductsAvailable": "Nuk ka produkte në dispozicion për këtë madhësi",
|
||||
"noLightingAvailable": "Nuk ka drita të përshtatshme për madhësinë e tendës {{shape}}.",
|
||||
"noVentilationAvailable": "Nuk ka ventilim të përshtatshëm për madhësinë e tendës {{shape}}.",
|
||||
"noExtrasAvailable": "Nuk ka shtesa në dispozicion",
|
||||
"selectShapeTitle": "1. Zgjidh formën e growbox",
|
||||
"selectShapeSubtitle": "Së pari zgjidh sipërfaqen bazë të growbox-it tënd",
|
||||
"selectProductTitle": "2. Zgjidh produktin e growbox",
|
||||
"selectProductSubtitle": "Zgjidh produktin e duhur për growbox-in tënd {{shape}}",
|
||||
"selectLightingTitle": "3. Zgjidh ndriçimin",
|
||||
"selectLightingTitleShape": "3. Zgjidh ndriçimin - {{shape}}",
|
||||
"selectLightingSubtitle": "Ju lutemi zgjidhni së pari madhësinë e tendës.",
|
||||
"selectVentilationTitle": "4. Zgjidh ventilimin",
|
||||
"selectVentilationTitleShape": "4. Zgjidh ventilimin - {{shape}}",
|
||||
"selectVentilationSubtitle": "Ju lutemi zgjidhni së pari madhësinë e tendës.",
|
||||
"selectExtrasTitle": "5. Shto shtesa (opsionale)",
|
||||
"yourConfiguration": "🎯 Konfigurimi yt",
|
||||
"growboxLabel": "Growbox: {{name}}",
|
||||
"lightingLabel": "Ndriçimi: {{name}}",
|
||||
"ventilationLabel": "Ventilimi: {{name}}",
|
||||
"extraLabel": "Shtesë: {{name}}",
|
||||
"totalPrice": "Çmimi total:",
|
||||
"addToCart": "Shto në karrocë",
|
||||
"selected": "✓ E zgjedhur",
|
||||
"notDeliverable": "Nuk dërgohet",
|
||||
"noPrice": "Pa çmim",
|
||||
"setName": "Seti i Growbox - {{shape}}"
|
||||
};
|
||||
35
src/i18n/locales/sr/kitConfig.js
Normal file
35
src/i18n/locales/sr/kitConfig.js
Normal file
@@ -0,0 +1,35 @@
|
||||
export default {
|
||||
"pageTitle": "🌱 Konfigurator Growbox-a",
|
||||
"pageSubtitle": "Sastavite svoju savršenu unutrašnju grow postavku",
|
||||
"bundleDiscountTitle": "🎯 Iskoristite popust na paket!",
|
||||
"loadingProducts": "Učitavanje growbox proizvoda...",
|
||||
"loadingLighting": "Učitavanje proizvoda za osvetljenje...",
|
||||
"loadingVentilation": "Učitavanje proizvoda za ventilaciju...",
|
||||
"loadingExtras": "Učitavanje dodataka...",
|
||||
"noProductsAvailable": "Nema proizvoda dostupnih za ovu veličinu",
|
||||
"noLightingAvailable": "Nema odgovarajućih svetala za veličinu šatora {{shape}}.",
|
||||
"noVentilationAvailable": "Nema odgovarajuće ventilacije za veličinu šatora {{shape}}.",
|
||||
"noExtrasAvailable": "Nema dodataka dostupnih",
|
||||
"selectShapeTitle": "1. Izaberite oblik growbox-a",
|
||||
"selectShapeSubtitle": "Prvo izaberite osnovnu površinu vašeg growbox-a",
|
||||
"selectProductTitle": "2. Izaberite growbox proizvod",
|
||||
"selectProductSubtitle": "Izaberite pravi proizvod za vaš {{shape}} growbox",
|
||||
"selectLightingTitle": "3. Izaberite osvetljenje",
|
||||
"selectLightingTitleShape": "3. Izaberite osvetljenje - {{shape}}",
|
||||
"selectLightingSubtitle": "Molimo prvo izaberite veličinu šatora.",
|
||||
"selectVentilationTitle": "4. Izaberite ventilaciju",
|
||||
"selectVentilationTitleShape": "4. Izaberite ventilaciju - {{shape}}",
|
||||
"selectVentilationSubtitle": "Molimo prvo izaberite veličinu šatora.",
|
||||
"selectExtrasTitle": "5. Dodajte dodatke (opciono)",
|
||||
"yourConfiguration": "🎯 Vaša konfiguracija",
|
||||
"growboxLabel": "Growbox: {{name}}",
|
||||
"lightingLabel": "Osvetljenje: {{name}}",
|
||||
"ventilationLabel": "Ventilacija: {{name}}",
|
||||
"extraLabel": "Dodatak: {{name}}",
|
||||
"totalPrice": "Ukupna cena:",
|
||||
"addToCart": "Dodaj u korpu",
|
||||
"selected": "✓ Izabrano",
|
||||
"notDeliverable": "Nije dostupno za isporuku",
|
||||
"noPrice": "Nema cene",
|
||||
"setName": "Growbox set - {{shape}}"
|
||||
};
|
||||
35
src/i18n/locales/sv/kitConfig.js
Normal file
35
src/i18n/locales/sv/kitConfig.js
Normal file
@@ -0,0 +1,35 @@
|
||||
export default {
|
||||
"pageTitle": "🌱 Growbox-konfigurator",
|
||||
"pageSubtitle": "Sätt ihop din perfekta inomhusodlingslösning",
|
||||
"bundleDiscountTitle": "🎯 Få paketprisrabatt!",
|
||||
"loadingProducts": "Laddar growbox-produkter...",
|
||||
"loadingLighting": "Laddar belysningsprodukter...",
|
||||
"loadingVentilation": "Laddar ventilationsprodukter...",
|
||||
"loadingExtras": "Laddar tillbehör...",
|
||||
"noProductsAvailable": "Inga produkter tillgängliga för denna storlek",
|
||||
"noLightingAvailable": "Inga lämpliga lampor tillgängliga för tältstorlek {{shape}}.",
|
||||
"noVentilationAvailable": "Ingen lämplig ventilation tillgänglig för tältstorlek {{shape}}.",
|
||||
"noExtrasAvailable": "Inga tillbehör tillgängliga",
|
||||
"selectShapeTitle": "1. Välj growbox-form",
|
||||
"selectShapeSubtitle": "Välj först basytan för din growbox",
|
||||
"selectProductTitle": "2. Välj growbox-produkt",
|
||||
"selectProductSubtitle": "Välj rätt produkt för din {{shape}} growbox",
|
||||
"selectLightingTitle": "3. Välj belysning",
|
||||
"selectLightingTitleShape": "3. Välj belysning - {{shape}}",
|
||||
"selectLightingSubtitle": "Vänligen välj en tältstorlek först.",
|
||||
"selectVentilationTitle": "4. Välj ventilation",
|
||||
"selectVentilationTitleShape": "4. Välj ventilation - {{shape}}",
|
||||
"selectVentilationSubtitle": "Vänligen välj en tältstorlek först.",
|
||||
"selectExtrasTitle": "5. Lägg till tillbehör (valfritt)",
|
||||
"yourConfiguration": "🎯 Din konfiguration",
|
||||
"growboxLabel": "Growbox: {{name}}",
|
||||
"lightingLabel": "Belysning: {{name}}",
|
||||
"ventilationLabel": "Ventilation: {{name}}",
|
||||
"extraLabel": "Tillbehör: {{name}}",
|
||||
"totalPrice": "Totalt pris:",
|
||||
"addToCart": "Lägg i kundvagn",
|
||||
"selected": "✓ Vald",
|
||||
"notDeliverable": "Kan ej levereras",
|
||||
"noPrice": "Inget pris",
|
||||
"setName": "Growbox-set - {{shape}}"
|
||||
};
|
||||
35
src/i18n/locales/tr/kitConfig.js
Normal file
35
src/i18n/locales/tr/kitConfig.js
Normal file
@@ -0,0 +1,35 @@
|
||||
export default {
|
||||
"pageTitle": "🌱 Growbox yapılandırıcı",
|
||||
"pageSubtitle": "Mükemmel iç mekan yetiştirme kurulumunuzu oluşturun",
|
||||
"bundleDiscountTitle": "🎯 Paket indirimi kazanın!",
|
||||
"loadingProducts": "Growbox ürünleri yükleniyor...",
|
||||
"loadingLighting": "Aydınlatma ürünleri yükleniyor...",
|
||||
"loadingVentilation": "Havalandırma ürünleri yükleniyor...",
|
||||
"loadingExtras": "Ekstralar yükleniyor...",
|
||||
"noProductsAvailable": "Bu boyut için ürün yok",
|
||||
"noLightingAvailable": "{{shape}} çadır boyutu için uygun ışık yok.",
|
||||
"noVentilationAvailable": "{{shape}} çadır boyutu için uygun havalandırma yok.",
|
||||
"noExtrasAvailable": "Ekstra yok",
|
||||
"selectShapeTitle": "1. Growbox şeklini seçin",
|
||||
"selectShapeSubtitle": "Öncelikle growbox taban alanını seçin",
|
||||
"selectProductTitle": "2. Growbox ürününü seçin",
|
||||
"selectProductSubtitle": "{{shape}} growbox için doğru ürünü seçin",
|
||||
"selectLightingTitle": "3. Aydınlatmayı seçin",
|
||||
"selectLightingTitleShape": "3. Aydınlatmayı seçin - {{shape}}",
|
||||
"selectLightingSubtitle": "Lütfen önce bir çadır boyutu seçin.",
|
||||
"selectVentilationTitle": "4. Havalandırmayı seçin",
|
||||
"selectVentilationTitleShape": "4. Havalandırmayı seçin - {{shape}}",
|
||||
"selectVentilationSubtitle": "Lütfen önce bir çadır boyutu seçin.",
|
||||
"selectExtrasTitle": "5. Ekstralar ekleyin (isteğe bağlı)",
|
||||
"yourConfiguration": "🎯 Konfigürasyonunuz",
|
||||
"growboxLabel": "Growbox: {{name}}",
|
||||
"lightingLabel": "Aydınlatma: {{name}}",
|
||||
"ventilationLabel": "Havalandırma: {{name}}",
|
||||
"extraLabel": "Ekstra: {{name}}",
|
||||
"totalPrice": "Toplam fiyat:",
|
||||
"addToCart": "Sepete ekle",
|
||||
"selected": "✓ Seçildi",
|
||||
"notDeliverable": "Teslim edilemiyor",
|
||||
"noPrice": "Fiyat yok",
|
||||
"setName": "Growbox seti - {{shape}}"
|
||||
};
|
||||
35
src/i18n/locales/uk/kitConfig.js
Normal file
35
src/i18n/locales/uk/kitConfig.js
Normal file
@@ -0,0 +1,35 @@
|
||||
export default {
|
||||
"pageTitle": "🌱 Конфігуратор Growbox",
|
||||
"pageSubtitle": "Складіть ідеальну систему для вирощування в приміщенні",
|
||||
"bundleDiscountTitle": "🎯 Отримайте знижку на комплект!",
|
||||
"loadingProducts": "Завантаження продуктів growbox...",
|
||||
"loadingLighting": "Завантаження освітлювальних продуктів...",
|
||||
"loadingVentilation": "Завантаження вентиляційних продуктів...",
|
||||
"loadingExtras": "Завантаження додаткових опцій...",
|
||||
"noProductsAvailable": "Немає продуктів для цього розміру",
|
||||
"noLightingAvailable": "Немає підходящих ламп для розміру намету {{shape}}.",
|
||||
"noVentilationAvailable": "Немає підходящої вентиляції для розміру намету {{shape}}.",
|
||||
"noExtrasAvailable": "Додаткові опції відсутні",
|
||||
"selectShapeTitle": "1. Виберіть форму growbox",
|
||||
"selectShapeSubtitle": "Спочатку виберіть базову площу вашого growbox",
|
||||
"selectProductTitle": "2. Виберіть продукт growbox",
|
||||
"selectProductSubtitle": "Виберіть відповідний продукт для вашого growbox {{shape}}",
|
||||
"selectLightingTitle": "3. Виберіть освітлення",
|
||||
"selectLightingTitleShape": "3. Виберіть освітлення - {{shape}}",
|
||||
"selectLightingSubtitle": "Будь ласка, спочатку виберіть розмір намету.",
|
||||
"selectVentilationTitle": "4. Виберіть вентиляцію",
|
||||
"selectVentilationTitleShape": "4. Виберіть вентиляцію - {{shape}}",
|
||||
"selectVentilationSubtitle": "Будь ласка, спочатку виберіть розмір намету.",
|
||||
"selectExtrasTitle": "5. Додайте додаткові опції (за бажанням)",
|
||||
"yourConfiguration": "🎯 Ваша конфігурація",
|
||||
"growboxLabel": "Growbox: {{name}}",
|
||||
"lightingLabel": "Освітлення: {{name}}",
|
||||
"ventilationLabel": "Вентиляція: {{name}}",
|
||||
"extraLabel": "Додатково: {{name}}",
|
||||
"totalPrice": "Загальна ціна:",
|
||||
"addToCart": "Додати до кошика",
|
||||
"selected": "✓ Вибрано",
|
||||
"notDeliverable": "Недоступно для доставки",
|
||||
"noPrice": "Ціна відсутня",
|
||||
"setName": "Набір Growbox - {{shape}}"
|
||||
};
|
||||
35
src/i18n/locales/zh/kitConfig.js
Normal file
35
src/i18n/locales/zh/kitConfig.js
Normal file
@@ -0,0 +1,35 @@
|
||||
export default {
|
||||
"pageTitle": "🌱 种植箱配置器",
|
||||
"pageSubtitle": "组装你的完美室内种植方案",
|
||||
"bundleDiscountTitle": "🎯 获取套餐折扣!",
|
||||
"loadingProducts": "正在加载种植箱产品...",
|
||||
"loadingLighting": "正在加载照明产品...",
|
||||
"loadingVentilation": "正在加载通风产品...",
|
||||
"loadingExtras": "正在加载附加产品...",
|
||||
"noProductsAvailable": "此尺寸无可用产品",
|
||||
"noLightingAvailable": "没有适合 {{shape}} 帐篷尺寸的灯具。",
|
||||
"noVentilationAvailable": "没有适合 {{shape}} 帐篷尺寸的通风设备。",
|
||||
"noExtrasAvailable": "无附加产品",
|
||||
"selectShapeTitle": "1. 选择种植箱形状",
|
||||
"selectShapeSubtitle": "首先选择你的种植箱基底面积",
|
||||
"selectProductTitle": "2. 选择种植箱产品",
|
||||
"selectProductSubtitle": "为你的 {{shape}} 种植箱选择合适的产品",
|
||||
"selectLightingTitle": "3. 选择照明",
|
||||
"selectLightingTitleShape": "3. 选择照明 - {{shape}}",
|
||||
"selectLightingSubtitle": "请先选择帐篷尺寸。",
|
||||
"selectVentilationTitle": "4. 选择通风",
|
||||
"selectVentilationTitleShape": "4. 选择通风 - {{shape}}",
|
||||
"selectVentilationSubtitle": "请先选择帐篷尺寸。",
|
||||
"selectExtrasTitle": "5. 添加附加产品(可选)",
|
||||
"yourConfiguration": "🎯 你的配置",
|
||||
"growboxLabel": "种植箱:{{name}}",
|
||||
"lightingLabel": "照明:{{name}}",
|
||||
"ventilationLabel": "通风:{{name}}",
|
||||
"extraLabel": "附加产品:{{name}}",
|
||||
"totalPrice": "总价:",
|
||||
"addToCart": "加入购物车",
|
||||
"selected": "✓ 已选择",
|
||||
"notDeliverable": "不可配送",
|
||||
"noPrice": "无价格",
|
||||
"setName": "种植箱套装 - {{shape}}"
|
||||
};
|
||||
@@ -68,6 +68,8 @@ function getCachedCategoryData(categoryId, language = 'de') {
|
||||
return null;
|
||||
}
|
||||
|
||||
import { withI18n } from '../i18n/withTranslation.js';
|
||||
|
||||
class GrowTentKonfigurator extends Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
@@ -287,7 +289,7 @@ class GrowTentKonfigurator extends Component {
|
||||
|
||||
// Now push to cart
|
||||
const totalPrice = this.state.totalPrice;
|
||||
const setName = `Growbox Set - ${this.state.selectedTentShape}`;
|
||||
const setName = this.props.t ? this.props.t("kitConfig.setName", { shape: this.state.selectedTentShape }) : `Growbox Set - ${this.state.selectedTentShape}`;
|
||||
|
||||
window.cart.push({
|
||||
id: null,
|
||||
@@ -688,20 +690,22 @@ class GrowTentKonfigurator extends Component {
|
||||
|
||||
renderTentShapeSection() {
|
||||
const { selectedTentShape } = this.state;
|
||||
const { t } = this.props;
|
||||
|
||||
return (
|
||||
<TentShapeSelector
|
||||
tentShapes={tentShapes}
|
||||
selectedShape={selectedTentShape}
|
||||
onShapeSelect={this.handleTentShapeSelect}
|
||||
title="1. Growbox-Form auswählen"
|
||||
subtitle="Wähle zuerst die Grundfläche deiner Growbox aus"
|
||||
title={t ? t("kitConfig.selectShapeTitle") : "1. Growbox-Form auswählen"}
|
||||
subtitle={t ? t("kitConfig.selectShapeSubtitle") : "Wähle zuerst die Grundfläche deiner Growbox aus"}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
renderTentSizeSection() {
|
||||
const { selectedTentShape } = this.state;
|
||||
const { t } = this.props;
|
||||
|
||||
if (!selectedTentShape) {
|
||||
return null; // Don't show tent sizes until shape is selected
|
||||
@@ -711,7 +715,7 @@ class GrowTentKonfigurator extends Component {
|
||||
return (
|
||||
<Box sx={{ textAlign: 'center', py: 4 }}>
|
||||
<Typography variant="h6" color="text.secondary">
|
||||
Lade Growbox-Produkte...
|
||||
{t ? t("kitConfig.loadingProducts") : "Lade Growbox-Produkte..."}
|
||||
</Typography>
|
||||
</Box>
|
||||
);
|
||||
@@ -724,7 +728,7 @@ class GrowTentKonfigurator extends Component {
|
||||
return (
|
||||
<Box sx={{ textAlign: 'center', py: 4 }}>
|
||||
<Typography variant="h6" color="text.secondary">
|
||||
Keine Produkte für diese Größe verfügbar
|
||||
{t ? t("kitConfig.noProductsAvailable") : "Keine Produkte für diese Größe verfügbar"}
|
||||
</Typography>
|
||||
</Box>
|
||||
);
|
||||
@@ -732,10 +736,10 @@ class GrowTentKonfigurator extends Component {
|
||||
return (
|
||||
<Box sx={{ mb: 4 }}>
|
||||
<Typography variant="h2" component="h2" gutterBottom sx={{ color: '#2e7d32', fontWeight: 'bold' }}>
|
||||
2. Growbox Produkt auswählen
|
||||
{t ? t("kitConfig.selectProductTitle") : "2. Growbox Produkt auswählen"}
|
||||
</Typography>
|
||||
<Typography variant="body1" color="text.secondary" sx={{ mb: 3 }}>
|
||||
Wähle das passende Produkt für deine {selectedTentShape} Growbox
|
||||
{t ? t("kitConfig.selectProductSubtitle", { shape: selectedTentShape }) : `Wähle das passende Produkt für deine ${selectedTentShape} Growbox`}
|
||||
</Typography>
|
||||
<Grid container spacing={2}>
|
||||
{filteredTents.map((product, _index) => (
|
||||
@@ -792,10 +796,10 @@ class GrowTentKonfigurator extends Component {
|
||||
<span>{product.price ? new Intl.NumberFormat('de-DE', {
|
||||
style: 'currency',
|
||||
currency: 'EUR'
|
||||
}).format(product.price) : 'Kein Preis'}</span>
|
||||
}).format(product.price) : (t ? t("kitConfig.noPrice") : 'Kein Preis')}</span>
|
||||
{product.vat && (
|
||||
<small style={{ color: '#77aa77', fontSize: '0.6em' }}>
|
||||
(incl. {product.vat}% MwSt.,*)
|
||||
({t ? t("product.inclVat", { vat: product.vat }) : `incl. ${product.vat}% MwSt.,*`})
|
||||
</small>
|
||||
)}
|
||||
</Typography>
|
||||
@@ -808,7 +812,7 @@ class GrowTentKonfigurator extends Component {
|
||||
mt: 1,
|
||||
textAlign: 'center'
|
||||
}}>
|
||||
✓ Ausgewählt
|
||||
{t ? t("kitConfig.selected") : "✓ Ausgewählt"}
|
||||
</Typography>
|
||||
)}
|
||||
<Stack direction="row" spacing={1} justifyContent="center">
|
||||
@@ -834,15 +838,16 @@ class GrowTentKonfigurator extends Component {
|
||||
|
||||
renderLightSection() {
|
||||
const { selectedLightType, selectedTentShape } = this.state;
|
||||
const { t } = this.props;
|
||||
|
||||
if (!selectedTentShape) {
|
||||
return (
|
||||
<Box sx={{ mt: 4 }}>
|
||||
<Typography variant="h2" component="h2" gutterBottom sx={{ color: '#2e7d32', fontWeight: 'bold' }}>
|
||||
3. Beleuchtung wählen
|
||||
{t ? t("kitConfig.selectLightingTitle") : "3. Beleuchtung wählen"}
|
||||
</Typography>
|
||||
<Typography variant="body2" color="text.secondary">
|
||||
Bitte wählen Sie zuerst eine Zeltgröße aus.
|
||||
{t ? t("kitConfig.selectLightingSubtitle") : "Bitte wählen Sie zuerst eine Zeltgröße aus."}
|
||||
</Typography>
|
||||
</Box>
|
||||
);
|
||||
@@ -852,10 +857,10 @@ class GrowTentKonfigurator extends Component {
|
||||
return (
|
||||
<Box sx={{ mt: 4 }}>
|
||||
<Typography variant="h2" component="h2" gutterBottom sx={{ color: '#2e7d32', fontWeight: 'bold' }}>
|
||||
3. Beleuchtung wählen - {selectedTentShape}
|
||||
{t ? t("kitConfig.selectLightingTitleShape", { shape: selectedTentShape }) : `3. Beleuchtung wählen - ${selectedTentShape}`}
|
||||
</Typography>
|
||||
<Typography variant="body2" color="text.secondary">
|
||||
Lade Beleuchtungs-Produkte...
|
||||
{t ? t("kitConfig.loadingLighting") : "Lade Beleuchtungs-Produkte..."}
|
||||
</Typography>
|
||||
</Box>
|
||||
);
|
||||
@@ -867,10 +872,10 @@ class GrowTentKonfigurator extends Component {
|
||||
return (
|
||||
<Box sx={{ mt: 4 }}>
|
||||
<Typography variant="h2" component="h2" gutterBottom sx={{ color: '#2e7d32', fontWeight: 'bold' }}>
|
||||
3. Beleuchtung wählen - {selectedTentShape}
|
||||
{t ? t("kitConfig.selectLightingTitleShape", { shape: selectedTentShape }) : `3. Beleuchtung wählen - ${selectedTentShape}`}
|
||||
</Typography>
|
||||
<Typography variant="body2" color="text.secondary">
|
||||
Keine passenden Lampen für Zeltgröße {selectedTentShape} verfügbar.
|
||||
{t ? t("kitConfig.noLightingAvailable", { shape: selectedTentShape }) : `Keine passenden Lampen für Zeltgröße ${selectedTentShape} verfügbar.`}
|
||||
</Typography>
|
||||
</Box>
|
||||
);
|
||||
@@ -879,7 +884,7 @@ class GrowTentKonfigurator extends Component {
|
||||
return (
|
||||
<Box sx={{ mt: 4 }}>
|
||||
<Typography variant="h2" component="h2" gutterBottom sx={{ color: '#2e7d32', fontWeight: 'bold' }}>
|
||||
3. Beleuchtung wählen - {selectedTentShape}
|
||||
{t ? t("kitConfig.selectLightingTitleShape", { shape: selectedTentShape }) : `3. Beleuchtung wählen - ${selectedTentShape}`}
|
||||
</Typography>
|
||||
<Grid container spacing={2}>
|
||||
{availableLamps.map((lamp) => (
|
||||
@@ -931,10 +936,10 @@ class GrowTentKonfigurator extends Component {
|
||||
<span>{lamp.price ? new Intl.NumberFormat('de-DE', {
|
||||
style: 'currency',
|
||||
currency: 'EUR'
|
||||
}).format(lamp.price) : 'Kein Preis'}</span>
|
||||
}).format(lamp.price) : (t ? t("kitConfig.noPrice") : 'Kein Preis')}</span>
|
||||
{lamp.vat && (
|
||||
<small style={{ color: '#77aa77', fontSize: '0.6em' }}>
|
||||
(incl. {lamp.vat}% MwSt.,*)
|
||||
({t ? t("product.inclVat", { vat: lamp.vat }) : `incl. ${lamp.vat}% MwSt.,*`})
|
||||
</small>
|
||||
)}
|
||||
</Typography>
|
||||
@@ -947,7 +952,7 @@ class GrowTentKonfigurator extends Component {
|
||||
mt: 1,
|
||||
textAlign: 'center'
|
||||
}}>
|
||||
✓ Ausgewählt
|
||||
{t ? t("kitConfig.selected") : "✓ Ausgewählt"}
|
||||
</Typography>
|
||||
)}
|
||||
<Stack direction="row" spacing={1} justifyContent="center">
|
||||
@@ -973,15 +978,16 @@ class GrowTentKonfigurator extends Component {
|
||||
|
||||
renderVentilationSection() {
|
||||
const { selectedVentilationType, selectedTentShape } = this.state;
|
||||
const { t } = this.props;
|
||||
|
||||
if (!selectedTentShape) {
|
||||
return (
|
||||
<Box sx={{ mt: 4 }}>
|
||||
<Typography variant="h2" component="h2" gutterBottom sx={{ color: '#2e7d32', fontWeight: 'bold' }}>
|
||||
4. Belüftung auswählen
|
||||
{t ? t("kitConfig.selectVentilationTitle") : "4. Belüftung auswählen"}
|
||||
</Typography>
|
||||
<Typography variant="body2" color="text.secondary">
|
||||
Bitte wählen Sie zuerst eine Zeltgröße aus.
|
||||
{t ? t("kitConfig.selectVentilationSubtitle") : "Bitte wählen Sie zuerst eine Zeltgröße aus."}
|
||||
</Typography>
|
||||
</Box>
|
||||
);
|
||||
@@ -991,10 +997,10 @@ class GrowTentKonfigurator extends Component {
|
||||
return (
|
||||
<Box sx={{ mt: 4 }}>
|
||||
<Typography variant="h2" component="h2" gutterBottom sx={{ color: '#2e7d32', fontWeight: 'bold' }}>
|
||||
4. Belüftung auswählen - {selectedTentShape}
|
||||
{t ? t("kitConfig.selectVentilationTitleShape", { shape: selectedTentShape }) : `4. Belüftung auswählen - ${selectedTentShape}`}
|
||||
</Typography>
|
||||
<Typography variant="body2" color="text.secondary">
|
||||
Lade Belüftungs-Produkte...
|
||||
{t ? t("kitConfig.loadingVentilation") : "Lade Belüftungs-Produkte..."}
|
||||
</Typography>
|
||||
</Box>
|
||||
);
|
||||
@@ -1006,10 +1012,10 @@ class GrowTentKonfigurator extends Component {
|
||||
return (
|
||||
<Box sx={{ mt: 4 }}>
|
||||
<Typography variant="h2" component="h2" gutterBottom sx={{ color: '#2e7d32', fontWeight: 'bold' }}>
|
||||
4. Belüftung auswählen - {selectedTentShape}
|
||||
{t ? t("kitConfig.selectVentilationTitleShape", { shape: selectedTentShape }) : `4. Belüftung auswählen - ${selectedTentShape}`}
|
||||
</Typography>
|
||||
<Typography variant="body2" color="text.secondary">
|
||||
Keine passenden Belüftung für Zeltgröße {selectedTentShape} verfügbar.
|
||||
{t ? t("kitConfig.noVentilationAvailable", { shape: selectedTentShape }) : `Keine passenden Belüftung für Zeltgröße ${selectedTentShape} verfügbar.`}
|
||||
</Typography>
|
||||
</Box>
|
||||
);
|
||||
@@ -1018,7 +1024,7 @@ class GrowTentKonfigurator extends Component {
|
||||
return (
|
||||
<Box sx={{ mt: 4 }}>
|
||||
<Typography variant="h2" component="h2" gutterBottom sx={{ color: '#2e7d32', fontWeight: 'bold' }}>
|
||||
4. Belüftung auswählen - {selectedTentShape}
|
||||
{t ? t("kitConfig.selectVentilationTitleShape", { shape: selectedTentShape }) : `4. Belüftung auswählen - ${selectedTentShape}`}
|
||||
</Typography>
|
||||
<Grid container spacing={2}>
|
||||
{availableVentilation.map((ventilation) => (
|
||||
@@ -1072,7 +1078,7 @@ class GrowTentKonfigurator extends Component {
|
||||
p: 1,
|
||||
borderRadius: 1
|
||||
}}>
|
||||
Nicht lieferbar
|
||||
{t ? t("kitConfig.notDeliverable") : "Nicht lieferbar"}
|
||||
</Typography>
|
||||
</Box>
|
||||
)}
|
||||
@@ -1108,10 +1114,10 @@ class GrowTentKonfigurator extends Component {
|
||||
<span>{ventilation.price ? new Intl.NumberFormat('de-DE', {
|
||||
style: 'currency',
|
||||
currency: 'EUR'
|
||||
}).format(ventilation.price) : 'Kein Preis'}</span>
|
||||
}).format(ventilation.price) : (t ? t("kitConfig.noPrice") : 'Kein Preis')}</span>
|
||||
{ventilation.vat && (
|
||||
<small style={{ color: ventilation.isDeliverable ? '#77aa77' : '#999', fontSize: '0.6em' }}>
|
||||
(incl. {ventilation.vat}% MwSt.,*)
|
||||
({t ? t("product.inclVat", { vat: ventilation.vat }) : `incl. ${ventilation.vat}% MwSt.,*`})
|
||||
</small>
|
||||
)}
|
||||
</Typography>
|
||||
@@ -1124,7 +1130,7 @@ class GrowTentKonfigurator extends Component {
|
||||
mt: 1,
|
||||
textAlign: 'center'
|
||||
}}>
|
||||
✓ Ausgewählt
|
||||
{t ? t("kitConfig.selected") : "✓ Ausgewählt"}
|
||||
</Typography>
|
||||
)}
|
||||
<Stack direction="row" spacing={1} justifyContent="center">
|
||||
@@ -1150,14 +1156,16 @@ class GrowTentKonfigurator extends Component {
|
||||
|
||||
renderExtrasSection() {
|
||||
const { selectedExtras } = this.state;
|
||||
const { t } = this.props;
|
||||
|
||||
if (!this.state.categoryLoadStatus["Set-zubehoer"]) {
|
||||
return (
|
||||
<Box sx={{ mb: 4 }}>
|
||||
<Typography variant="h2" component="h2" gutterBottom sx={{ color: '#2e7d32', fontWeight: 'bold' }}>
|
||||
5. Extras hinzufügen (optional)
|
||||
{t ? t("kitConfig.selectExtrasTitle") : "5. Extras hinzufügen (optional)"}
|
||||
</Typography>
|
||||
<Typography variant="body1" color="text.secondary" sx={{ mb: 3 }}>
|
||||
Lade Extras...
|
||||
{t ? t("kitConfig.loadingExtras") : "Lade Extras..."}
|
||||
</Typography>
|
||||
</Box>
|
||||
);
|
||||
@@ -1170,10 +1178,10 @@ class GrowTentKonfigurator extends Component {
|
||||
return (
|
||||
<Box sx={{ mb: 4 }}>
|
||||
<Typography variant="h2" component="h2" gutterBottom sx={{ color: '#2e7d32', fontWeight: 'bold' }}>
|
||||
5. Extras hinzufügen (optional)
|
||||
{t ? t("kitConfig.selectExtrasTitle") : "5. Extras hinzufügen (optional)"}
|
||||
</Typography>
|
||||
<Typography variant="body1" color="text.secondary" sx={{ mb: 3 }}>
|
||||
Keine Extras verfügbar
|
||||
{t ? t("kitConfig.noExtrasAvailable") : "Keine Extras verfügbar"}
|
||||
</Typography>
|
||||
</Box>
|
||||
);
|
||||
@@ -1185,10 +1193,10 @@ class GrowTentKonfigurator extends Component {
|
||||
return (
|
||||
<Box sx={{ mb: 4 }}>
|
||||
<Typography variant="h2" component="h2" gutterBottom sx={{ color: '#2e7d32', fontWeight: 'bold' }}>
|
||||
5. Extras hinzufügen (optional)
|
||||
{t ? t("kitConfig.selectExtrasTitle") : "5. Extras hinzufügen (optional)"}
|
||||
</Typography>
|
||||
<Typography variant="body1" color="text.secondary" sx={{ mb: 3 }}>
|
||||
Keine Extras verfügbar
|
||||
{t ? t("kitConfig.noExtrasAvailable") : "Keine Extras verfügbar"}
|
||||
</Typography>
|
||||
</Box>
|
||||
);
|
||||
@@ -1199,7 +1207,7 @@ class GrowTentKonfigurator extends Component {
|
||||
extras={extras}
|
||||
selectedExtras={selectedExtras}
|
||||
onExtraToggle={this.handleExtraToggle}
|
||||
title="5. Extras hinzufügen (optional)"
|
||||
title={t ? t("kitConfig.selectExtrasTitle") : "5. Extras hinzufügen (optional)"}
|
||||
gridSize={{ xs: 12, sm: 6, md: 4 }}
|
||||
/>
|
||||
);
|
||||
@@ -1207,6 +1215,7 @@ class GrowTentKonfigurator extends Component {
|
||||
|
||||
renderInlineSummary() {
|
||||
const { selectedTentSize, selectedLightType, selectedVentilationType, selectedExtras, totalPrice } = this.state;
|
||||
const { t } = this.props;
|
||||
|
||||
// Find the selected tent from all available shapes
|
||||
let selectedTent = null;
|
||||
@@ -1240,21 +1249,21 @@ class GrowTentKonfigurator extends Component {
|
||||
}}
|
||||
>
|
||||
<Typography variant="h5" sx={{ color: '#2e7d32', fontWeight: 'bold', mb: 3, textAlign: 'center' }}>
|
||||
🎯 Ihre Konfiguration
|
||||
{t ? t("kitConfig.yourConfiguration") : "🎯 Ihre Konfiguration"}
|
||||
</Typography>
|
||||
|
||||
<List sx={{ '& .MuiListItem-root': { py: 1 } }}>
|
||||
{selectedTent && (
|
||||
<ListItem>
|
||||
<ListItemText
|
||||
primary={`Growbox: ${selectedTent.name}`}
|
||||
primary={t ? t("kitConfig.growboxLabel", { name: selectedTent.name }) : `Growbox: ${selectedTent.name}`}
|
||||
/>
|
||||
<ListItemSecondaryAction>
|
||||
<Typography variant="h6" sx={{ fontWeight: 'bold', display: 'flex', flexDirection: 'column', alignItems: 'flex-end' }}>
|
||||
<span>{this.formatPrice(selectedTent.price)}</span>
|
||||
{selectedTent.vat && (
|
||||
<small style={{ color: '#77aa77', fontSize: '0.6em' }}>
|
||||
(incl. {selectedTent.vat}% MwSt.,*)
|
||||
({t ? t("product.inclVat", { vat: selectedTent.vat }) : `incl. ${selectedTent.vat}% MwSt.,*`})
|
||||
</small>
|
||||
)}
|
||||
</Typography>
|
||||
@@ -1265,14 +1274,14 @@ class GrowTentKonfigurator extends Component {
|
||||
{selectedLight && (
|
||||
<ListItem>
|
||||
<ListItemText
|
||||
primary={`Beleuchtung: ${selectedLight.name}`}
|
||||
primary={t ? t("kitConfig.lightingLabel", { name: selectedLight.name }) : `Beleuchtung: ${selectedLight.name}`}
|
||||
/>
|
||||
<ListItemSecondaryAction>
|
||||
<Typography variant="h6" sx={{ fontWeight: 'bold', display: 'flex', flexDirection: 'column', alignItems: 'flex-end' }}>
|
||||
<span>{this.formatPrice(selectedLight.price)}</span>
|
||||
{selectedLight.vat && (
|
||||
<small style={{ color: '#77aa77', fontSize: '0.6em' }}>
|
||||
(incl. {selectedLight.vat}% MwSt.,*)
|
||||
({t ? t("product.inclVat", { vat: selectedLight.vat }) : `incl. ${selectedLight.vat}% MwSt.,*`})
|
||||
</small>
|
||||
)}
|
||||
</Typography>
|
||||
@@ -1283,14 +1292,14 @@ class GrowTentKonfigurator extends Component {
|
||||
{selectedVentilation && (
|
||||
<ListItem>
|
||||
<ListItemText
|
||||
primary={`Belüftung: ${selectedVentilation.name}`}
|
||||
primary={t ? t("kitConfig.ventilationLabel", { name: selectedVentilation.name }) : `Belüftung: ${selectedVentilation.name}`}
|
||||
/>
|
||||
<ListItemSecondaryAction>
|
||||
<Typography variant="h6" sx={{ fontWeight: 'bold', display: 'flex', flexDirection: 'column', alignItems: 'flex-end' }}>
|
||||
<span>{this.formatPrice(selectedVentilation.price)}</span>
|
||||
{selectedVentilation.vat && (
|
||||
<small style={{ color: '#77aa77', fontSize: '0.6em' }}>
|
||||
(incl. {selectedVentilation.vat}% MwSt.,*)
|
||||
({t ? t("product.inclVat", { vat: selectedVentilation.vat }) : `incl. ${selectedVentilation.vat}% MwSt.,*`})
|
||||
</small>
|
||||
)}
|
||||
</Typography>
|
||||
@@ -1301,14 +1310,14 @@ class GrowTentKonfigurator extends Component {
|
||||
{selectedExtrasItems.map(extra => (
|
||||
<ListItem key={extra.id}>
|
||||
<ListItemText
|
||||
primary={`Extra: ${extra.name}`}
|
||||
primary={t ? t("kitConfig.extraLabel", { name: extra.name }) : `Extra: ${extra.name}`}
|
||||
/>
|
||||
<ListItemSecondaryAction>
|
||||
<Typography variant="h6" sx={{ fontWeight: 'bold', display: 'flex', flexDirection: 'column', alignItems: 'flex-end' }}>
|
||||
<span>{this.formatPrice(extra.price)}</span>
|
||||
{extra.vat && (
|
||||
<small style={{ color: '#77aa77', fontSize: '0.6em' }}>
|
||||
(incl. {extra.vat}% MwSt.,*)
|
||||
({t ? t("product.inclVat", { vat: extra.vat }) : `incl. ${extra.vat}% MwSt.,*`})
|
||||
</small>
|
||||
)}
|
||||
</Typography>
|
||||
@@ -1322,24 +1331,24 @@ class GrowTentKonfigurator extends Component {
|
||||
{savingsInfo.hasDiscount && (
|
||||
<Box sx={{ mb: 2, textAlign: 'center' }}>
|
||||
<Typography variant="h6" sx={{ color: '#d32f2f', fontWeight: 'bold' }}>
|
||||
Sie sparen: {this.formatPrice(savingsInfo.savings)} ({savingsInfo.discountPercentage}% Bundle-Rabatt)
|
||||
{t ? t("product.youSave", { amount: this.formatPrice(savingsInfo.savings) }) : `Sie sparen: ${this.formatPrice(savingsInfo.savings)}`} ({savingsInfo.discountPercentage}% Bundle-Rabatt)
|
||||
</Typography>
|
||||
<Typography variant="caption" sx={{ color: '#77aa77' }}>
|
||||
(incl. 19% MwSt.,*)
|
||||
({t ? t("product.inclVat", { vat: 19 }) : "incl. 19% MwSt.,*"})
|
||||
</Typography>
|
||||
</Box>
|
||||
)}
|
||||
|
||||
<Box sx={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', mb: 3 }}>
|
||||
<Typography variant="h5" sx={{ fontWeight: 'bold' }}>
|
||||
Gesamtpreis:
|
||||
{t ? t("kitConfig.totalPrice") : "Gesamtpreis:"}
|
||||
</Typography>
|
||||
<Box sx={{ textAlign: 'right' }}>
|
||||
<Typography variant="h5" sx={{ color: '#2e7d32', fontWeight: 'bold' }}>
|
||||
{this.formatPrice(totalPrice)}
|
||||
</Typography>
|
||||
<Typography variant="caption" sx={{ color: '#77aa77' }}>
|
||||
(incl. 19% MwSt.,*)
|
||||
({t ? t("product.inclVat", { vat: 19 }) : "incl. 19% MwSt.,*"})
|
||||
</Typography>
|
||||
</Box>
|
||||
</Box>
|
||||
@@ -1356,7 +1365,7 @@ class GrowTentKonfigurator extends Component {
|
||||
minWidth: 250
|
||||
}}
|
||||
>
|
||||
In den Warenkorb
|
||||
{t ? t("kitConfig.addToCart") : "In den Warenkorb"}
|
||||
</Button>
|
||||
</Box>
|
||||
</Paper>
|
||||
@@ -1383,15 +1392,16 @@ class GrowTentKonfigurator extends Component {
|
||||
|
||||
|
||||
render() {
|
||||
const { t } = this.props;
|
||||
return (
|
||||
<Container maxWidth="lg" sx={{ py: 4 }}>
|
||||
<Paper elevation={2} sx={{ p: 4, borderRadius: 2 }}>
|
||||
<Box sx={{ textAlign: 'center', mb: 4 }}>
|
||||
<Typography variant="h3" component="h1" gutterBottom sx={{ color: '#2e7d32', fontWeight: 'bold' }}>
|
||||
🌱 Growbox Konfigurator
|
||||
{t ? t("kitConfig.pageTitle") : "🌱 Growbox Konfigurator"}
|
||||
</Typography>
|
||||
<Typography variant="h6" color="text.secondary">
|
||||
Stelle dein perfektes Indoor Grow Setup zusammen
|
||||
{t ? t("kitConfig.pageSubtitle") : "Stelle dein perfektes Indoor Grow Setup zusammen"}
|
||||
</Typography>
|
||||
|
||||
{/* Bundle Discount Information */}
|
||||
@@ -1407,7 +1417,7 @@ class GrowTentKonfigurator extends Component {
|
||||
}}
|
||||
>
|
||||
<Typography variant="h6" sx={{ color: '#2e7d32', fontWeight: 'bold', mb: 2 }}>
|
||||
🎯 Bundle-Rabatt sichern!
|
||||
{t ? t("kitConfig.bundleDiscountTitle") : "🎯 Bundle-Rabatt sichern!"}
|
||||
</Typography>
|
||||
<Box sx={{ display: 'flex', justifyContent: 'space-around', flexWrap: 'wrap', gap: 2 }}>
|
||||
<Box sx={{ textAlign: 'center' }}>
|
||||
@@ -1416,7 +1426,7 @@ class GrowTentKonfigurator extends Component {
|
||||
</Typography>
|
||||
<Typography variant="body2">
|
||||
{/* Note: Translation key would be: product.discount.from3Products */}
|
||||
ab 3 Produkten
|
||||
{t ? t("product.discount.from3Products") : "ab 3 Produkten"}
|
||||
</Typography>
|
||||
</Box>
|
||||
<Box sx={{ textAlign: 'center' }}>
|
||||
@@ -1425,7 +1435,7 @@ class GrowTentKonfigurator extends Component {
|
||||
</Typography>
|
||||
<Typography variant="body2">
|
||||
{/* Note: Translation key would be: product.discount.from5Products */}
|
||||
ab 5 Produkten
|
||||
{t ? t("product.discount.from5Products") : "ab 5 Produkten"}
|
||||
</Typography>
|
||||
</Box>
|
||||
<Box sx={{ textAlign: 'center' }}>
|
||||
@@ -1434,13 +1444,13 @@ class GrowTentKonfigurator extends Component {
|
||||
</Typography>
|
||||
<Typography variant="body2">
|
||||
{/* Note: Translation key would be: product.discount.from7Products */}
|
||||
ab 7 Produkten
|
||||
{t ? t("product.discount.from7Products") : "ab 7 Produkten"}
|
||||
</Typography>
|
||||
</Box>
|
||||
</Box>
|
||||
<Typography variant="caption" sx={{ color: '#666', mt: 1, display: 'block' }}>
|
||||
{/* Note: Translation key would be: product.discount.moreProductsMoreSavings */}
|
||||
Je mehr Produkte du auswählst, desto mehr sparst du!
|
||||
{t ? t("product.discount.moreProductsMoreSavings") : "Je mehr Produkte du auswählst, desto mehr sparst du!"}
|
||||
</Typography>
|
||||
</Paper>
|
||||
</Box>
|
||||
@@ -1466,4 +1476,4 @@ class GrowTentKonfigurator extends Component {
|
||||
}
|
||||
}
|
||||
|
||||
export default GrowTentKonfigurator;
|
||||
export default withI18n()(GrowTentKonfigurator);
|
||||
|
||||
@@ -32,7 +32,8 @@ const TRANSLATION_FILES = [
|
||||
'pages.js',
|
||||
'orders.js',
|
||||
'settings.js',
|
||||
'common.js'
|
||||
'common.js',
|
||||
'kitConfig.js'
|
||||
];
|
||||
|
||||
// Legal document files that need special translation handling
|
||||
|
||||
Reference in New Issue
Block a user