diff --git a/prerender.cjs b/prerender.cjs index d291e81..99d5929 100644 --- a/prerender.cjs +++ b/prerender.cjs @@ -175,6 +175,7 @@ const renderProductWorker = async (productSeoNames, workerId, progressCallback, const actualSeoName = productDetails.product.seoName || productSeoName; const productComponent = React.createElement(PrerenderProduct, { productData: productDetails, + t: global.i18n.t.bind(global.i18n), }); const filename = `Artikel/${actualSeoName}`; diff --git a/src/PrerenderProduct.js b/src/PrerenderProduct.js index c451723..0db1cc2 100644 --- a/src/PrerenderProduct.js +++ b/src/PrerenderProduct.js @@ -101,7 +101,7 @@ class PrerenderProduct extends React.Component { React.createElement( Typography, { variant: 'h6', color: 'text.secondary' }, - 'Artikelnummer: '+product.articleNumber+' '+(product.gtin ? ` | GTIN: ${product.gtin}` : "") + (this.props.t ? this.props.t('product.articleNumber') : 'Artikelnummer')+': '+product.articleNumber+' '+(product.gtin ? ` | GTIN: ${product.gtin}` : "") ), React.createElement( Box, diff --git a/src/components/Product.js b/src/components/Product.js index 4a38e0d..afcc304 100644 --- a/src/components/Product.js +++ b/src/components/Product.js @@ -8,6 +8,7 @@ import CircularProgress from '@mui/material/CircularProgress'; import IconButton from '@mui/material/IconButton'; import AddToCartButton from './AddToCartButton.js'; import { Link } from 'react-router-dom'; +import { withI18n } from '../i18n/withTranslation.js'; import ZoomInIcon from '@mui/icons-material/ZoomIn'; class Product extends Component { @@ -336,7 +337,7 @@ class Product extends Component { sx={{ mt: 'auto', fontWeight: 'bold', display: 'flex', justifyContent: 'space-between', alignItems: 'center' }} > {new Intl.NumberFormat('de-DE', {style: 'currency', currency: currency || 'EUR'}).format(price)} - (incl. {vat}% USt.,*) + ({this.props.t ? this.props.t('product.inclVatFooter', { vat }) : `incl. ${vat}% USt.,*`}) @@ -366,4 +367,4 @@ class Product extends Component { } } -export default Product; +export default withI18n()(Product); diff --git a/src/components/ProductDetailPage.js b/src/components/ProductDetailPage.js index bc4d17c..b974394 100644 --- a/src/components/ProductDetailPage.js +++ b/src/components/ProductDetailPage.js @@ -4,6 +4,7 @@ import { Link } from "react-router-dom"; import parse from "html-react-parser"; import AddToCartButton from "./AddToCartButton.js"; import Images from "./Images.js"; +import { withI18n } from "../i18n/withTranslation.js"; // Utility function to clean product names by removing trailing number in parentheses const cleanProductName = (name) => { @@ -692,7 +693,7 @@ class ProductDetailPage extends Component { {product.weight > 0 && ( - Gewicht: {product.weight.toFixed(1).replace(".", ",")} kg + {this.props.t ? this.props.t('product.weight', { weight: product.weight.toFixed(1).replace(".", ",") }) : `Gewicht: ${product.weight.toFixed(1).replace(".", ",")} kg`} )} @@ -724,7 +725,7 @@ class ProductDetailPage extends Component { {priceWithTax} - inkl. {product.vat}% MwSt. + {this.props.t ? this.props.t('product.inclVat', { vat: product.vat }) : `inkl. ${product.vat}% MwSt.`} {product.cGrundEinheit && product.fGrundPreis && ( <>; {new Intl.NumberFormat('de-DE', {style: 'currency', currency: 'EUR'}).format(product.fGrundPreis)}/{product.cGrundEinheit} )} @@ -757,13 +758,18 @@ class ProductDetailPage extends Component { color: "success.main" }} > - Sie sparen: {new Intl.NumberFormat("de-DE", { + {this.props.t ? this.props.t('product.youSave', { + amount: new Intl.NumberFormat("de-DE", { + style: "currency", + currency: "EUR", + }).format(totalKomponentenPrice - product.price) + }) : `Sie sparen: ${new Intl.NumberFormat("de-DE", { style: "currency", currency: "EUR", - }).format(totalKomponentenPrice - product.price)} + }).format(totalKomponentenPrice - product.price)}`} - Günstiger als Einzelkauf + {this.props.t ? this.props.t('product.cheaperThanIndividual') : 'Günstiger als Einzelkauf'} @@ -808,7 +814,7 @@ class ProductDetailPage extends Component { mt: 1 }} > - Abholpreis: 19,90 € pro Steckling. + {this.props.t ? this.props.t('product.pickupPrice') : 'Abholpreis: 19,90 € pro Steckling.'} )} @@ -844,9 +850,12 @@ class ProductDetailPage extends Component { mt: 1 }} > - {product.id.toString().endsWith("steckling") ? "Lieferzeit: 14 Tage" : - product.available == 1 ? "Lieferzeit: 2-3 Tage" : - product.availableSupplier == 1 ? "Lieferzeit: 7-9 Tage" : ""} + {product.id.toString().endsWith("steckling") ? + (this.props.t ? this.props.t('delivery.times.cutting14Days') : "Lieferzeit: 14 Tage") : + product.available == 1 ? + (this.props.t ? this.props.t('delivery.times.standard2to3Days') : "Lieferzeit: 2-3 Tage") : + product.availableSupplier == 1 ? + (this.props.t ? this.props.t('delivery.times.supplier7to9Days') : "Lieferzeit: 7-9 Tage") : ""} @@ -881,7 +890,7 @@ class ProductDetailPage extends Component { {product.komponenten && product.komponenten.split(",").length > 0 && ( - Bestehend aus: + {this.props.t ? this.props.t('product.consistsOf') : 'Bestehend aus:'} {(console.log("komponentenLoaded:", komponentenLoaded), komponentenLoaded) ? ( @@ -1004,7 +1013,7 @@ class ProductDetailPage extends Component { - Einzelpreis gesamt: + {this.props.t ? this.props.t('product.individualPriceTotal') : 'Einzelpreis gesamt:'} {new Intl.NumberFormat("de-DE", { @@ -1015,7 +1024,7 @@ class ProductDetailPage extends Component { - Set-Preis: + {this.props.t ? this.props.t('product.setPrice') : 'Set-Preis:'} {new Intl.NumberFormat("de-DE", { @@ -1027,7 +1036,7 @@ class ProductDetailPage extends Component { {totalSavings > 0 && ( - Ihre Ersparnis: + {this.props.t ? this.props.t('product.yourSavings') : 'Ihre Ersparnis:'} {new Intl.NumberFormat("de-DE", { @@ -1060,7 +1069,7 @@ class ProductDetailPage extends Component { - {index + 1}. Lädt Komponent-Details... + {this.props.t ? this.props.t('product.loadingComponentDetails', { index: index + 1 }) : `${index + 1}. Lädt Komponent-Details...`} {komponent.count}x @@ -1083,4 +1092,4 @@ class ProductDetailPage extends Component { } } -export default ProductDetailPage; +export default withI18n()(ProductDetailPage); diff --git a/src/i18n/locales/ar/product.js b/src/i18n/locales/ar/product.js index 5d2b87b..8a95b59 100644 --- a/src/i18n/locales/ar/product.js +++ b/src/i18n/locales/ar/product.js @@ -4,7 +4,7 @@ export default { "notFoundDescription": "المنتج الذي تبحث عنه غير موجود أو تم إزالته.", "backToHome": "العودة إلى الصفحة الرئيسية", "error": "خطأ", - "articleNumber": "رقم المنتج", + "articleNumber": "رقم الصنف", "manufacturer": "الشركة المصنعة", "inclVat": "شامل {{vat}}% ضريبة القيمة المضافة", "priceUnit": "{{price}}/{{unit}}", @@ -18,13 +18,22 @@ export default { "deliveryTime": "مدة التوصيل", "inclShort": "شامل", "vatShort": "ضريبة القيمة المضافة", + "weight": "الوزن: {{weight}} كجم", + "youSave": "أنت توفر: {{amount}}", + "cheaperThanIndividual": "أرخص من الشراء بشكل فردي", + "pickupPrice": "سعر الاستلام: 19.90 € لكل قطعة.", + "consistsOf": "يتكون من:", + "loadingComponentDetails": "{{index}}. جارٍ تحميل تفاصيل المكون...", + "individualPriceTotal": "إجمالي السعر الفردي:", + "setPrice": "سعر المجموعة:", + "yourSavings": "توفيرك:", "countDisplay": { "noProducts": "0 منتجات", "oneProduct": "منتج واحد", "multipleProducts": "{{count}} منتجات", - "filteredProducts": "{{filtered}} من أصل {{total}} منتجات", - "filteredOneProduct": "{{filtered}} من أصل منتج واحد", - "xOfYProducts": "{{x}} من أصل {{y}} منتجات" + "filteredProducts": "{{filtered}} من {{total}} منتجات", + "filteredOneProduct": "{{filtered}} من منتج واحد", + "xOfYProducts": "{{x}} من {{y}} منتجات" }, "removeFiltersToSee": "قم بإزالة الفلاتر لرؤية المنتجات", "outOfStock": "غير متوفر في المخزون", @@ -33,6 +42,6 @@ export default { "from3Products": "من 3 منتجات", "from5Products": "من 5 منتجات", "from7Products": "من 7 منتجات", - "moreProductsMoreSavings": "كل ما تختار منتجات أكتر، هتوفر أكتر!" + "moreProductsMoreSavings": "كلما اخترت منتجات أكثر، كلما وفرت أكثر!" } }; diff --git a/src/i18n/locales/bg/product.js b/src/i18n/locales/bg/product.js index 7df5a7a..76dcead 100644 --- a/src/i18n/locales/bg/product.js +++ b/src/i18n/locales/bg/product.js @@ -18,6 +18,15 @@ export default { "deliveryTime": "Срок на доставка", "inclShort": "вкл.", "vatShort": "ДДС", + "weight": "Тегло: {{weight}} кг", + "youSave": "Спестявате: {{amount}}", + "cheaperThanIndividual": "По-евтино от индивидуална покупка", + "pickupPrice": "Цена за вземане: 19,90 € на резник.", + "consistsOf": "Състои се от:", + "loadingComponentDetails": "{{index}}. Зареждане на детайли за компонента...", + "individualPriceTotal": "Обща индивидуална цена:", + "setPrice": "Цена на комплекта:", + "yourSavings": "Вашите спестявания:", "countDisplay": { "noProducts": "0 продукта", "oneProduct": "1 продукт", diff --git a/src/i18n/locales/cs/product.js b/src/i18n/locales/cs/product.js index 514fb92..83c4290 100644 --- a/src/i18n/locales/cs/product.js +++ b/src/i18n/locales/cs/product.js @@ -18,6 +18,15 @@ export default { "deliveryTime": "Doba dodání", "inclShort": "včetně", "vatShort": "DPH", + "weight": "Hmotnost: {{weight}} kg", + "youSave": "Ušetříte: {{amount}}", + "cheaperThanIndividual": "Levnější než nákup jednotlivě", + "pickupPrice": "Cena za vyzvednutí: 19,90 € za řízek.", + "consistsOf": "Skládá se z:", + "loadingComponentDetails": "{{index}}. Načítání detailů komponenty...", + "individualPriceTotal": "Celková cena jednotlivě:", + "setPrice": "Cena sady:", + "yourSavings": "Vaše úspora:", "countDisplay": { "noProducts": "0 produktů", "oneProduct": "1 produkt", diff --git a/src/i18n/locales/de/product.js b/src/i18n/locales/de/product.js index 6763ca9..9c389eb 100644 --- a/src/i18n/locales/de/product.js +++ b/src/i18n/locales/de/product.js @@ -18,6 +18,15 @@ export default { "deliveryTime": "Lieferzeit", "inclShort": "inkl.", "vatShort": "MwSt.", + "weight": "Gewicht: {{weight}} kg", + "youSave": "Sie sparen: {{amount}}", + "cheaperThanIndividual": "Günstiger als Einzelkauf", + "pickupPrice": "Abholpreis: 19,90 € pro Steckling.", + "consistsOf": "Bestehend aus:", + "loadingComponentDetails": "{{index}}. Lädt Komponent-Details...", + "individualPriceTotal": "Einzelpreis gesamt:", + "setPrice": "Set-Preis:", + "yourSavings": "Ihre Ersparnis:", "countDisplay": { "noProducts": "0 Produkte", "oneProduct": "1 Produkt", diff --git a/src/i18n/locales/el/product.js b/src/i18n/locales/el/product.js index 0f129cc..1b27b23 100644 --- a/src/i18n/locales/el/product.js +++ b/src/i18n/locales/el/product.js @@ -18,6 +18,15 @@ export default { "deliveryTime": "Χρόνος παράδοσης", "inclShort": "συμπ.", "vatShort": "ΦΠΑ", + "weight": "Βάρος: {{weight}} kg", + "youSave": "Εξοικονομείτε: {{amount}}", + "cheaperThanIndividual": "Φθηνότερο από την αγορά μεμονωμένα", + "pickupPrice": "Τιμή παραλαβής: €19,90 ανά μοσχεύμα.", + "consistsOf": "Αποτελείται από:", + "loadingComponentDetails": "{{index}}. Φόρτωση λεπτομερειών συστατικού...", + "individualPriceTotal": "Συνολική τιμή μεμονωμένων:", + "setPrice": "Τιμή σετ:", + "yourSavings": "Η εξοικονόμησή σας:", "countDisplay": { "noProducts": "0 προϊόντα", "oneProduct": "1 προϊόν", @@ -27,7 +36,7 @@ export default { "xOfYProducts": "{{x}} από {{y}} προϊόντα" }, "removeFiltersToSee": "Αφαιρέστε τα φίλτρα για να δείτε προϊόντα", - "outOfStock": "Εξαντλημένο απόθεμα", + "outOfStock": "Εξαντλημένο", "fromXProducts": "από {{count}} προϊόντα", "discount": { "from3Products": "από 3 προϊόντα", diff --git a/src/i18n/locales/en/product.js b/src/i18n/locales/en/product.js index ec52d58..4a38cf7 100644 --- a/src/i18n/locales/en/product.js +++ b/src/i18n/locales/en/product.js @@ -18,6 +18,15 @@ export default { "deliveryTime": "Delivery time", // Lieferzeit "inclShort": "incl.", // inkl. "vatShort": "VAT", // MwSt. + "weight": "Weight: {{weight}} kg", // Gewicht: {{weight}} kg + "youSave": "You save: {{amount}}", // Sie sparen: {{amount}} + "cheaperThanIndividual": "Cheaper than buying individually", // Günstiger als Einzelkauf + "pickupPrice": "Pickup price: €19.90 per cutting.", // Abholpreis: 19,90 € pro Steckling. + "consistsOf": "Consists of:", // Bestehend aus: + "loadingComponentDetails": "{{index}}. Loading component details...", // {{index}}. Lädt Komponent-Details... + "individualPriceTotal": "Total individual price:", // Einzelpreis gesamt: + "setPrice": "Set price:", // Set-Preis: + "yourSavings": "Your savings:", // Ihre Ersparnis: "countDisplay": { "noProducts": "0 products", // 0 Produkte "oneProduct": "1 product", // 1 Produkt diff --git a/src/i18n/locales/es/product.js b/src/i18n/locales/es/product.js index 5f00bb1..a2f632f 100644 --- a/src/i18n/locales/es/product.js +++ b/src/i18n/locales/es/product.js @@ -18,6 +18,15 @@ export default { "deliveryTime": "Tiempo de entrega", "inclShort": "incl.", "vatShort": "IVA", + "weight": "Peso: {{weight}} kg", + "youSave": "Ahorras: {{amount}}", + "cheaperThanIndividual": "Más barato que comprar individualmente", + "pickupPrice": "Precio de recogida: 19,90 € por esqueje.", + "consistsOf": "Consiste en:", + "loadingComponentDetails": "{{index}}. Cargando detalles del componente...", + "individualPriceTotal": "Precio individual total:", + "setPrice": "Precio del set:", + "yourSavings": "Tus ahorros:", "countDisplay": { "noProducts": "0 productos", "oneProduct": "1 producto", diff --git a/src/i18n/locales/fr/product.js b/src/i18n/locales/fr/product.js index 00420ae..5d5a9a6 100644 --- a/src/i18n/locales/fr/product.js +++ b/src/i18n/locales/fr/product.js @@ -18,6 +18,15 @@ export default { "deliveryTime": "Délai de livraison", "inclShort": "TTC", "vatShort": "TVA", + "weight": "Poids : {{weight}} kg", + "youSave": "Vous économisez : {{amount}}", + "cheaperThanIndividual": "Moins cher que l'achat individuel", + "pickupPrice": "Prix de retrait : 19,90 € par bouture.", + "consistsOf": "Composé de :", + "loadingComponentDetails": "{{index}}. Chargement des détails du composant...", + "individualPriceTotal": "Prix individuel total :", + "setPrice": "Prix du lot :", + "yourSavings": "Vos économies :", "countDisplay": { "noProducts": "0 produit", "oneProduct": "1 produit", diff --git a/src/i18n/locales/hr/product.js b/src/i18n/locales/hr/product.js index f0bc4a7..a418162 100644 --- a/src/i18n/locales/hr/product.js +++ b/src/i18n/locales/hr/product.js @@ -18,6 +18,15 @@ export default { "deliveryTime": "Vrijeme isporuke", "inclShort": "uklj.", "vatShort": "PDV", + "weight": "Težina: {{weight}} kg", + "youSave": "Uštedite: {{amount}}", + "cheaperThanIndividual": "Jeftinije nego kupnja pojedinačno", + "pickupPrice": "Cijena preuzimanja: 19,90 € po reznici.", + "consistsOf": "Sastoji se od:", + "loadingComponentDetails": "{{index}}. Učitavanje detalja komponente...", + "individualPriceTotal": "Ukupna pojedinačna cijena:", + "setPrice": "Cijena seta:", + "yourSavings": "Vaša ušteda:", "countDisplay": { "noProducts": "0 proizvoda", "oneProduct": "1 proizvod", diff --git a/src/i18n/locales/hu/product.js b/src/i18n/locales/hu/product.js index ab4665a..7c92bc2 100644 --- a/src/i18n/locales/hu/product.js +++ b/src/i18n/locales/hu/product.js @@ -18,6 +18,15 @@ export default { "deliveryTime": "Szállítási idő", "inclShort": "áfával", "vatShort": "ÁFA", + "weight": "Súly: {{weight}} kg", + "youSave": "Megtakarítás: {{amount}}", + "cheaperThanIndividual": "Olcsóbb, mint egyenként vásárolni", + "pickupPrice": "Átvételi ár: 19,90 € darabonként.", + "consistsOf": "Tartalmazza:", + "loadingComponentDetails": "{{index}}. Komponens részleteinek betöltése...", + "individualPriceTotal": "Egyéni ár összesen:", + "setPrice": "Szett ár:", + "yourSavings": "Megtakarításod:", "countDisplay": { "noProducts": "0 termék", "oneProduct": "1 termék", diff --git a/src/i18n/locales/it/product.js b/src/i18n/locales/it/product.js index 2e327b4..2e7d256 100644 --- a/src/i18n/locales/it/product.js +++ b/src/i18n/locales/it/product.js @@ -18,6 +18,15 @@ export default { "deliveryTime": "Tempi di consegna", "inclShort": "incl.", "vatShort": "IVA", + "weight": "Peso: {{weight}} kg", + "youSave": "Risparmi: {{amount}}", + "cheaperThanIndividual": "Più economico che acquistare singolarmente", + "pickupPrice": "Prezzo ritiro: €19,90 per talea.", + "consistsOf": "Composto da:", + "loadingComponentDetails": "{{index}}. Caricamento dettagli componente...", + "individualPriceTotal": "Prezzo totale individuale:", + "setPrice": "Prezzo set:", + "yourSavings": "I tuoi risparmi:", "countDisplay": { "noProducts": "0 prodotti", "oneProduct": "1 prodotto", diff --git a/src/i18n/locales/pl/product.js b/src/i18n/locales/pl/product.js index aa6bce1..7ea5a42 100644 --- a/src/i18n/locales/pl/product.js +++ b/src/i18n/locales/pl/product.js @@ -13,11 +13,20 @@ export default { "arriving": "Przyjazd:", "inclVatFooter": "w tym {{vat}}% VAT,*", "availability": "Dostępność", - "inStock": "na stanie", + "inStock": "w magazynie", "comingSoon": "Wkrótce dostępne", "deliveryTime": "Czas dostawy", "inclShort": "w tym", "vatShort": "VAT", + "weight": "Waga: {{weight}} kg", + "youSave": "Oszczędzasz: {{amount}}", + "cheaperThanIndividual": "Tańsze niż kupowanie pojedynczo", + "pickupPrice": "Cena odbioru: 19,90 € za sadzonkę.", + "consistsOf": "Składa się z:", + "loadingComponentDetails": "{{index}}. Ładowanie szczegółów komponentu...", + "individualPriceTotal": "Łączna cena pojedyncza:", + "setPrice": "Cena zestawu:", + "yourSavings": "Twoje oszczędności:", "countDisplay": { "noProducts": "0 produktów", "oneProduct": "1 produkt", @@ -33,6 +42,6 @@ export default { "from3Products": "od 3 produktów", "from5Products": "od 5 produktów", "from7Products": "od 7 produktów", - "moreProductsMoreSavings": "Im więcej produktów wybierzesz, tym więcej oszczędzasz!" + "moreProductsMoreSavings": "Im więcej produktów wybierzesz, tym więcej zaoszczędzisz!" } }; diff --git a/src/i18n/locales/ro/product.js b/src/i18n/locales/ro/product.js index 2a04f1f..56331f9 100644 --- a/src/i18n/locales/ro/product.js +++ b/src/i18n/locales/ro/product.js @@ -6,18 +6,27 @@ export default { "error": "Eroare", "articleNumber": "Număr articol", "manufacturer": "Producător", - "inclVat": "incl. {{vat}}% TVA", + "inclVat": "inclusiv {{vat}}% TVA", "priceUnit": "{{price}}/{{unit}}", "new": "Nou", "weeks": "săptămâni", "arriving": "Sosire:", - "inclVatFooter": "incl. {{vat}}% TVA,*", + "inclVatFooter": "inclusiv {{vat}}% TVA,*", "availability": "Disponibilitate", "inStock": "în stoc", "comingSoon": "În curând", "deliveryTime": "Timp de livrare", "inclShort": "incl.", "vatShort": "TVA", + "weight": "Greutate: {{weight}} kg", + "youSave": "Economisiți: {{amount}}", + "cheaperThanIndividual": "Mai ieftin decât cumpărarea individuală", + "pickupPrice": "Preț ridicare: 19,90 € per butaș.", + "consistsOf": "Constă din:", + "loadingComponentDetails": "{{index}}. Se încarcă detalii componentă...", + "individualPriceTotal": "Preț individual total:", + "setPrice": "Preț set:", + "yourSavings": "Economiile dvs.:", "countDisplay": { "noProducts": "0 produse", "oneProduct": "1 produs", diff --git a/src/i18n/locales/ru/product.js b/src/i18n/locales/ru/product.js index e1afa8e..016eb8f 100644 --- a/src/i18n/locales/ru/product.js +++ b/src/i18n/locales/ru/product.js @@ -18,21 +18,30 @@ export default { "deliveryTime": "Срок доставки", "inclShort": "вкл.", "vatShort": "НДС", + "weight": "Вес: {{weight}} кг", + "youSave": "Вы экономите: {{amount}}", + "cheaperThanIndividual": "Дешевле, чем покупать по отдельности", + "pickupPrice": "Цена при самовывозе: €19.90 за черенок.", + "consistsOf": "Состоит из:", + "loadingComponentDetails": "{{index}}. Загрузка деталей компонента...", + "individualPriceTotal": "Общая цена по отдельности:", + "setPrice": "Цена набора:", + "yourSavings": "Ваша экономия:", "countDisplay": { - "noProducts": "0 товаров", - "oneProduct": "1 товар", - "multipleProducts": "{{count}} товаров", - "filteredProducts": "{{filtered}} из {{total}} товаров", - "filteredOneProduct": "{{filtered}} из 1 товара", - "xOfYProducts": "{{x}} из {{y}} товаров" + "noProducts": "0 продуктов", + "oneProduct": "1 продукт", + "multipleProducts": "{{count}} продуктов", + "filteredProducts": "{{filtered}} из {{total}} продуктов", + "filteredOneProduct": "{{filtered}} из 1 продукта", + "xOfYProducts": "{{x}} из {{y}} продуктов" }, - "removeFiltersToSee": "Снимите фильтры, чтобы увидеть товары", + "removeFiltersToSee": "Снимите фильтры, чтобы увидеть продукты", "outOfStock": "Нет в наличии", - "fromXProducts": "от {{count}} товаров", + "fromXProducts": "от {{count}} продуктов", "discount": { - "from3Products": "от 3 товаров", - "from5Products": "от 5 товаров", - "from7Products": "от 7 товаров", - "moreProductsMoreSavings": "Чем больше товаров вы выберете, тем больше сэкономите!" + "from3Products": "от 3 продуктов", + "from5Products": "от 5 продуктов", + "from7Products": "от 7 продуктов", + "moreProductsMoreSavings": "Чем больше продуктов вы выберете, тем больше сэкономите!" } }; diff --git a/src/i18n/locales/sk/product.js b/src/i18n/locales/sk/product.js index 60af790..706e166 100644 --- a/src/i18n/locales/sk/product.js +++ b/src/i18n/locales/sk/product.js @@ -1,10 +1,10 @@ export default { - "loading": "Načítava sa produkt...", + "loading": "Načítavam produkt...", "notFound": "Produkt nenájdený", "notFoundDescription": "Produkt, ktorý hľadáte, neexistuje alebo bol odstránený.", "backToHome": "Späť na domovskú stránku", "error": "Chyba", - "articleNumber": "Číslo článku", + "articleNumber": "Číslo produktu", "manufacturer": "Výrobca", "inclVat": "vrátane {{vat}}% DPH", "priceUnit": "{{price}}/{{unit}}", @@ -18,6 +18,15 @@ export default { "deliveryTime": "Doba dodania", "inclShort": "vrátane", "vatShort": "DPH", + "weight": "Hmotnosť: {{weight}} kg", + "youSave": "Ušetríte: {{amount}}", + "cheaperThanIndividual": "Lacnejšie ako kúpa jednotlivých kusov", + "pickupPrice": "Cena pri osobnom odbere: 19,90 € za odrezok.", + "consistsOf": "Skladá sa z:", + "loadingComponentDetails": "{{index}}. Načítavam detaily komponentu...", + "individualPriceTotal": "Celková cena jednotlivých kusov:", + "setPrice": "Cena setu:", + "yourSavings": "Vaša úspora:", "countDisplay": { "noProducts": "0 produktov", "oneProduct": "1 produkt", diff --git a/src/i18n/locales/sl/product.js b/src/i18n/locales/sl/product.js index 3173309..685ed14 100644 --- a/src/i18n/locales/sl/product.js +++ b/src/i18n/locales/sl/product.js @@ -18,21 +18,30 @@ export default { "deliveryTime": "Čas dostave", "inclShort": "vklj.", "vatShort": "DDV", + "weight": "Teža: {{weight}} kg", + "youSave": "Prihranite: {{amount}}", + "cheaperThanIndividual": "Ceneje kot nakup posamezno", + "pickupPrice": "Cena prevzema: 19,90 € na potomec.", + "consistsOf": "Sestavljeno iz:", + "loadingComponentDetails": "{{index}}. Nalaganje podrobnosti komponente...", + "individualPriceTotal": "Skupna cena posamezno:", + "setPrice": "Cena kompleta:", + "yourSavings": "Vaš prihranek:", "countDisplay": { "noProducts": "0 izdelkov", "oneProduct": "1 izdelek", - "multipleProducts": "{{count}} izdelki", + "multipleProducts": "{{count}} izdelkov", "filteredProducts": "{{filtered}} od {{total}} izdelkov", "filteredOneProduct": "{{filtered}} od 1 izdelka", "xOfYProducts": "{{x}} od {{y}} izdelkov" }, - "removeFiltersToSee": "Odstranite filtre, da vidite izdelke", + "removeFiltersToSee": "Odstranite filtre za ogled izdelkov", "outOfStock": "Ni na zalogi", "fromXProducts": "od {{count}} izdelkov", "discount": { "from3Products": "od 3 izdelkov", "from5Products": "od 5 izdelkov", "from7Products": "od 7 izdelkov", - "moreProductsMoreSavings": "Več izdelkov kot izberete, več prihranite!" + "moreProductsMoreSavings": "Več izdelkov izberete, več prihranite!" } }; diff --git a/src/i18n/locales/sr/product.js b/src/i18n/locales/sr/product.js index 478a765..c9cf59d 100644 --- a/src/i18n/locales/sr/product.js +++ b/src/i18n/locales/sr/product.js @@ -18,6 +18,15 @@ export default { "deliveryTime": "Vreme isporuke", "inclShort": "uklj.", "vatShort": "PDV", + "weight": "Težina: {{weight}} kg", + "youSave": "Uštedite: {{amount}}", + "cheaperThanIndividual": "Jeftinije nego kupovina pojedinačno", + "pickupPrice": "Cena preuzimanja: 19,90 € po rezu.", + "consistsOf": "Sastoji se od:", + "loadingComponentDetails": "{{index}}. Učitavanje detalja komponente...", + "individualPriceTotal": "Ukupna pojedinačna cena:", + "setPrice": "Cena kompleta:", + "yourSavings": "Vaša ušteda:", "countDisplay": { "noProducts": "0 proizvoda", "oneProduct": "1 proizvod", diff --git a/src/i18n/locales/sv/product.js b/src/i18n/locales/sv/product.js index ae3e357..b8ddd31 100644 --- a/src/i18n/locales/sv/product.js +++ b/src/i18n/locales/sv/product.js @@ -18,6 +18,15 @@ export default { "deliveryTime": "Leveranstid", "inclShort": "inkl.", "vatShort": "Moms", + "weight": "Vikt: {{weight}} kg", + "youSave": "Du sparar: {{amount}}", + "cheaperThanIndividual": "Billigare än att köpa individuellt", + "pickupPrice": "Upphämtningspris: 19,90 € per stickling.", + "consistsOf": "Består av:", + "loadingComponentDetails": "{{index}}. Laddar komponentdetaljer...", + "individualPriceTotal": "Total individuellt pris:", + "setPrice": "Setpris:", + "yourSavings": "Din besparing:", "countDisplay": { "noProducts": "0 produkter", "oneProduct": "1 produkt", diff --git a/src/i18n/locales/tr/product.js b/src/i18n/locales/tr/product.js index 6f7aa36..678e6f0 100644 --- a/src/i18n/locales/tr/product.js +++ b/src/i18n/locales/tr/product.js @@ -12,12 +12,21 @@ export default { "weeks": "hafta", "arriving": "Geliş:", "inclVatFooter": "%{{vat}} KDV dahil,*", - "availability": "Mevcutluk", + "availability": "Mevcudiyet", "inStock": "stokta", "comingSoon": "Yakında", "deliveryTime": "Teslim süresi", "inclShort": "dahil", "vatShort": "KDV", + "weight": "Ağırlık: {{weight}} kg", + "youSave": "Tasarruf edersiniz: {{amount}}", + "cheaperThanIndividual": "Tek tek almaktan daha ucuz", + "pickupPrice": "Teslim alma fiyatı: kesim başına 19,90 €.", + "consistsOf": "Şunlardan oluşur:", + "loadingComponentDetails": "{{index}}. Bileşen detayları yükleniyor...", + "individualPriceTotal": "Toplam tekil fiyat:", + "setPrice": "Set fiyatı:", + "yourSavings": "Tasarrufunuz:", "countDisplay": { "noProducts": "0 ürün", "oneProduct": "1 ürün", diff --git a/src/i18n/locales/uk/product.js b/src/i18n/locales/uk/product.js index dc2013c..6d87c98 100644 --- a/src/i18n/locales/uk/product.js +++ b/src/i18n/locales/uk/product.js @@ -4,7 +4,7 @@ export default { "notFoundDescription": "Продукт, який ви шукаєте, не існує або був видалений.", "backToHome": "Назад на головну сторінку", "error": "Помилка", - "articleNumber": "Номер артикула", + "articleNumber": "Артикул", "manufacturer": "Виробник", "inclVat": "включно з {{vat}}% ПДВ", "priceUnit": "{{price}}/{{unit}}", @@ -18,6 +18,15 @@ export default { "deliveryTime": "Час доставки", "inclShort": "вкл.", "vatShort": "ПДВ", + "weight": "Вага: {{weight}} кг", + "youSave": "Ви заощаджуєте: {{amount}}", + "cheaperThanIndividual": "Дешевше, ніж купувати окремо", + "pickupPrice": "Ціна за самовивіз: €19.90 за живець.", + "consistsOf": "Складається з:", + "loadingComponentDetails": "{{index}}. Завантаження деталей компонента...", + "individualPriceTotal": "Загальна індивідуальна ціна:", + "setPrice": "Ціна набору:", + "yourSavings": "Ваші заощадження:", "countDisplay": { "noProducts": "0 продуктів", "oneProduct": "1 продукт", diff --git a/src/i18n/locales/zh/product.js b/src/i18n/locales/zh/product.js index a3c79da..0cb50d2 100644 --- a/src/i18n/locales/zh/product.js +++ b/src/i18n/locales/zh/product.js @@ -18,21 +18,30 @@ export default { "deliveryTime": "交货时间", "inclShort": "含", "vatShort": "增值税", + "weight": "重量:{{weight}} 公斤", + "youSave": "您节省了:{{amount}}", + "cheaperThanIndividual": "比单独购买更便宜", + "pickupPrice": "自提价:每个插枝19.90欧元。", + "consistsOf": "包含:", + "loadingComponentDetails": "{{index}}. 正在加载组件详情...", + "individualPriceTotal": "单件总价:", + "setPrice": "套装价:", + "yourSavings": "您的节省:", "countDisplay": { "noProducts": "0 件产品", "oneProduct": "1 件产品", "multipleProducts": "{{count}} 件产品", - "filteredProducts": "{{filtered}} / 共 {{total}} 件产品", - "filteredOneProduct": "{{filtered}} / 共 1 件产品", - "xOfYProducts": "{{x}} / 共 {{y}} 件产品" + "filteredProducts": "{{filtered}} / {{total}} 件产品", + "filteredOneProduct": "{{filtered}} / 1 件产品", + "xOfYProducts": "{{x}} / {{y}} 件产品" }, "removeFiltersToSee": "移除筛选条件以查看产品", "outOfStock": "缺货", - "fromXProducts": "从 {{count}} 件产品起", + "fromXProducts": "从 {{count}} 件产品开始", "discount": { - "from3Products": "从 3 件产品起", - "from5Products": "从 5 件产品起", - "from7Products": "从 7 件产品起", + "from3Products": "从3件产品开始", + "from5Products": "从5件产品开始", + "from7Products": "从7件产品开始", "moreProductsMoreSavings": "选择的产品越多,节省越多!" } };