diff --git a/src/PrerenderKonfigurator.js b/src/PrerenderKonfigurator.js
index b838b84..882947a 100644
--- a/src/PrerenderKonfigurator.js
+++ b/src/PrerenderKonfigurator.js
@@ -66,6 +66,7 @@ class PrerenderKonfigurator extends Component {
15%
+ {/* Note: This is a prerender file - translation key would be: product.discount.from3Products */}
ab 3 Produkten
@@ -74,6 +75,7 @@ class PrerenderKonfigurator extends Component {
24%
+ {/* Note: This is a prerender file - translation key would be: product.discount.from5Products */}
ab 5 Produkten
@@ -82,11 +84,13 @@ class PrerenderKonfigurator extends Component {
36%
+ {/* Note: This is a prerender file - translation key would be: product.discount.from7Products */}
ab 7 Produkten
+ {/* Note: This is a prerender file - translation key would be: product.discount.moreProductsMoreSavings */}
Je mehr Produkte du auswählst, desto mehr sparst du!
diff --git a/src/components/CartDropdown.js b/src/components/CartDropdown.js
index 188fde8..54829ee 100644
--- a/src/components/CartDropdown.js
+++ b/src/components/CartDropdown.js
@@ -64,7 +64,7 @@ class CartDropdown extends Component {
<>
- {cartItems.length} {cartItems.length === 1 ? 'Produkt' : 'Produkte'}
+ {cartItems.length} {cartItems.length === 1 ? (this.props.t ? this.props.t('cart.itemCount.singular') : 'Produkt') : (this.props.t ? this.props.t('cart.itemCount.plural') : 'Produkte')}
@@ -84,7 +84,7 @@ class CartDropdown extends Component {
{/* Display total weight if greater than 0 */}
{totalWeight > 0 && (
- Gesamtgewicht: {totalWeight.toFixed(2)} kg
+ {this.props.t ? this.props.t('cart.summary.totalWeight', { weight: totalWeight.toFixed(2) }) : `Gesamtgewicht: ${totalWeight.toFixed(2)} kg`}
)}
@@ -95,7 +95,7 @@ class CartDropdown extends Component {
// Detailed summary with shipping costs
<>
- Bestellübersicht
+ {this.props.t ? this.props.t('cart.summary.title') : 'Bestellübersicht'}
{deliveryMethod && (
@@ -105,14 +105,14 @@ class CartDropdown extends Component {
- Waren (netto):
+ {this.props.t ? this.props.t('cart.summary.goodsNet') : 'Waren (netto):'}
{currencyFormatter.format(priceCalculations.totalNet)}
{deliveryCost > 0 && (
- Versandkosten (netto):
+ {this.props.t ? this.props.t('cart.summary.shippingNet') : 'Versandkosten (netto):'}
{currencyFormatter.format(shippingNetPrice)}
@@ -135,30 +135,30 @@ class CartDropdown extends Component {
)}
- Gesamtsumme Waren:
+ {this.props.t ? this.props.t('cart.summary.totalGoods') : 'Gesamtsumme Waren:'}
{currencyFormatter.format(priceCalculations.totalGross)}
- Versandkosten:
+ {this.props.t ? this.props.t('cart.summary.shippingCosts') : 'Versandkosten:'}
{deliveryCost === 0 && priceCalculations.totalGross < 100 && (
- (kostenlos ab 100€)
+ {this.props.t ? this.props.t('cart.summary.freeFrom100') : '(kostenlos ab 100€)'}
)}
{deliveryCost === 0 ? (
- kostenlos
+ {this.props.t ? this.props.t('cart.summary.free') : 'kostenlos'}
) : (
currencyFormatter.format(deliveryCost)
)}
- Gesamtsumme:
+ {this.props.t ? this.props.t('cart.summary.total') : 'Gesamtsumme:'}
{currencyFormatter.format(totalGross)}
diff --git a/src/components/ProductList.js b/src/components/ProductList.js
index 6484ca0..4653c9d 100644
--- a/src/components/ProductList.js
+++ b/src/components/ProductList.js
@@ -201,14 +201,14 @@ class ProductList extends Component {
if (!isFiltered) {
// No filters applied
- if (filteredCount === 0) return "0 Produkte";
- if (filteredCount === 1) return "1 Produkt";
- return `${filteredCount} Produkte`;
+ if (filteredCount === 0) return this.props.t ? this.props.t('product.countDisplay.noProducts') : "0 Produkte";
+ if (filteredCount === 1) return this.props.t ? this.props.t('product.countDisplay.oneProduct') : "1 Produkt";
+ return this.props.t ? this.props.t('product.countDisplay.multipleProducts', { count: filteredCount }) : `${filteredCount} Produkte`;
} else {
// Filters applied
- if (totalCount === 0) return "0 Produkte";
- if (totalCount === 1) return `${filteredCount} von 1 Produkt`;
- return `${filteredCount} von ${totalCount} Produkten`;
+ if (totalCount === 0) return this.props.t ? this.props.t('product.countDisplay.noProducts') : "0 Produkte";
+ if (totalCount === 1) return this.props.t ? this.props.t('product.countDisplay.filteredOneProduct', { filtered: filteredCount }) : `${filteredCount} von 1 Produkt`;
+ return this.props.t ? this.props.t('product.countDisplay.filteredProducts', { filtered: filteredCount, total: totalCount }) : `${filteredCount} von ${totalCount} Produkten`;
}
}
diff --git a/src/components/profile/DeliveryMethodSelector.js b/src/components/profile/DeliveryMethodSelector.js
index c03fa46..4af111b 100644
--- a/src/components/profile/DeliveryMethodSelector.js
+++ b/src/components/profile/DeliveryMethodSelector.js
@@ -3,8 +3,9 @@ import Box from '@mui/material/Box';
import Typography from '@mui/material/Typography';
import Radio from '@mui/material/Radio';
import Checkbox from '@mui/material/Checkbox';
+import { withI18n } from '../../i18n/withTranslation.js';
-const DeliveryMethodSelector = ({ deliveryMethod, onChange, isPickupOnly, cartItems = [] }) => {
+const DeliveryMethodSelector = ({ deliveryMethod, onChange, isPickupOnly, cartItems = [], t }) => {
// Calculate cart value for free shipping threshold
const cartValue = cartItems.reduce((total, item) => total + item.price * item.quantity, 0);
const isFreeShipping = cartValue >= 100;
@@ -14,30 +15,30 @@ const DeliveryMethodSelector = ({ deliveryMethod, onChange, isPickupOnly, cartIt
{
id: 'DHL',
name: 'DHL',
- description: isPickupOnly ? "nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können" :
- isFreeShipping ? 'Standardversand - KOSTENLOS ab 100€ Warenwert!' : 'Standardversand',
- price: isFreeShipping ? 'kostenlos' : '6,99 €',
+ description: isPickupOnly ? (t ? t('delivery.descriptions.notAvailable') : "nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können") :
+ isFreeShipping ? (t ? t('delivery.descriptions.standardFree') : 'Standardversand - KOSTENLOS ab 100€ Warenwert!') : (t ? t('delivery.descriptions.standard') : 'Standardversand'),
+ price: isFreeShipping ? (t ? t('delivery.prices.free') : 'kostenlos') : (t ? t('delivery.prices.dhl') : '6,99 €'),
disabled: isPickupOnly
},
{
id: 'DPD',
name: 'DPD',
- description: isPickupOnly ? "nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können" :
- isFreeShipping ? 'Standardversand - KOSTENLOS ab 100€ Warenwert!' : 'Standardversand',
- price: isFreeShipping ? 'kostenlos' : '4,90 €',
+ description: isPickupOnly ? (t ? t('delivery.descriptions.notAvailable') : "nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können") :
+ isFreeShipping ? (t ? t('delivery.descriptions.standardFree') : 'Standardversand - KOSTENLOS ab 100€ Warenwert!') : (t ? t('delivery.descriptions.standard') : 'Standardversand'),
+ price: isFreeShipping ? (t ? t('delivery.prices.free') : 'kostenlos') : (t ? t('delivery.prices.dpd') : '4,90 €'),
disabled: isPickupOnly
},
{
id: 'Sperrgut',
name: 'Sperrgut',
- description: 'Für große und schwere Artikel',
- price: '28,99 €',
+ description: t ? t('delivery.descriptions.bulky') : 'Für große und schwere Artikel',
+ price: t ? t('delivery.prices.sperrgut') : '28,99 €',
disabled: true,
isCheckbox: true
},
{
id: 'Abholung',
- name: 'Abholung in der Filiale',
+ name: t ? t('delivery.methods.pickup') : 'Abholung in der Filiale',
description: '',
price: ''
}
@@ -46,7 +47,7 @@ const DeliveryMethodSelector = ({ deliveryMethod, onChange, isPickupOnly, cartIt
return (
<>
- Versandart wählen
+ {t ? t('delivery.selector.title') : 'Versandart wählen'}
@@ -132,10 +133,10 @@ const DeliveryMethodSelector = ({ deliveryMethod, onChange, isPickupOnly, cartIt
border: '1px solid #2196f3'
}}>
- 💡 Versandkostenfrei ab 100€ Warenwert!
+ {t ? t('delivery.selector.freeShippingInfo') : '💡 Versandkostenfrei ab 100€ Warenwert!'}
- Noch {remainingForFreeShipping.toFixed(2).replace('.', ',')}€ für kostenlosen Versand hinzufügen.
+ {t ? t('delivery.selector.remainingForFree', { amount: remainingForFreeShipping.toFixed(2).replace('.', ',') }) : `Noch ${remainingForFreeShipping.toFixed(2).replace('.', ',')}€ für kostenlosen Versand hinzufügen.`}
)}
@@ -149,10 +150,10 @@ const DeliveryMethodSelector = ({ deliveryMethod, onChange, isPickupOnly, cartIt
border: '1px solid #2e7d32'
}}>
- 🎉 Glückwunsch! Sie erhalten kostenlosen Versand!
+ {t ? t('delivery.selector.congratsFreeShipping') : '🎉 Glückwunsch! Sie erhalten kostenlosen Versand!'}
- Ihr Warenkorb von {cartValue.toFixed(2).replace('.', ',')}€ qualifiziert sich für kostenlosen Versand.
+ {t ? t('delivery.selector.cartQualifiesFree', { amount: cartValue.toFixed(2).replace('.', ',') }) : `Ihr Warenkorb von ${cartValue.toFixed(2).replace('.', ',')}€ qualifiziert sich für kostenlosen Versand.`}
)}
@@ -161,4 +162,4 @@ const DeliveryMethodSelector = ({ deliveryMethod, onChange, isPickupOnly, cartIt
);
};
-export default DeliveryMethodSelector;
\ No newline at end of file
+export default withI18n()(DeliveryMethodSelector);
\ No newline at end of file
diff --git a/src/components/profile/OrderDetailsDialog.js b/src/components/profile/OrderDetailsDialog.js
index 6f94c6c..10db854 100644
--- a/src/components/profile/OrderDetailsDialog.js
+++ b/src/components/profile/OrderDetailsDialog.js
@@ -148,7 +148,7 @@ const OrderDetailsDialog = ({ open, onClose, order }) => {
- Gesamtsumme
+ {this.props.t ? this.props.t('cart.summary.total') : 'Gesamtsumme'}
{currencyFormatter.format(total)}
diff --git a/src/components/profile/OrderSummary.js b/src/components/profile/OrderSummary.js
index 0d978a0..e8b53f4 100644
--- a/src/components/profile/OrderSummary.js
+++ b/src/components/profile/OrderSummary.js
@@ -44,20 +44,20 @@ const OrderSummary = ({ deliveryCost, cartItems = [] }) => {
return (
- Bestellübersicht
+ {t ? t('cart.summary.title') : 'Bestellübersicht'}
- Waren (netto):
+ {t ? t('cart.summary.goodsNet') : 'Waren (netto):'}
{currencyFormatter.format(cartVatCalculations.totalNet)}
{deliveryCost > 0 && (
- Versandkosten (netto):
+ {t ? t('cart.summary.shippingNet') : 'Versandkosten (netto):'}
{currencyFormatter.format(shippingNetPrice)}
@@ -80,30 +80,30 @@ const OrderSummary = ({ deliveryCost, cartItems = [] }) => {
)}
- Gesamtsumme Waren:
+ {t ? t('cart.summary.totalGoods') : 'Gesamtsumme Waren:'}
{currencyFormatter.format(cartVatCalculations.totalGross)}
- Versandkosten:
+ {t ? t('cart.summary.shippingCosts') : 'Versandkosten:'}
{deliveryCost === 0 && cartVatCalculations.totalGross < 100 && (
- (kostenlos ab 100€)
+ {t ? t('cart.summary.freeFrom100') : '(kostenlos ab 100€)'}
)}
{deliveryCost === 0 ? (
- kostenlos
+ {t ? t('cart.summary.free') : 'kostenlos'}
) : (
currencyFormatter.format(deliveryCost)
)}
- Gesamtsumme:
+ {t ? t('cart.summary.total') : 'Gesamtsumme:'}
{currencyFormatter.format(totalGross)}
diff --git a/src/i18n/locales/bg/auth.js b/src/i18n/locales/bg/auth.js
index 36673a5..0cc795e 100644
--- a/src/i18n/locales/bg/auth.js
+++ b/src/i18n/locales/bg/auth.js
@@ -1,25 +1,25 @@
export default {
- "login": "Вход", // Anmelden
- "register": "Регистрация", // Registrieren
- "logout": "Изход", // Abmelden
- "profile": "Профил", // Profil
- "email": "Имейл", // E-Mail
- "password": "Парола", // Passwort
- "confirmPassword": "Потвърдете паролата", // Passwort bestätigen
- "forgotPassword": "Забравена парола?", // Passwort vergessen?
- "loginWithGoogle": "Вход с Google", // Mit Google anmelden
- "or": "ИЛИ", // ODER
- "privacyAccept": "С натискането на „Вход с Google“ приемам", // Mit dem Click auf "Mit Google anmelden" akzeptiere ich die
- "privacyPolicy": "Политиката за поверителност", // Datenschutzbestimmungen
- "passwordMinLength": "Паролата трябва да е поне 8 символа", // Das Passwort muss mindestens 8 Zeichen lang sein
- "newPasswordMinLength": "Новата парола трябва да е поне 8 символа", // Das neue Passwort muss mindestens 8 Zeichen lang sein
+ "login": "Вход",
+ "register": "Регистрация",
+ "logout": "Изход",
+ "profile": "Профил",
+ "email": "Имейл",
+ "password": "Парола",
+ "confirmPassword": "Потвърдете паролата",
+ "forgotPassword": "Забравена парола?",
+ "loginWithGoogle": "Вход с Google",
+ "or": "ИЛИ",
+ "privacyAccept": "С натискане на \"Вход с Google\" приемам",
+ "privacyPolicy": "Политиката за поверителност",
+ "passwordMinLength": "Паролата трябва да е поне 8 символа",
+ "newPasswordMinLength": "Новата парола трябва да е поне 8 символа",
"menu": {
- "profile": "Профил", // Profil
- "myProfile": "Моят профил", // Mein Profil
- "checkout": "Плащане", // Bestellabschluss
- "orders": "Поръчки", // Bestellungen
- "settings": "Настройки", // Einstellungen
- "adminDashboard": "Админ панел", // Admin Dashboard
- "adminUsers": "Админ потребители" // Admin Users
+ "profile": "Профил",
+ "myProfile": "Моят профил",
+ "checkout": "Плащане",
+ "orders": "Поръчки",
+ "settings": "Настройки",
+ "adminDashboard": "Админ табло",
+ "adminUsers": "Админ потребители"
}
};
diff --git a/src/i18n/locales/bg/cart.js b/src/i18n/locales/bg/cart.js
index e5521a8..cfbf940 100644
--- a/src/i18n/locales/bg/cart.js
+++ b/src/i18n/locales/bg/cart.js
@@ -1,24 +1,39 @@
export default {
- "title": "Количка", // Warenkorb
- "empty": "празна", // leer
- "addToCart": "Добави в количката", // In den Korb
- "preorderCutting": "Предварителна поръчка като резник", // Als Steckling vorbestellen
- "continueShopping": "Продължи пазаруването", // Weiter einkaufen
- "proceedToCheckout": "Продължи към плащане", // Weiter zur Kasse
- "productCount": "{{count}} {{count, plural, one {продукт} other {продукта}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}}
- "productSingular": "продукт", // Produkt
- "productPlural": "продукта", // Produkte
- "removeFromCart": "Премахни от количката", // Aus dem Warenkorb entfernen
- "openCart": "Отвори количката", // Warenkorb öffnen
- "availableFrom": "Наличен от {{date}}", // Ab {{date}}
- "backToOrder": "← Обратно към поръчката", // ← Zurück zur Bestellung
+ "title": "Количка",
+ "empty": "празна",
+ "addToCart": "Добави в количката",
+ "preorderCutting": "Предварителна поръчка като резник",
+ "continueShopping": "Продължи пазаруването",
+ "proceedToCheckout": "Продължи към плащане",
+ "productCount": "{{count}} {{count, plural, one {продукт} other {продукта}}}",
+ "productSingular": "продукт",
+ "productPlural": "продукта",
+ "removeFromCart": "Премахни от количката",
+ "openCart": "Отвори количката",
+ "availableFrom": "Наличен от {{date}}",
+ "backToOrder": "← Обратно към поръчката",
+ "summary": {
+ "title": "Обобщение на поръчката",
+ "goodsNet": "Стоки (нето):",
+ "shippingNet": "Доставка (нето):",
+ "totalGoods": "Общо стоки:",
+ "shippingCosts": "Разходи за доставка:",
+ "total": "Общо:",
+ "totalWeight": "Общо тегло: {{weight}} кг",
+ "freeFrom100": "(безплатно над 100€)",
+ "free": "безплатно"
+ },
+ "itemCount": {
+ "singular": "продукт",
+ "plural": "продукта"
+ },
"sync": {
- "title": "Синхронизация на количката", // Warenkorb-Synchronisierung
- "description": "Имате запазена количка във вашия акаунт. Моля, изберете как искате да продължите:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten:
- "deleteServer": "Изтрий количката на сървъра", // Server-Warenkorb löschen
- "useServer": "Използвай количката от сървъра", // Server-Warenkorb übernehmen
- "merge": "Обедини количките", // Warenkörbe zusammenführen
- "currentCart": "Вашата текуща количка", // Ihr aktueller Warenkorb
- "serverCart": "Количка, запазена във вашия профил" // In Ihrem Profil gespeicherter Warenkorb
+ "title": "Синхронизация на количката",
+ "description": "Имате запазена количка в профила си. Моля, изберете как искате да продължите:",
+ "deleteServer": "Изтрий количката на сървъра",
+ "useServer": "Използвай количката от сървъра",
+ "merge": "Обедини количките",
+ "currentCart": "Вашата текуща количка",
+ "serverCart": "Количка, запазена във вашия профил"
}
};
diff --git a/src/i18n/locales/bg/locale.js b/src/i18n/locales/bg/locale.js
index fd9f31b..44f0ddd 100644
--- a/src/i18n/locales/bg/locale.js
+++ b/src/i18n/locales/bg/locale.js
@@ -1,3 +1,3 @@
export default {
- "code": "bg-BG" // de-DE
+ "code": "bg-BG"
};
diff --git a/src/i18n/locales/bg/navigation.js b/src/i18n/locales/bg/navigation.js
index 7a1bca3..50a1d3a 100644
--- a/src/i18n/locales/bg/navigation.js
+++ b/src/i18n/locales/bg/navigation.js
@@ -1,9 +1,9 @@
export default {
- "home": "Начало", // Startseite
- "aktionen": "Промоции", // Aktionen
- "filiale": "Клон", // Filiale
- "categories": "Категории", // Kategorien
- "categoriesOpen": "Отвори категории", // Kategorien öffnen
- "categoriesClose": "Затвори категории", // Kategorien schließen
- "otherCategories": "Други категории" // Andere Kategorien
+ "home": "Начало",
+ "aktionen": "Промоции",
+ "filiale": "Клон",
+ "categories": "Категории",
+ "categoriesOpen": "Отвори категории",
+ "categoriesClose": "Затвори категории",
+ "otherCategories": "Други категории"
};
diff --git a/src/i18n/locales/de/cart.js b/src/i18n/locales/de/cart.js
index b66a861..7530101 100644
--- a/src/i18n/locales/de/cart.js
+++ b/src/i18n/locales/de/cart.js
@@ -12,6 +12,21 @@ export default {
"openCart": "Warenkorb öffnen",
"availableFrom": "Ab {{date}}",
"backToOrder": "← Zurück zur Bestellung",
+ "summary": {
+ "title": "Bestellübersicht",
+ "goodsNet": "Waren (netto):",
+ "shippingNet": "Versandkosten (netto):",
+ "totalGoods": "Gesamtsumme Waren:",
+ "shippingCosts": "Versandkosten:",
+ "total": "Gesamtsumme:",
+ "totalWeight": "Gesamtgewicht: {{weight}} kg",
+ "freeFrom100": "(kostenlos ab 100€)",
+ "free": "kostenlos"
+ },
+ "itemCount": {
+ "singular": "Produkt",
+ "plural": "Produkte"
+ },
"sync": {
"title": "Warenkorb-Synchronisierung",
"description": "Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten:",
diff --git a/src/i18n/locales/de/delivery.js b/src/i18n/locales/de/delivery.js
index dc241c0..b141bf6 100644
--- a/src/i18n/locales/de/delivery.js
+++ b/src/i18n/locales/de/delivery.js
@@ -23,5 +23,12 @@ export default {
"cutting14Days": "Lieferzeit: 14 Tage",
"standard2to3Days": "Lieferzeit: 2-3 Tage",
"supplier7to9Days": "Lieferzeit: 7-9 Tage"
+ },
+ "selector": {
+ "title": "Versandart wählen",
+ "freeShippingInfo": "💡 Versandkostenfrei ab 100€ Warenwert!",
+ "remainingForFree": "Noch {{amount}}€ für kostenlosen Versand hinzufügen.",
+ "congratsFreeShipping": "🎉 Glückwunsch! Sie erhalten kostenlosen Versand!",
+ "cartQualifiesFree": "Ihr Warenkorb von {{amount}}€ qualifiziert sich für kostenlosen Versand."
}
};
\ No newline at end of file
diff --git a/src/i18n/locales/de/product.js b/src/i18n/locales/de/product.js
index ece278e..6763ca9 100644
--- a/src/i18n/locales/de/product.js
+++ b/src/i18n/locales/de/product.js
@@ -28,5 +28,11 @@ export default {
},
"removeFiltersToSee": "Entferne Filter um Produkte zu sehen",
"outOfStock": "Out of Stock",
- "fromXProducts": "ab {{count}} Produkten"
+ "fromXProducts": "ab {{count}} Produkten",
+ "discount": {
+ "from3Products": "ab 3 Produkten",
+ "from5Products": "ab 5 Produkten",
+ "from7Products": "ab 7 Produkten",
+ "moreProductsMoreSavings": "Je mehr Produkte du auswählst, desto mehr sparst du!"
+ }
};
\ No newline at end of file
diff --git a/src/i18n/locales/en/cart.js b/src/i18n/locales/en/cart.js
index 0d619c6..0673dee 100644
--- a/src/i18n/locales/en/cart.js
+++ b/src/i18n/locales/en/cart.js
@@ -12,6 +12,21 @@ export default {
"openCart": "Open cart", // Warenkorb öffnen
"availableFrom": "Available from {{date}}", // Ab {{date}}
"backToOrder": "← Back to order", // ← Zurück zur Bestellung
+ "summary": {
+ "title": "Order summary", // Bestellübersicht
+ "goodsNet": "Goods (net):", // Waren (netto):
+ "shippingNet": "Shipping (net):", // Versandkosten (netto):
+ "totalGoods": "Total goods:", // Gesamtsumme Waren:
+ "shippingCosts": "Shipping costs:", // Versandkosten:
+ "total": "Total:", // Gesamtsumme:
+ "totalWeight": "Total weight: {{weight}} kg", // Gesamtgewicht: {{weight}} kg
+ "freeFrom100": "(free from €100)", // (kostenlos ab 100€)
+ "free": "free" // kostenlos
+ },
+ "itemCount": {
+ "singular": "product", // Produkt
+ "plural": "products" // Produkte
+ },
"sync": {
"title": "Cart synchronization", // Warenkorb-Synchronisierung
"description": "You have a saved cart in your account. Please choose how you want to proceed:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten:
diff --git a/src/i18n/locales/en/delivery.js b/src/i18n/locales/en/delivery.js
index 2550503..d9b77c2 100644
--- a/src/i18n/locales/en/delivery.js
+++ b/src/i18n/locales/en/delivery.js
@@ -7,21 +7,28 @@ export default {
},
"descriptions": {
"standard": "Standard shipping", // Standardversand
- "standardFree": "Standard shipping - FREE from 100€ order value!", // Standardversand - KOSTENLOS ab 100€ Warenwert!
+ "standardFree": "Standard shipping - FREE from €100 order value!", // Standardversand - KOSTENLOS ab 100€ Warenwert!
"notAvailable": "Not selectable because one or more items can only be picked up", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können
"bulky": "For large and heavy items", // Für große und schwere Artikel
"pickupOnly": "Pickup only" // nur Abholung
},
"prices": {
"free": "free", // kostenlos
- "freeFrom100": "(free from 100€)", // (kostenlos ab 100€)
- "dhl": "6.99 €", // 6,99 €
- "dpd": "4.90 €", // 4,90 €
- "sperrgut": "28.99 €" // 28,99 €
+ "freeFrom100": "(free from €100)", // (kostenlos ab 100€)
+ "dhl": "€6.99", // 6,99 €
+ "dpd": "€4.90", // 4,90 €
+ "sperrgut": "€28.99" // 28,99 €
},
"times": {
"cutting14Days": "Delivery time: 14 days", // Lieferzeit: 14 Tage
"standard2to3Days": "Delivery time: 2-3 days", // Lieferzeit: 2-3 Tage
"supplier7to9Days": "Delivery time: 7-9 days" // Lieferzeit: 7-9 Tage
+ },
+ "selector": {
+ "title": "Choose shipping method", // Versandart wählen
+ "freeShippingInfo": "💡 Free shipping from €100 order value!", // 💡 Versandkostenfrei ab 100€ Warenwert!
+ "remainingForFree": "Add {{amount}}€ more for free shipping.", // Noch {{amount}}€ für kostenlosen Versand hinzufügen.
+ "congratsFreeShipping": "🎉 Congratulations! You get free shipping!", // 🎉 Glückwunsch! Sie erhalten kostenlosen Versand!
+ "cartQualifiesFree": "Your cart of {{amount}}€ qualifies for free shipping." // Ihr Warenkorb von {{amount}}€ qualifiziert sich für kostenlosen Versand.
}
};
diff --git a/src/i18n/locales/en/filters.js b/src/i18n/locales/en/filters.js
index 8617f5c..c8a1c07 100644
--- a/src/i18n/locales/en/filters.js
+++ b/src/i18n/locales/en/filters.js
@@ -3,5 +3,5 @@ export default {
"perPage": "per page", // pro Seite
"availability": "Availability", // Verfügbarkeit
"manufacturer": "Manufacturer", // Hersteller
- "all": "All", // Alle
+ "all": "All" // Alle
};
diff --git a/src/i18n/locales/en/pages.js b/src/i18n/locales/en/pages.js
index b697b45..369c295 100644
--- a/src/i18n/locales/en/pages.js
+++ b/src/i18n/locales/en/pages.js
@@ -1,10 +1,10 @@
export default {
"oilPress": {
"title": "Borrow oil press", // Ölpresse ausleihen
- "comingSoon": "Content coming soon...", // Inhalt kommt bald...
+ "comingSoon": "Content coming soon..." // Inhalt kommt bald...
},
"thcTest": {
"title": "THC test", // THC Test
- "comingSoon": "Content coming soon...", // Inhalt kommt bald...
+ "comingSoon": "Content coming soon..." // Inhalt kommt bald...
}
};
diff --git a/src/i18n/locales/en/payment.js b/src/i18n/locales/en/payment.js
index 573ddcf..99df648 100644
--- a/src/i18n/locales/en/payment.js
+++ b/src/i18n/locales/en/payment.js
@@ -4,5 +4,5 @@ export default {
"orderCompleted": "🎉 Your order was completed successfully! You can now view your orders.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen.
"orderProcessing": "Your payment was processed successfully. The order will be completed automatically.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen.
"paymentError": "Your payment could not be processed. Please try again or choose another payment method.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode.
- "viewOrders": "Go to my orders" // Zu meinen Bestellungen
+ "viewOrders": "View my orders" // Zu meinen Bestellungen
};
diff --git a/src/i18n/locales/en/product.js b/src/i18n/locales/en/product.js
index a216cc3..ec52d58 100644
--- a/src/i18n/locales/en/product.js
+++ b/src/i18n/locales/en/product.js
@@ -2,7 +2,7 @@ export default {
"loading": "Loading product...", // Produkt wird geladen...
"notFound": "Product not found", // Produkt nicht gefunden
"notFoundDescription": "The product you are looking for does not exist or has been removed.", // Das gesuchte Produkt existiert nicht oder wurde entfernt.
- "backToHome": "Back to home page", // Zurück zur Startseite
+ "backToHome": "Back to homepage", // Zurück zur Startseite
"error": "Error", // Fehler
"articleNumber": "Article number", // Artikelnummer
"manufacturer": "Manufacturer", // Hersteller
@@ -28,5 +28,11 @@ export default {
},
"removeFiltersToSee": "Remove filters to see products", // Entferne Filter um Produkte zu sehen
"outOfStock": "Out of stock", // Out of Stock
- "fromXProducts": "from {{count}} products" // ab {{count}} Produkten
+ "fromXProducts": "from {{count}} products", // ab {{count}} Produkten
+ "discount": {
+ "from3Products": "from 3 products", // ab 3 Produkten
+ "from5Products": "from 5 products", // ab 5 Produkten
+ "from7Products": "from 7 products", // ab 7 Produkten
+ "moreProductsMoreSavings": "The more products you select, the more you save!" // Je mehr Produkte du auswählst, desto mehr sparst du!
+ }
};
diff --git a/src/i18n/locales/en/tax.js b/src/i18n/locales/en/tax.js
index 5e60172..a8fb3ca 100644
--- a/src/i18n/locales/en/tax.js
+++ b/src/i18n/locales/en/tax.js
@@ -4,7 +4,7 @@ export default {
"vat19": "19% Value Added Tax", // 19% Mehrwertsteuer
"vat19WithShipping": "19% Value Added Tax (incl. shipping)", // 19% Mehrwertsteuer (inkl. Versand)
"totalNet": "Total net price", // Gesamtnettopreis
- "totalGross": "Total gross price without shipping", // Gesamtbruttopreis ohne Versand
+ "totalGross": "Total gross price excluding shipping", // Gesamtbruttopreis ohne Versand
"subtotal": "Subtotal", // Zwischensumme
"incl7Vat": "incl. 7% VAT", // inkl. 7% MwSt.
"inclVatWithFooter": "(incl. {{vat}}% VAT,*)", // (incl. {{vat}}% USt.,*)
diff --git a/src/pages/GrowTentKonfigurator.js b/src/pages/GrowTentKonfigurator.js
index 5a06320..a95bb2a 100644
--- a/src/pages/GrowTentKonfigurator.js
+++ b/src/pages/GrowTentKonfigurator.js
@@ -547,6 +547,7 @@ class GrowTentKonfigurator extends Component {
15%
+ {/* Note: Translation key would be: product.discount.from3Products */}
ab 3 Produkten
@@ -555,6 +556,7 @@ class GrowTentKonfigurator extends Component {
24%
+ {/* Note: Translation key would be: product.discount.from5Products */}
ab 5 Produkten
@@ -563,11 +565,13 @@ class GrowTentKonfigurator extends Component {
36%
+ {/* Note: Translation key would be: product.discount.from7Products */}
ab 7 Produkten
+ {/* Note: Translation key would be: product.discount.moreProductsMoreSavings */}
Je mehr Produkte du auswählst, desto mehr sparst du!