neu && (new Date().getTime() - new Date(neu).getTime() < 30 * 24 * 60 * 60 * 1000);
@@ -149,17 +150,17 @@ function getFilteredProducts(unfilteredProducts, attributes) {
// Check for "auf Lager" filter (in stock) - it's active when filter_availability is NOT set to '1'
if (availabilityFilter !== '1') {
- activeAvailabilityFilters.push({id: '1', name: 'auf Lager'});
+ activeAvailabilityFilters.push({id: '1', name: this.props.t ? this.props.t('product.inStock') : 'auf Lager'});
}
// Check for "Neu" filter (new) - only show if there are actually new products and filter is active
if (availabilityFilters.includes('2') && hasNewProducts) {
- activeAvailabilityFilters.push({id: '2', name: 'Neu'});
+ activeAvailabilityFilters.push({id: '2', name: this.props.t ? this.props.t('product.new') : 'Neu'});
}
// Check for "Bald verfügbar" filter (coming soon) - only show if there are actually coming soon products and filter is active
if (availabilityFilters.includes('3') && hasComingSoonProducts) {
- activeAvailabilityFilters.push({id: '3', name: 'Bald verfügbar'});
+ activeAvailabilityFilters.push({id: '3', name: this.props.t ? this.props.t('product.comingSoon') : 'Bald verfügbar'});
}
return {filteredProducts,activeAttributeFilters:activeAttributeFiltersWithNames,activeManufacturerFilters:activeManufacturerFiltersWithNames,activeAvailabilityFilters};
@@ -602,7 +603,7 @@ class Content extends Component {
{(this.getCurrentCategoryId() == 706 || this.getCurrentCategoryId() == 689) &&
- Andere Kategorien
+ {this.props.t ? this.props.t('navigation.otherCategories') : 'Andere Kategorien'}
}
@@ -647,7 +648,7 @@ class Content extends Component {
p: 2,
}}>
- Seeds
+ {this.props.t('sections.seeds')}
@@ -694,7 +695,7 @@ class Content extends Component {
p: 2,
}}>
- Stecklinge
+ {this.props.t('sections.stecklinge')}
@@ -723,4 +724,4 @@ class Content extends Component {
}
}
-export default withRouter(Content);
\ No newline at end of file
+export default withRouter(withI18n()(Content));
\ No newline at end of file
diff --git a/src/components/GoogleLoginButton.js b/src/components/GoogleLoginButton.js
index 4687532..447ab0e 100644
--- a/src/components/GoogleLoginButton.js
+++ b/src/components/GoogleLoginButton.js
@@ -2,6 +2,7 @@ import React, { Component } from 'react';
import Button from '@mui/material/Button';
import GoogleIcon from '@mui/icons-material/Google';
import GoogleAuthContext from '../contexts/GoogleAuthContext.js';
+import { withI18n } from '../i18n/index.js';
class GoogleLoginButton extends Component {
static contextType = GoogleAuthContext;
@@ -186,7 +187,7 @@ class GoogleLoginButton extends Component {
};
render() {
- const { disabled, style, className, text = 'Mit Google anmelden' } = this.props;
+ const { disabled, style, className, text = (this.props.t ? this.props.t('auth.loginWithGoogle') : 'Mit Google anmelden') } = this.props;
const { isInitializing, isPrompting } = this.state;
const isLoading = isInitializing || isPrompting || (this.context && !this.context.isLoaded);
@@ -205,4 +206,4 @@ class GoogleLoginButton extends Component {
}
}
-export default GoogleLoginButton;
\ No newline at end of file
+export default withI18n(GoogleLoginButton);
\ No newline at end of file
diff --git a/src/components/LoginComponent.js b/src/components/LoginComponent.js
index f2ecb91..a8a7ac6 100644
--- a/src/components/LoginComponent.js
+++ b/src/components/LoginComponent.js
@@ -744,7 +744,7 @@ export class LoginComponent extends Component {
onClick={tabValue === 0 ? this.handleLogin : this.handleRegister}
sx={{ mt: 2, bgcolor: '#2e7d32', '&:hover': { bgcolor: '#1b5e20' } }}
>
- {tabValue === 0 ? 'ANMELDEN' : 'REGISTRIEREN'}
+ {tabValue === 0 ? (this.props.t ? this.props.t('auth.login').toUpperCase() : 'ANMELDEN') : (this.props.t ? this.props.t('auth.register').toUpperCase() : 'REGISTRIEREN')}
)}
diff --git a/src/components/MainPageLayout.js b/src/components/MainPageLayout.js
index a412fb9..4bcb677 100644
--- a/src/components/MainPageLayout.js
+++ b/src/components/MainPageLayout.js
@@ -44,9 +44,9 @@ const MainPageLayout = () => {
};
const allTitles = {
- home: "ine annabis eeds & uttings",
- aktionen: "tuelle ktionen & gebote",
- filiale: "nsere iliale in resden"
+ home: t('titles.home'),
+ aktionen: t('titles.aktionen'),
+ filiale: t('titles.filiale')
};
// Define all content boxes for layered rendering
diff --git a/src/components/ProductDetailPage.js b/src/components/ProductDetailPage.js
index 50e1d44..bc4d17c 100644
--- a/src/components/ProductDetailPage.js
+++ b/src/components/ProductDetailPage.js
@@ -490,7 +490,7 @@ class ProductDetailPage extends Component {
{error}
- Zurück zur Startseite
+ {this.props.t ? this.props.t('product.backToHome') : 'Zurück zur Startseite'}
@@ -508,7 +508,7 @@ class ProductDetailPage extends Component {
- Zurück zur Startseite
+ {this.props.t ? this.props.t('product.backToHome') : 'Zurück zur Startseite'}
@@ -573,7 +573,7 @@ class ProductDetailPage extends Component {
fontWeight: "bold",
}}
>
- Zurück
+ {this.props.t ? this.props.t('common.back') : 'Zurück'}
@@ -634,7 +634,7 @@ class ProductDetailPage extends Component {
{/* Product identifiers */}
- Artikelnummer: {product.articleNumber} {product.gtin ? ` | GTIN: ${product.gtin}` : ""}
+ {this.props.t ? this.props.t('product.articleNumber') : 'Artikelnummer'}: {product.articleNumber} {product.gtin ? ` | GTIN: ${product.gtin}` : ""}
@@ -652,7 +652,7 @@ class ProductDetailPage extends Component {
{product.manufacturer && (
- Hersteller: {product.manufacturer}
+ {this.props.t ? this.props.t('product.manufacturer') : 'Hersteller'}: {product.manufacturer}
)}
diff --git a/src/components/ProductList.js b/src/components/ProductList.js
index 652e2c6..e1a93d9 100644
--- a/src/components/ProductList.js
+++ b/src/components/ProductList.js
@@ -185,7 +185,7 @@ class ProductList extends Component {
px: 2
}}>
- Entferne Filter um Produkte zu sehen
+ {this.props.t ? this.props.t('product.removeFiltersToSee') : 'Entferne Filter um Produkte zu sehen'}
);
@@ -354,10 +354,10 @@ class ProductList extends Component {
}
}}
>
-
- {window.currentSearchQuery && }
-
-
+
+ {window.currentSearchQuery && }
+
+
diff --git a/src/components/SharedCarousel.js b/src/components/SharedCarousel.js
index d53f1c6..8d574bc 100644
--- a/src/components/SharedCarousel.js
+++ b/src/components/SharedCarousel.js
@@ -7,6 +7,7 @@ import ChevronRight from "@mui/icons-material/ChevronRight";
import CategoryBox from "./CategoryBox.js";
import SocketContext from "../contexts/SocketContext.js";
import { useCarousel } from "../contexts/CarouselContext.js";
+import { useTranslation } from 'react-i18next';
// Helper to process and set categories
const processCategoryTree = (categoryTree) => {
@@ -52,6 +53,7 @@ const initializeCategories = () => {
const SharedCarousel = () => {
const { carouselRef, filteredCategories, setFilteredCategories, moveCarousel } = useCarousel();
const context = useContext(SocketContext);
+ const { t } = useTranslation();
const [rootCategories, setRootCategories] = useState([]);
useEffect(() => {
@@ -111,7 +113,7 @@ const SharedCarousel = () => {
textShadow: "3px 3px 10px rgba(0, 0, 0, 0.4)"
}}
>
- Kategorien
+ {t('navigation.categories')}
- ← Zurück zur Bestellung
+ {this.props.t ? this.props.t('cart.backToOrder') : '← Zurück zur Bestellung'}
@@ -541,4 +542,4 @@ class CartTab extends Component {
// Set static contextType to access the socket
CartTab.contextType = SocketContext;
-export default CartTab;
+export default withI18n(CartTab);
diff --git a/src/i18n/locales/ar/translation.js b/src/i18n/locales/ar/translation.js
new file mode 100644
index 0000000..e6c897d
--- /dev/null
+++ b/src/i18n/locales/ar/translation.js
@@ -0,0 +1,231 @@
+export default {
+ "locale": {
+ "code": "ar-EG"
+ },
+ "navigation": {
+ "home": "الصفحة الرئيسية",
+ "aktionen": "الإجراءات",
+ "filiale": "فرع",
+ "categories": "الفئات",
+ "categoriesOpen": "الفئات المفتوحة",
+ "categoriesClose": "إغلاق الفئات",
+ "otherCategories": "فئات أخرى"
+ },
+ "auth": {
+ "login": "تسجيل الدخول",
+ "register": "التسجيل",
+ "logout": "تسجيل الخروج",
+ "profile": "الملف الشخصي",
+ "email": "البريد الإلكتروني",
+ "password": "كلمة المرور",
+ "confirmPassword": "تأكيد كلمة المرور",
+ "forgotPassword": "هل نسيت كلمة المرور؟",
+ "loginWithGoogle": "تسجيل الدخول باستخدام جوجل",
+ "or": "أو",
+ "privacyAccept": "بالنقر على \"تسجيل الدخول باستخدام جوجل\"، أوافق على",
+ "privacyPolicy": "سياسة الخصوصية",
+ "passwordMinLength": "يجب أن تكون كلمة المرور على الأقل 8 حروف",
+ "newPasswordMinLength": "يجب أن تكون كلمة المرور الجديدة على الأقل 8 حروف",
+ "menu": {
+ "profile": "الملف الشخصي",
+ "checkout": "الدفع",
+ "orders": "الطلبات",
+ "settings": "الإعدادات",
+ "adminDashboard": "لوحة تحكم الإدارة",
+ "adminUsers": "مستخدمو الإدارة"
+ }
+ },
+ "cart": {
+ "title": "سلة التسوق",
+ "empty": "فارغة",
+ "addToCart": "أضف إلى السلة",
+ "preorderCutting": "الطلب المسبق للقصاصات",
+ "continueShopping": "مواصلة التسوق",
+ "proceedToCheckout": "الانتقال للدفع",
+ "productCount": "{{count}} {{count, plural, one {منتج} other {منتجات}}}",
+ "removeFromCart": "إزالة من السلة",
+ "openCart": "فتح السلة",
+ "availableFrom": "من {{date}}",
+ "backToOrder": "← العودة للطلب",
+ "sync": {
+ "title": "مزامنة السلة",
+ "description": "لديك سلة محفوظة في حسابك. يرجى اختيار كيفية المتابعة:",
+ "deleteServer": "حذف سلة الخادم",
+ "useServer": "استخدام سلة الخادم",
+ "merge": "دمج السلال",
+ "currentCart": "السلة الحالية الخاصة بك",
+ "serverCart": "السلة المحفوظة في ملفك الشخصي"
+ }
+ },
+ "product": {
+ "loading": "جارٍ تحميل المنتج...",
+ "notFound": "المنتج غير موجود",
+ "notFoundDescription": "المنتج الذي تبحث عنه غير موجود أو تم إزالته.",
+ "backToHome": "العودة للصفحة الرئيسية",
+ "error": "خطأ",
+ "articleNumber": "رقم المقالة",
+ "manufacturer": "الشركة المصنعة",
+ "inclVat": "شاملة {{vat}}% ضريبة قيمة مضافة",
+ "priceUnit": "{{price}}/{{unit}}",
+ "new": "جديد",
+ "arriving": "الوصول:",
+ "inclVatFooter": "شاملة {{vat}}% ضريبة القيمة المضافة، *",
+ "availability": "التوفر",
+ "inStock": "متوفر في المخزون",
+ "comingSoon": "قريبا",
+ "deliveryTime": "مدة التسليم",
+ "inclShort": "شامل",
+ "vatShort": "ض. م.",
+ "countDisplay": {
+ "noProducts": "0 منتجات",
+ "oneProduct": "منتج واحد",
+ "multipleProducts": "{{count}} منتجات",
+ "filteredProducts": "{{filtered}} من {{total}} المنتجات",
+ "filteredOneProduct": "{{filtered}} من منتج واحد"
+ },
+ "removeFiltersToSee": "إزالة الفلاتر لعرض المنتجات",
+ "outOfStock": "غير متوفر في المخزون",
+ "fromXProducts": "من {{count}} منتجات"
+ },
+ "search": {
+ "placeholder": "يمكنك سؤالي عن أصناف القنب...",
+ "recording": "جار التسجيل...",
+ "searchProducts": "البحث عن منتجات..."
+ },
+ "sorting": {
+ "name": "الاسم",
+ "searchField": "مسمى البحث",
+ "priceLowHigh": "السعر: من الأقل للأعلى",
+ "priceHighLow": "السعر: من الأعلى للأاقل"
+ },
+ "chat": {
+ "privacyRead": "مقروء ومقبول"
+ },
+ "delivery": {
+ "methods": {
+ "dhl": "DHL",
+ "dpd": "DPD",
+ "sperrgut": "بضائع ضخمة",
+ "pickup": "استلام من المتجر"
+ },
+ "descriptions": {
+ "standard": "الشحن القياسي",
+ "standardFree": "الشحن القياسي - مجانًا عند شراء بقيمة €100 أو أكثر!",
+ "notAvailable": "غير قابل للاختيار لأنه يمكن استلام عنصر واحد أو أكثر فقط",
+ "bulky": "للمنتجات الكبيرة والثقيلة"
+ },
+ "prices": {
+ "free": "مجانًا",
+ "freeFrom100": "(مجانًا من €100)",
+ "dhl": "€6.99",
+ "dpd": "€4.90",
+ "sperrgut": "€28.99"
+ },
+ "times": {
+ "cutting14Days": "مدة التوصيل: 14 يومًا",
+ "standard2to3Days": "مدة التوصيل: 2-3 أيام",
+ "supplier7to9Days": "مدة التوصيل: 7-9 أيام"
+ }
+ },
+ "checkout": {
+ "invoiceAddress": "عنوان الفوترة",
+ "deliveryAddress": "عنوان التوصيل",
+ "saveForFuture": "حفظ للطلبات المستقبلية",
+ "pickupDate": "ما التاريخ المطلوب فيه استلام القصاصات؟",
+ "note": "ملاحظة",
+ "sameAddress": "عنوان التوصيل هو نفسه عنوان الفوترة",
+ "termsAccept": "لقد قرأت الشروط والأحكام، وسياسة الخصوصية، وسياسة الإلغاء"
+ },
+ "payment": {
+ "successful": "تم الدفع بنجاح!",
+ "failed": "فشلت عملية الدفع",
+ "orderCompleted": "🎉 تم إتمام طلبك بنجاح! يمكنك الآن عرض طلباتك.",
+ "orderProcessing": "تم معالجة دفعك بنجاح. سيتم إكمال الطلب تلقائيًا.",
+ "paymentError": "لم تنجح عملية الدفع. يرجى المحاولة مرة أخرى أو اختيار طريقة دفع أخرى.",
+ "viewOrders": "عرض طلباتي"
+ },
+ "filters": {
+ "sorting": "التصفية",
+ "perPage": "لكل صفحة",
+ "availability": "التوفر",
+ "manufacturer": "الشركة المصنعة"
+ },
+ "tax": {
+ "vat": "ضريبة القيمة المضافة",
+ "vat7": "7% ضريبة القيمة المضافة",
+ "vat19": "19% ضريبة القيمة المضافة",
+ "vat19WithShipping": "19% ضريبة مضافة (تشمل الشحن)",
+ "totalNet": "المجموع الصافي",
+ "totalGross": "المجموع الإجمالي بدون الشحن",
+ "subtotal": "المجموع الفرعي"
+ },
+ "footer": {
+ "hours": "السبت 11-19",
+ "address": "شارع تراشينبرغر 14 - درسدن",
+ "location": "بين محطة Pieschen و SQUARE تراشينبرغر",
+ "allPricesIncl": "* يشمل جميع الأسعار ضريبة القيمة المضافة القانونية، بالإضافة إلى الشحن",
+ "copyright": "© {{year}} GrowHeads.de",
+ "legal": {
+ "datenschutz": "سياسة الخصوصية",
+ "agb": "الشروط والأحكام",
+ "sitemap": "خريطة الموقع",
+ "impressum": "معلومات النشر",
+ "batteriegesetzhinweise": "ملاحظات تنظيم البطاريات",
+ "widerrufsrecht": "حق الانسحاب"
+ }
+ },
+ "titles": {
+ "home": "نبتة قنّب َ بذور و قصاصات",
+ "aktionen": "عروض & بع ِضَ",
+ "filiale": "فرع في درسدن"
+ },
+ "sections": {
+ "seeds": "البذور",
+ "stecklinge": "القصاصات",
+ "oilPress": "تأجير مطحنة الزيت",
+ "thcTest": "اختبار THC",
+ "address1": "شارع تراشينبرغر 14",
+ "address2": "01129 درسدن"
+ },
+ "pages": {
+ "oilPress": {
+ "title": "تأجير مطحنة الزيت",
+ "comingSoon": "المحتوى قريبا..."
+ },
+ "thcTest": {
+ "title": "اختبار THC",
+ "comingSoon": "المحتوى قريبا..."
+ }
+ },
+ "orders": {
+ "status": {
+ "new": "قيد التنفيذ",
+ "pending": "جديد",
+ "processing": "قيد المعالجة",
+ "cancelled": "تم الإلغاء",
+ "shipped": "تم الشحن",
+ "delivered": "تم التوصيل",
+ "return": "إرجاع",
+ "partialReturn": "إرجاع جزئي",
+ "partialDelivered": "تم التوصيل جزئياً"
+ }
+ },
+ "common": {
+ "loading": "جار التحميل...",
+ "error": "خطأ",
+ "close": "إغلاق",
+ "save": "حفظ",
+ "cancel": "إلغاء",
+ "ok": "موافق",
+ "yes": "نعم",
+ "no": "لا",
+ "next": "التالي",
+ "back": "السابق",
+ "edit": "تعديل",
+ "delete": "حذف",
+ "add": "إضافة",
+ "remove": "إزالة",
+ "products": "المنتجات",
+ "product": "المنتج"
+ }
+};
diff --git a/src/i18n/locales/bg/translation.js b/src/i18n/locales/bg/translation.js
index 3bdd7f7..b9fe4db 100644
--- a/src/i18n/locales/bg/translation.js
+++ b/src/i18n/locales/bg/translation.js
@@ -1,120 +1,147 @@
export default {
+ "locale": {
+ "code": "bg-BG" // de-DE
+ },
"navigation": {
"home": "Начало", // Startseite
- "aktionen": "Действия", // Aktionen
- "filiale": "Магазин", // Filiale
+ "aktionen": "Промоции", // Aktionen
+ "filiale": "Клон", // Filiale
"categories": "Категории", // Kategorien
"categoriesOpen": "Отвори категории", // Kategorien öffnen
- "categoriesClose": "Затвори категории" // Kategorien schließen
+ "categoriesClose": "Затвори категории", // Kategorien schließen
+ "otherCategories": "Други категории" // Andere Kategorien
},
"auth": {
- "login": "Влизане", // Anmelden
+ "login": "Вход", // Anmelden
"register": "Регистрация", // Registrieren
- "logout": "Излизане", // Abmelden
+ "logout": "Изход", // Abmelden
"profile": "Профил", // Profil
"email": "Имейл", // E-Mail
"password": "Парола", // Passwort
- "confirmPassword": "Потвърди парола", // Passwort bestätigen
+ "confirmPassword": "Потвърди паролата", // Passwort bestätigen
"forgotPassword": "Забравена парола?", // Passwort vergessen?
- "loginWithGoogle": "Влизане с Google", // Mit Google anmelden
+ "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
+ "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
"menu": {
"profile": "Профил", // Profil
- "checkout": "Завършване на поръчка", // Bestellabschluss
+ "checkout": "Плащане", // Bestellabschluss
"orders": "Поръчки", // Bestellungen
"settings": "Настройки", // Einstellungen
- "adminDashboard": "Админ панел", // Admin Dashboard
+ "adminDashboard": "Админ табло", // Admin Dashboard
"adminUsers": "Админ потребители" // Admin Users
}
},
"cart": {
- "title": "Количка", // Warenkorb
+ "title": "Кошница", // Warenkorb
"empty": "празна", // leer
- "addToCart": "Добави в количката", // In den Korb
- "preorderCutting": "Предпоръчай като резенче", // Als Steckling vorbestellen
+ "addToCart": "Добави в кошницата", // In den Korb
+ "preorderCutting": "Предварителна поръчка на резник", // Als Steckling vorbestellen
"continueShopping": "Продължи пазаруването", // Weiter einkaufen
- "proceedToCheckout": "Към касата", // Weiter zur Kasse
+ "proceedToCheckout": "Продължи към плащане", // Weiter zur Kasse
+ "productCount": "{{count}} {{count, plural, one {Продукт} other {Продукта}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}}
+ "removeFromCart": "Премахни от кошницата", // Aus dem Warenkorb entfernen
+ "openCart": "Отвори кошницата", // Warenkorb öffnen
+ "availableFrom": "Наличен от {{date}}", // Ab {{date}}
+ "backToOrder": "← Обратно към поръчката", // ← Zurück zur Bestellung
"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": "Синхронизация на кошницата", // 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
}
},
"product": {
- "loading": "Продуктът се зарежда...", // Produkt wird geladen...
+ "loading": "Зареждане на продукта...", // Produkt wird geladen...
"notFound": "Продуктът не е намерен", // Produkt nicht gefunden
"notFoundDescription": "Търсеният продукт не съществува или е премахнат.", // Das gesuchte Produkt existiert nicht oder wurde entfernt.
- "backToHome": "Обратно към началото", // Zurück zur Startseite
+ "backToHome": "Обратно към началната страница", // Zurück zur Startseite
"error": "Грешка", // Fehler
"articleNumber": "Артикулен номер", // Artikelnummer
"manufacturer": "Производител", // Hersteller
"inclVat": "вкл. {{vat}}% ДДС", // inkl. {{vat}}% MwSt.
"priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}}
"new": "Нов", // Neu
- "arriving": "Пристигане:", // Ankunft:
+ "arriving": "Очаква се:", // Ankunft:
"inclVatFooter": "вкл. {{vat}}% ДДС,*", // incl. {{vat}}% USt.,*
"availability": "Наличност", // Verfügbarkeit
- "inStock": "в наличност", // auf Lager
- "comingSoon": "Скоро достъпен", // Bald verfügbar
- "deliveryTime": "Време за доставка", // Lieferzeit
+ "inStock": "налично", // auf Lager
+ "comingSoon": "Очаквайте скоро", // Bald verfügbar
+ "deliveryTime": "Срок на доставка", // Lieferzeit
"inclShort": "вкл.", // inkl.
- "vatShort": "ДДС" // MwSt.
+ "vatShort": "ДДС", // MwSt.
+ "countDisplay": {
+ "noProducts": "0 продукта", // 0 Produkte
+ "oneProduct": "1 продукт", // 1 Produkt
+ "multipleProducts": "{{count}} продукта", // {{count}} Produkte
+ "filteredProducts": "{{filtered}} от {{total}} продукта", // {{filtered}} von {{total}} Produkten
+ "filteredOneProduct": "{{filtered}} от 1 продукт" // {{filtered}} von 1 Produkt
+ },
+ "removeFiltersToSee": "Премахнете филтрите, за да видите продуктите", // Entferne Filter um Produkte zu sehen
+ "outOfStock": "Изчерпано", // Out of Stock
+ "fromXProducts": "от {{count}} продукта" // ab {{count}} Produkten
},
"search": {
- "placeholder": "Можете да ме попитате за канабисови сортове...", // Du kannst mich nach Cannabissorten fragen...
- "recording": "Записва се..." // Aufnahme läuft...
+ "placeholder": "Можете да ме попитате за сортове канабис...", // Du kannst mich nach Cannabissorten fragen...
+ "recording": "Запис...", // Aufnahme läuft...
+ "searchProducts": "Търсене на продукти..." // Produkte suchen...
+ },
+ "sorting": {
+ "name": "Име", // Name
+ "searchField": "Търсена дума", // Suchbegriff
+ "priceLowHigh": "Цена: от ниска към висока", // Preis: Niedrig zu Hoch
+ "priceHighLow": "Цена: от висока към ниска" // Preis: Hoch zu Niedrig
},
"chat": {
- "privacyRead": "Прочетено и прието" // Gelesen & Akzeptiert
+ "privacyRead": "Прочетено & Прието" // Gelesen & Akzeptiert
},
"delivery": {
"methods": {
"dhl": "DHL", // DHL
"dpd": "DPD", // DPD
- "sperrgut": "Габаритни стоки", // Sperrgut
- "pickup": "Вземане от магазина" // Abholung in der Filiale
+ "sperrgut": "Обемни товари", // Sperrgut
+ "pickup": "Вземане от клон" // Abholung in der Filiale
},
"descriptions": {
"standard": "Стандартна доставка", // Standardversand
- "standardFree": "Стандартна доставка - БЕЗПЛАТНА от 100€ стойност на поръчката!", // Standardversand - KOSTENLOS ab 100€ Warenwert!
- "notAvailable": "не може да се избере, защото един или повече артикули могат да се вземат само от магазина", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können
+ "standardFree": "Стандартна доставка - БЕЗПЛАТНО при поръчка над 100€!", // Standardversand - KOSTENLOS ab 100€ Warenwert!
+ "notAvailable": "Не може да се избере, защото един или повече артикули могат да се вземат само на място", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können
"bulky": "За големи и тежки артикули" // Für große und schwere Artikel
},
"prices": {
"free": "безплатно", // kostenlos
+ "freeFrom100": "(безплатно от 100€)", // (kostenlos ab 100€)
"dhl": "6,99 €", // 6,99 €
"dpd": "4,90 €", // 4,90 €
"sperrgut": "28,99 €" // 28,99 €
},
"times": {
- "cutting14Days": "Време за доставка: 14 дни", // Lieferzeit: 14 Tage
- "standard2to3Days": "Време за доставка: 2-3 дни", // Lieferzeit: 2-3 Tage
- "supplier7to9Days": "Време за доставка: 7-9 дни" // Lieferzeit: 7-9 Tage
+ "cutting14Days": "Срок на доставка: 14 дни", // Lieferzeit: 14 Tage
+ "standard2to3Days": "Срок на доставка: 2-3 дни", // Lieferzeit: 2-3 Tage
+ "supplier7to9Days": "Срок на доставка: 7-9 дни" // Lieferzeit: 7-9 Tage
}
},
"checkout": {
- "invoiceAddress": "Адрес за фактуриране", // Rechnungsadresse
+ "invoiceAddress": "Адрес за фактура", // Rechnungsadresse
"deliveryAddress": "Адрес за доставка", // Lieferadresse
"saveForFuture": "Запази за бъдещи поръчки", // Für zukünftige Bestellungen speichern
- "pickupDate": "За коя дата се желае вземането на резенчетата?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht?
- "note": "Забележка", // Anmerkung
- "sameAddress": "Адресът за доставка е идентичен с адреса за фактуриране", // Lieferadresse ist identisch mit Rechnungsadresse
- "termsAccept": "Прочетох Общите условия, Политиката за поверителност и разпоредбите за правото на отказ" // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen
+ "pickupDate": "За коя дата желаете да вземете резниците?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht?
+ "note": "Бележка", // Anmerkung
+ "sameAddress": "Адресът за доставка е същият като адреса за фактура", // Lieferadresse ist identisch mit Rechnungsadresse
+ "termsAccept": "Прочетох Общите условия, Политиката за поверителност и информацията за правото на отказ" // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen
},
"payment": {
- "successful": "Успешно плащане!", // Zahlung erfolgreich!
- "failed": "Неуспешно плащане", // Zahlung fehlgeschlagen
- "orderCompleted": "🎉 Вашата поръчка беше успешно завършена! Сега можете да видите поръчките си.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen.
- "orderProcessing": "Вашето плащане беше успешно обработено. Поръчката ще бъде завършена автоматично.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen.
- "paymentError": "Вашето плащане не можа да бъде обработено. Моля, опитайте отново или изберете друг метод на плащане.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode.
+ "successful": "Плащането е успешно!", // Zahlung erfolgreich!
+ "failed": "Плащането не бе успешно", // Zahlung fehlgeschlagen
+ "orderCompleted": "🎉 Вашата поръчка е успешно завършена! Можете да видите вашите поръчки.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen.
+ "orderProcessing": "Плащането ви беше успешно обработено. Поръчката ще бъде завършена автоматично.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen.
+ "paymentError": "Плащането не можа да бъде обработено. Моля, опитайте отново или изберете друг метод на плащане.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode.
"viewOrders": "Виж моите поръчки" // Zu meinen Bestellungen
},
"filters": {
@@ -124,71 +151,71 @@ export default {
"manufacturer": "Производител" // Hersteller
},
"tax": {
- "vat": "Данък добавена стойност", // Mehrwertsteuer
- "vat7": "7% Данък добавена стойност", // 7% Mehrwertsteuer
- "vat19": "19% Данък добавена стойност", // 19% Mehrwertsteuer
- "vat19WithShipping": "19% Данък добавена стойност (вкл. доставка)", // 19% Mehrwertsteuer (inkl. Versand)
+ "vat": "Данък върху добавената стойност", // Mehrwertsteuer
+ "vat7": "7% Данък върху добавената стойност", // 7% Mehrwertsteuer
+ "vat19": "19% Данък върху добавената стойност", // 19% Mehrwertsteuer
+ "vat19WithShipping": "19% Данък върху добавената стойност (вкл. доставка)", // 19% Mehrwertsteuer (inkl. Versand)
"totalNet": "Обща нетна цена", // Gesamtnettopreis
"totalGross": "Обща брутна цена без доставка", // Gesamtbruttopreis ohne Versand
"subtotal": "Междинна сума" // Zwischensumme
},
"footer": {
"hours": "Съб 11-19", // Sa 11-19
- "address": "Trachenberger Straße 14 - Дрезден", // Trachenberger Straße 14 - Dresden
- "location": "Между спирка Пишен и Трахенбергер плац", // Zwischen Haltepunkt Pieschen und Trachenberger Platz
- "allPricesIncl": "* Всички цени вкл. законов ДДС, плюс доставка", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand
+ "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden
+ "location": "Между спирка Пишен и Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz
+ "allPricesIncl": "* Всички цени включват законен ДДС, плюс доставка", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand
"copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de
"legal": {
- "datenschutz": "Политика за поверителност", // Datenschutz
+ "datenschutz": "Поверителност", // Datenschutz
"agb": "Общи условия", // AGB
"sitemap": "Карта на сайта", // Sitemap
- "impressum": "Impressum", // Impressum
- "batteriegesetzhinweise": "Информация за закона за батерии", // Batteriegesetzhinweise
+ "impressum": "Отпечатък", // Impressum
+ "batteriegesetzhinweise": "Бележки за закона за батериите", // Batteriegesetzhinweise
"widerrufsrecht": "Право на отказ" // Widerrufsrecht
}
- },
+ },
"titles": {
- "home": "Канабисови семена и резенчета", // Cannabis Seeds & Cuttings
- "aktionen": "Текущи действия и оферти", // Aktuelle Aktionen & Angebote
- "filiale": "Нашият магазин в Дрезден" // Unsere Filiale in Dresden
+ "home": "Фини семена и резници от канабис", // Fine Cannabis Seeds & Cuttings (the text in the string has special characters, translate using the comment)
+ "aktionen": "Текущи промоции и оферти", // Aktuelle Aktionen & Angebote (the text in the string has special characters, translate using the comment)
+ "filiale": "Нашият клон в Дрезден" // Unsere Filiale in Dresden (the text in the string has special characters, translate using the comment)
},
"sections": {
"seeds": "Семена", // Seeds
- "stecklinge": "Резенчета", // Stecklinge
- "oilPress": "Наеми маслопреса", // Ölpresse ausleihen
+ "stecklinge": "Резници", // Stecklinge
+ "oilPress": "Наеми преса за масло", // Ölpresse ausleihen
"thcTest": "THC тест", // THC Test
"address1": "Trachenberger Straße 14", // Trachenberger Straße 14
- "address2": "01129 Дрезден" // 01129 Dresden
+ "address2": "01129 Dresden" // 01129 Dresden
},
"pages": {
"oilPress": {
- "title": "Наеми маслопреса", // Ölpresse ausleihen
- "comingSoon": "Съдържанието идва скоро..." // Inhalt kommt bald...
+ "title": "Наеми преса за масло", // Ölpresse ausleihen
+ "comingSoon": "Съдържанието ще бъде налично скоро..." // Inhalt kommt bald...
},
"thcTest": {
"title": "THC тест", // THC Test
- "comingSoon": "Съдържанието идва скоро..." // Inhalt kommt bald...
+ "comingSoon": "Съдържанието ще бъде налично скоро..." // Inhalt kommt bald...
}
},
"orders": {
"status": {
- "new": "обработва се", // in Bearbeitung
- "pending": "Нов", // Neu
- "processing": "Обработва се", // in Bearbeitung
- "cancelled": "Отказан", // Storniert
- "shipped": "Изпратен", // Verschickt
- "delivered": "Доставен", // Geliefert
+ "new": "Обработка", // in Bearbeitung
+ "pending": "Нова", // Neu
+ "processing": "Обработка", // in Bearbeitung
+ "cancelled": "Отменена", // Storniert
+ "shipped": "Изпратена", // Verschickt
+ "delivered": "Доставена", // Geliefert
"return": "Връщане", // Retoure
"partialReturn": "Частично връщане", // Teil Retoure
- "partialDelivered": "Частично доставен" // Teil geliefert
+ "partialDelivered": "Частично доставена" // Teil geliefert
}
},
"common": {
- "loading": "Зарежда се...", // Lädt...
+ "loading": "Зареждане...", // Lädt...
"error": "Грешка", // Fehler
"close": "Затвори", // Schließen
"save": "Запази", // Speichern
- "cancel": "Отмени", // Abbrechen
+ "cancel": "Отказ", // Abbrechen
"ok": "OK", // OK
"yes": "Да", // Ja
"no": "Не", // Nein
@@ -201,4 +228,4 @@ export default {
"products": "Продукти", // Produkte
"product": "Продукт" // Produkt
}
-};
\ No newline at end of file
+};
diff --git a/src/i18n/locales/cs/translation.js b/src/i18n/locales/cs/translation.js
index ec82381..4422f4a 100644
--- a/src/i18n/locales/cs/translation.js
+++ b/src/i18n/locales/cs/translation.js
@@ -1,204 +1,231 @@
export default {
+ "locale": {
+ "code": "cs-CZ"
+ },
"navigation": {
- "home": "Domů", // Home
- "aktionen": "Akce", // Actions
- "filiale": "Pobočka", // Branch
- "categories": "Kategorie", // Categories
- "categoriesOpen": "Otevřít kategorie", // Open categories
- "categoriesClose": "Zavřít kategorie" // Close categories
+ "home": "Domů",
+ "aktionen": "Akce",
+ "filiale": "Pobočka",
+ "categories": "Kategorie",
+ "categoriesOpen": "Otevřít kategorie",
+ "categoriesClose": "Zavřít kategorie",
+ "otherCategories": "Další kategorie"
},
"auth": {
- "login": "Přihlášení", // Login
- "register": "Registrace", // Register
- "logout": "Odhlášení", // Logout
- "profile": "Profil", // Profile
- "email": "E-mail", // Email
- "password": "Heslo", // Password
- "confirmPassword": "Potvrdit heslo", // Confirm password
- "forgotPassword": "Zapomenuté heslo?", // Forgot password?
- "loginWithGoogle": "Přihlásit se přes Google", // Login with Google
- "or": "NEBO", // OR
- "privacyAccept": "Kliknutím na \"Přihlásit se přes Google\" souhlasím s", // By clicking "Login with Google" I accept
- "privacyPolicy": "Zásady ochrany osobních údajů", // Privacy policy
- "passwordMinLength": "Heslo musí mít alespoň 8 znaků", // Password must be at least 8 characters
- "newPasswordMinLength": "Nové heslo musí mít alespoň 8 znaků", // New password must be at least 8 characters
+ "login": "Přihlášení",
+ "register": "Registrace",
+ "logout": "Odhlásit se",
+ "profile": "Profil",
+ "email": "E-mail",
+ "password": "Heslo",
+ "confirmPassword": "Potvrdit heslo",
+ "forgotPassword": "Zapomněli jste heslo?",
+ "loginWithGoogle": "Přihlásit se přes Google",
+ "or": "NEBO",
+ "privacyAccept": "Kliknutím na \"Přihlásit se přes Google\" souhlasím s",
+ "privacyPolicy": "Zásadami ochrany osobních údajů",
+ "passwordMinLength": "Heslo musí mít alespoň 8 znaků",
+ "newPasswordMinLength": "Nové heslo musí mít alespoň 8 znaků",
"menu": {
- "profile": "Profil", // Profile
- "checkout": "Dokončit objednávku", // Checkout
- "orders": "Objednávky", // Orders
- "settings": "Nastavení", // Settings
- "adminDashboard": "Admin panel", // Admin dashboard
- "adminUsers": "Admin uživatelé" // Admin users
+ "profile": "Profil",
+ "checkout": "Pokladna",
+ "orders": "Objednávky",
+ "settings": "Nastavení",
+ "adminDashboard": "Administrátorská hlavní stránka",
+ "adminUsers": "Správa uživatelů"
}
},
"cart": {
- "title": "Košík", // Cart
- "empty": "prázdný", // empty
- "addToCart": "Do košíku", // Add to cart
- "preorderCutting": "Předobjednat jako řízek", // Preorder as cutting
- "continueShopping": "Pokračovat v nákupu", // Continue shopping
- "proceedToCheckout": "Přejít k pokladně", // Proceed to checkout
+ "title": "Košík",
+ "empty": "prázdný",
+ "addToCart": "Přidat do košíku",
+ "preorderCutting": "Předobjednat jako řízky",
+ "continueShopping": "Pokračovat v nákupu",
+ "proceedToCheckout": "Pokračovat k pokladně",
+ "productCount": "{{count}} {{count, plural, one {produkt} other {produktů}}}",
+ "removeFromCart": "Odebrat z košíku",
+ "openCart": "Otevřít košík",
+ "availableFrom": "Od {{date}}",
+ "backToOrder": "← Zpět k objednávce",
"sync": {
- "title": "Synchronizace košíku", // Cart synchronization
- "description": "Máte uložený košík ve vašem účtu. Vyberte prosím, jak chcete pokračovat:", // You have a saved cart in your account. Please choose how to proceed:
- "deleteServer": "Smazat serverový košík", // Delete server cart
- "useServer": "Použít serverový košík", // Use server cart
- "merge": "Sloučit košíky", // Merge carts
- "currentCart": "Váš aktuální košík", // Your current cart
- "serverCart": "Košík uložený ve vašem profilu" // Cart saved in your profile
+ "title": "Synchronizace košíku",
+ "description": "Máte uložený košík ve svém účtu. Vyberte, jak chcete pokračovat:",
+ "deleteServer": "Smazat serverový košík",
+ "useServer": "Použít serverový košík",
+ "merge": "Sloučit košíky",
+ "currentCart": "Váš aktuální košík",
+ "serverCart": "Uložený košík ve vašem profilu"
}
},
"product": {
- "loading": "Načítání produktu...", // Loading product...
- "notFound": "Produkt nenalezen", // Product not found
- "notFoundDescription": "Hledaný produkt neexistuje nebo byl odstraněn.", // The searched product doesn't exist or was removed.
- "backToHome": "Zpět na domovskou stránku", // Back to home
- "error": "Chyba", // Error
- "articleNumber": "Číslo artiklu", // Article number
- "manufacturer": "Výrobce", // Manufacturer
- "inclVat": "vč. {{vat}}% DPH", // incl. {{vat}}% VAT
- "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}}
- "new": "Nový", // New
- "arriving": "Příjezd:", // Arriving:
- "inclVatFooter": "vč. {{vat}}% DPH,*", // incl. {{vat}}% VAT,*
- "availability": "Dostupnost", // Availability
- "inStock": "skladem", // in stock
- "comingSoon": "Brzy dostupné", // Coming soon
- "deliveryTime": "Doba dodání", // Delivery time
- "inclShort": "vč.", // incl.
- "vatShort": "DPH" // VAT
+ "loading": "Načítání produktu...",
+ "notFound": "Produkt nenalezen",
+ "notFoundDescription": "Hledaný produkt neexistuje nebo byl odstraněn.",
+ "backToHome": "Zpět na hlavní stránku",
+ "error": "Chyba",
+ "articleNumber": "Číslo artiklu",
+ "manufacturer": "Výrobce",
+ "inclVat": "včetně {{vat}}% DPH",
+ "priceUnit": "{{price}}/{{unit}}",
+ "new": "Nový",
+ "arriving": "Příjezd:",
+ "inclVatFooter": "včetně {{vat}}% DPH, *",
+ "availability": "Dostupnost",
+ "inStock": "Skladem",
+ "comingSoon": "Brzy dostupné",
+ "deliveryTime": "Doba doručení",
+ "inclShort": "vč.",
+ "vatShort": "DPH",
+ "countDisplay": {
+ "noProducts": "0 produktů",
+ "oneProduct": "1 produkt",
+ "multipleProducts": "{{count}} produktů",
+ "filteredProducts": "{{filtered}} z {{total}} produktů",
+ "filteredOneProduct": "{{filtered}} z 1 produktu"
+ },
+ "removeFiltersToSee": "Odstraňte filtry pro zobrazení produktů",
+ "outOfStock": "Není skladem",
+ "fromXProducts": "z {{count}} produktů"
},
"search": {
- "placeholder": "Můžeš se mě zeptat na odrůdy konopí...", // You can ask me about cannabis strains...
- "recording": "Nahrávání..." // Recording...
+ "placeholder": "Mohu se zeptat na odrůdy konopí...",
+ "recording": "Nahrávám...",
+ "searchProducts": "Hledat produkty..."
+ },
+ "sorting": {
+ "name": "Název",
+ "searchField": "Hledaný výraz",
+ "priceLowHigh": "Cena: Od nejnižší",
+ "priceHighLow": "Cena: Od nejvyšší"
},
"chat": {
- "privacyRead": "Přečteno a akceptováno" // Read & accepted
+ "privacyRead": "Přečteno & Přijato"
},
"delivery": {
"methods": {
- "dhl": "DHL", // DHL
- "dpd": "DPD", // DPD
- "sperrgut": "Nadrozměrné zboží", // Bulky goods
- "pickup": "Vyzvednutí na pobočce" // Pickup at branch
+ "dhl": "DHL",
+ "dpd": "DPD",
+ "sperrgut": "Velké zásilky",
+ "pickup": "Vyzvednout na prodejně"
},
"descriptions": {
- "standard": "Standardní doprava", // Standard delivery
- "standardFree": "Standardní doprava - ZDARMA od 100€ hodnoty zboží!", // Standard delivery - FREE from 100€ order value!
- "notAvailable": "není dostupné, protože jeden nebo více produktů lze pouze vyzvednout", // not available because one or more items can only be picked up
- "bulky": "Pro velké a těžké produkty" // For large and heavy items
+ "standard": "Std. doručení",
+ "standardFree": "Std. doručení - ZDARMA od zboží v hodnotě €100!",
+ "notAvailable": "nevybratelné, protože některé položky jsou pouze k vyzvednutí",
+ "bulky": "Pro velké a těžké zásilky"
},
"prices": {
- "free": "zdarma", // free
- "dhl": "6,99 €", // 6,99 €
- "dpd": "4,90 €", // 4,90 €
- "sperrgut": "28,99 €" // 28,99 €
+ "free": "zdarma",
+ "freeFrom100": "(zdarma od €100)",
+ "dhl": "€6.99",
+ "dpd": "€4.90",
+ "sperrgut": "€28.99"
},
"times": {
- "cutting14Days": "Doba dodání: 14 dní", // Delivery time: 14 days
- "standard2to3Days": "Doba dodání: 2-3 dny", // Delivery time: 2-3 days
- "supplier7to9Days": "Doba dodání: 7-9 dní" // Delivery time: 7-9 days
+ "cutting14Days": "Doba doručení: 14 dní",
+ "standard2to3Days": "Doba doručení: 2-3 dny",
+ "supplier7to9Days": "Doba doručení: 7-9 dní"
}
},
"checkout": {
- "invoiceAddress": "Fakturační adresa", // Invoice address
- "deliveryAddress": "Dodací adresa", // Delivery address
- "saveForFuture": "Uložit pro budoucí objednávky", // Save for future orders
- "pickupDate": "Na kdy si přejete vyzvednout řízky?", // When do you wish to pick up the cuttings?
- "note": "Poznámka", // Note
- "sameAddress": "Dodací adresa je shodná s fakturační adresou", // Delivery address is same as invoice address
- "termsAccept": "Přečetl jsem VOP, zásady ochrany osobních údajů a podmínky práva na odstoupení" // I have read the T&C, privacy policy and withdrawal right conditions
+ "invoiceAddress": "Fakturační adresa",
+ "deliveryAddress": "Dodací adresa",
+ "saveForFuture": "Uložit pro budoucí objednávky",
+ "pickupDate": "Na který datum je požadováno vyzvednutí řízků?",
+ "note": "Poznámka",
+ "sameAddress": "Dodací adresa je stejná jako fakturační",
+ "termsAccept": "Přečetl/a jsem si podmínky, zásady ochrany osobních údajů a storno podmínky"
},
"payment": {
- "successful": "Úspěšná platba!", // Successful payment!
- "failed": "Neúspěšná platba", // Failed payment
- "orderCompleted": "🎉 Vaše objednávka byla úspěšně dokončena! Nyní můžete zobrazit své objednávky.", // 🎉 Your order was successfully completed! You can now view your orders.
- "orderProcessing": "Vaše platba byla úspěšně zpracována. Objednávka bude automaticky dokončena.", // Your payment was successfully processed. The order will be automatically completed.
- "paymentError": "Vaši platbu nelze zpracovat. Zkuste to prosím znovu nebo vyberte jiný způsob platby.", // Your payment could not be processed. Please try again or choose another payment method.
- "viewOrders": "Zobrazit moje objednávky" // View my orders
+ "successful": "Platba byla úspěšná!",
+ "failed": "Platba selhala",
+ "orderCompleted": "🎉 Vaše objednávka byla úspěšně dokončena! Nyní si můžete prohlédnout své objednávky.",
+ "orderProcessing": "Vaše platba byla úspěšně zpracována. Objednávka bude automaticky dokončena.",
+ "paymentError": "Vaši platbu nelze zpracovat. Zkuste to prosím znovu nebo zvolte jinou platební metodu.",
+ "viewOrders": "Zobrazit mé objednávky"
},
"filters": {
- "sorting": "Řazení", // Sorting
- "perPage": "na stránku", // per page
- "availability": "Dostupnost", // Availability
- "manufacturer": "Výrobce" // Manufacturer
+ "sorting": "Řazení",
+ "perPage": "na stránku",
+ "availability": "Dostupnost",
+ "manufacturer": "Výrobce"
},
"tax": {
- "vat": "DPH", // VAT
- "vat7": "7% DPH", // 7% VAT
- "vat19": "19% DPH", // 19% VAT
- "vat19WithShipping": "19% DPH (vč. dopravy)", // 19% VAT (incl. shipping)
- "totalNet": "Celková čistá cena", // Total net price
- "totalGross": "Celková hrubá cena bez dopravy", // Total gross price without shipping
- "subtotal": "Mezisoučet" // Subtotal
+ "vat": "DPH",
+ "vat7": "7% DPH",
+ "vat19": "19% DPH",
+ "vat19WithShipping": "19% DPH (včetně poštovného)",
+ "totalNet": "Celková netto cena",
+ "totalGross": "Celková hrubá cena bez poštovného",
+ "subtotal": "Mezisoučet"
},
"footer": {
- "hours": "So 11-19", // Sat 11-19
- "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden
- "location": "Mezi zastávkou Pieschen a Trachenberger Platz", // Between Pieschen stop and Trachenberger Platz
- "allPricesIncl": "* Všechny ceny vč. zákonné DPH, plus doprava", // * All prices incl. legal VAT, plus shipping
- "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de
+ "hours": "So 11-19",
+ "address": "Trachenberger Straße 14 - Drážďany",
+ "location": "Mezi zastávkou Pieschen a náměstím Trachenberger Platz",
+ "allPricesIncl": "* Všechny ceny včetně zákonné DPH, plus poštovné",
+ "copyright": "© {{year}} GrowHeads.de",
"legal": {
- "datenschutz": "Ochrana osobních údajů", // Privacy policy
- "agb": "VOP", // T&C
- "sitemap": "Mapa webu", // Sitemap
- "impressum": "Impressum", // Impressum
- "batteriegesetzhinweise": "Informace o zákoně o bateriích", // Battery law information
- "widerrufsrecht": "Právo na odstoupení" // Right of withdrawal
+ "datenschutz": "Zásady ochrany osobních údajů",
+ "agb": "Obchodní podmínky",
+ "sitemap": "Mapa stránek",
+ "impressum": "Impressum",
+ "batteriegesetzhinweise": "Upozornění na bateriová nařízení",
+ "widerrufsrecht": "Právo na odstoupení od smlouvy"
}
},
"titles": {
- "home": "Konopná semena a řízky", // Cannabis seeds & cuttings
- "aktionen": "Aktuální akce a nabídky", // Current actions & offers
- "filiale": "Naše pobočka v Drážďanech" // Our branch in Dresden
+ "home": "ine anabis eeds & uttings",
+ "aktionen": "tuelle ktionen & gebote",
+ "filiale": "ur iliale in resden"
},
"sections": {
- "seeds": "Semena", // Seeds
- "stecklinge": "Řízky", // Cuttings
- "oilPress": "Půjčovna lisů na olej", // Oil press rental
- "thcTest": "THC test", // THC test
- "address1": "Trachenberger Straße 14", // Trachenberger Straße 14
- "address2": "01129 Dresden" // 01129 Dresden
+ "seeds": "Semena",
+ "stecklinge": "Řízky",
+ "oilPress": "Pronájem lisů na olej",
+ "thcTest": "Test THC",
+ "address1": "Trachenberger Straße 14",
+ "address2": "01129 Dresden"
},
"pages": {
"oilPress": {
- "title": "Půjčovna lisů na olej", // Oil press rental
- "comingSoon": "Obsah brzy..." // Content coming soon...
+ "title": "Pronájem lisů na olej",
+ "comingSoon": "Obsah brzy bude dostupný..."
},
"thcTest": {
- "title": "THC test", // THC test
- "comingSoon": "Obsah brzy..." // Content coming soon...
+ "title": "Test THC",
+ "comingSoon": "Obsah brzy bude dostupný..."
}
},
"orders": {
"status": {
- "new": "zpracovává se", // processing
- "pending": "Nový", // New
- "processing": "Zpracovává se", // Processing
- "cancelled": "Zrušeno", // Cancelled
- "shipped": "Odesláno", // Shipped
- "delivered": "Doručeno", // Delivered
- "return": "Vráceno", // Return
- "partialReturn": "Částečné vrácení", // Partial return
- "partialDelivered": "Částečně doručeno" // Partially delivered
+ "new": "Probíhá",
+ "pending": "Nová",
+ "processing": "Probíhá",
+ "cancelled": "Zrušena",
+ "shipped": "Odesláno",
+ "delivered": "Doručeno",
+ "return": "Vrácení",
+ "partialReturn": "Částečné vrácení",
+ "partialDelivered": "Částečně doručeno"
}
},
"common": {
- "loading": "Načítání...", // Loading...
- "error": "Chyba", // Error
- "close": "Zavřít", // Close
- "save": "Uložit", // Save
- "cancel": "Zrušit", // Cancel
- "ok": "OK", // OK
- "yes": "Ano", // Yes
- "no": "Ne", // No
- "next": "Další", // Next
- "back": "Zpět", // Back
- "edit": "Upravit", // Edit
- "delete": "Smazat", // Delete
- "add": "Přidat", // Add
- "remove": "Odebrat", // Remove
- "products": "Produkty", // Products
- "product": "Produkt" // Product
+ "loading": "Načítám...",
+ "error": "Chyba",
+ "close": "Zavřít",
+ "save": "Uložit",
+ "cancel": "Zrušit",
+ "ok": "OK",
+ "yes": "Ano",
+ "no": "Ne",
+ "next": "Další",
+ "back": "Zpět",
+ "edit": "Upravit",
+ "delete": "Odstranit",
+ "add": "Přidat",
+ "remove": "Odebrat",
+ "products": "Produkty",
+ "product": "Produkt"
}
-}
\ No newline at end of file
+};
diff --git a/src/i18n/locales/de/translation.js b/src/i18n/locales/de/translation.js
index 1d1f4ee..1d681f7 100644
--- a/src/i18n/locales/de/translation.js
+++ b/src/i18n/locales/de/translation.js
@@ -1,11 +1,15 @@
export default {
+ "locale": {
+ "code": "de-DE"
+ },
"navigation": {
"home": "Startseite",
"aktionen": "Aktionen",
"filiale": "Filiale",
"categories": "Kategorien",
"categoriesOpen": "Kategorien öffnen",
- "categoriesClose": "Kategorien schließen"
+ "categoriesClose": "Kategorien schließen",
+ "otherCategories": "Andere Kategorien"
},
"auth": {
"login": "Anmelden",
@@ -38,6 +42,11 @@ export default {
"preorderCutting": "Als Steckling vorbestellen",
"continueShopping": "Weiter einkaufen",
"proceedToCheckout": "Weiter zur Kasse",
+ "productCount": "{{count}} {{count, plural, one {Produkt} other {Produkte}}}",
+ "removeFromCart": "Aus dem Warenkorb entfernen",
+ "openCart": "Warenkorb öffnen",
+ "availableFrom": "Ab {{date}}",
+ "backToOrder": "← Zurück zur Bestellung",
"sync": {
"title": "Warenkorb-Synchronisierung",
"description": "Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten:",
@@ -66,11 +75,28 @@ export default {
"comingSoon": "Bald verfügbar",
"deliveryTime": "Lieferzeit",
"inclShort": "inkl.",
- "vatShort": "MwSt."
+ "vatShort": "MwSt.",
+ "countDisplay": {
+ "noProducts": "0 Produkte",
+ "oneProduct": "1 Produkt",
+ "multipleProducts": "{{count}} Produkte",
+ "filteredProducts": "{{filtered}} von {{total}} Produkten",
+ "filteredOneProduct": "{{filtered}} von 1 Produkt"
+ },
+ "removeFiltersToSee": "Entferne Filter um Produkte zu sehen",
+ "outOfStock": "Out of Stock",
+ "fromXProducts": "ab {{count}} Produkten"
},
"search": {
"placeholder": "Du kannst mich nach Cannabissorten fragen...",
- "recording": "Aufnahme läuft..."
+ "recording": "Aufnahme läuft...",
+ "searchProducts": "Produkte suchen..."
+ },
+ "sorting": {
+ "name": "Name",
+ "searchField": "Suchbegriff",
+ "priceLowHigh": "Preis: Niedrig zu Hoch",
+ "priceHighLow": "Preis: Hoch zu Niedrig"
},
"chat": {
"privacyRead": "Gelesen & Akzeptiert"
@@ -90,6 +116,7 @@ export default {
},
"prices": {
"free": "kostenlos",
+ "freeFrom100": "(kostenlos ab 100€)",
"dhl": "6,99 €",
"dpd": "4,90 €",
"sperrgut": "28,99 €"
@@ -146,11 +173,11 @@ export default {
"batteriegesetzhinweise": "Batteriegesetzhinweise",
"widerrufsrecht": "Widerrufsrecht"
}
- },
+ },
"titles": {
- "home": "ine annabis eeds & uttings",
- "aktionen": "tuelle ktionen & gebote",
- "filiale": "nsere iliale in resden"
+ "home": "ine annabis eeds & uttings", // Fine Cannabis Seeds & Cuttings (the text in the string has special characters, translate using the comment)
+ "aktionen": "tuelle ktionen & gebote", // Aktuelle Aktionen & Angebote (the text in the string has special characters, translate using the comment)
+ "filiale": "nsere iliale in resden" // Unsere Filiale in Dresden (the text in the string has special characters, translate using the comment)
},
"sections": {
"seeds": "Seeds",
diff --git a/src/i18n/locales/el/translation.js b/src/i18n/locales/el/translation.js
new file mode 100644
index 0000000..1ef60b4
--- /dev/null
+++ b/src/i18n/locales/el/translation.js
@@ -0,0 +1,231 @@
+export default {
+ "locale": {
+ "code": "el-GR"
+ },
+ "navigation": {
+ "home": "Αρχική",
+ "aktionen": "Ενέργειες",
+ "filiale": "Υποκατάστημα",
+ "categories": "Κατηγορίες",
+ "categoriesOpen": "Ανοιχτές κατηγορίες",
+ "categoriesClose": "Κλείσιμο κατηγοριών",
+ "otherCategories": "Άλλες κατηγορίες"
+ },
+ "auth": {
+ "login": "Σύνδεση",
+ "register": "Εγγραφή",
+ "logout": "Αποσύνδεση",
+ "profile": "Προφίλ",
+ "email": "Email",
+ "password": "Κωδικός",
+ "confirmPassword": "Επιβεβαίωση κωδικού",
+ "forgotPassword": "Ξεχάσατε τον κωδικό;",
+ "loginWithGoogle": "Σύνδεση με Google",
+ "or": "Ή",
+ "privacyAccept": "Κάνοντας κλικ στο \"Σύνδεση με Google\", αποδέχομαι τον",
+ "privacyPolicy": "Πολιτική Απορρήτου",
+ "passwordMinLength": "Ο κωδικός πρέπει να είναι τουλάχιστον 8 χαρακτήρες",
+ "newPasswordMinLength": "Ο νέος κωδικός πρέπει να είναι τουλάχιστον 8 χαρακτήρες",
+ "menu": {
+ "profile": "Προφίλ",
+ "checkout": "Ολοκλήρωση αγοράς",
+ "orders": "Παραγγελίες",
+ "settings": "Ρυθμίσεις",
+ "adminDashboard": "Πίνακας διαχείρισης",
+ "adminUsers": "Διαχειριστές"
+ }
+ },
+ "cart": {
+ "title": "Καλάθι Αγορών",
+ "empty": "κενό",
+ "addToCart": "Προσθήκη στο καλάθι",
+ "preorderCutting": "Προπαραγγελία ως κοψίματα",
+ "continueShopping": "Συνέχεια αγορών",
+ "proceedToCheckout": "Προχώρησε στην ολοκλήρωση",
+ "productCount": "{{count}} {{count, plural, one {προϊόν} other {προϊόντα}}}",
+ "removeFromCart": "Αφαίρεση από το καλάθι",
+ "openCart": "Άνοιγμα καλαθιού",
+ "availableFrom": "Από {{date}}",
+ "backToOrder": "← Πίσω στην παραγγελία",
+ "sync": {
+ "title": "Συγχρονισμός καλαθιού",
+ "description": "Έχετε αποθηκευμένο καλάθι στον λογαριασμό σας. Παρακαλούμε επιλέξτε πώς να προχωρήσετε:",
+ "deleteServer": "Διαγραφή server καλαθιού",
+ "useServer": "Χρήση server καλαθιού",
+ "merge": "Συγχώνευση καλαθιών",
+ "currentCart": "Το τρέχον καλάθι σας",
+ "serverCart": "Αποθηκευμένο καλάθι στο προφίλ σας"
+ }
+ },
+ "product": {
+ "loading": "Φορτώνει το προϊόν...",
+ "notFound": "Το προϊόν δεν βρέθηκε",
+ "notFoundDescription": "Το αναζητούμενο προϊόν δεν υπάρχει ή έχει διαγραφεί.",
+ "backToHome": "Επιστροφή στην αρχική σελίδα",
+ "error": "Σφάλμα",
+ "articleNumber": "Αριθμός άρθρου",
+ "manufacturer": "Κατασκευαστής",
+ "inclVat": "περιλαμβανομένου {{vat}}% ΦΠΑ",
+ "priceUnit": "{{price}}/{{unit}}",
+ "new": "Νέο",
+ "arriving": "Άφιξη:",
+ "inclVatFooter": "περιλαμβάνονται {{vat}}% ΦΠΑ, *",
+ "availability": "Διαθεσιμότητα",
+ "inStock": "Σε_stock",
+ "comingSoon": "Έρχεται σύντομα",
+ "deliveryTime": "Χρόνος παράδοσης",
+ "inclShort": "περ.",
+ "vatShort": "ΦΠΑ",
+ "countDisplay": {
+ "noProducts": "0 προϊόντα",
+ "oneProduct": "1 προϊόν",
+ "multipleProducts": "{{count}} προϊόντα",
+ "filteredProducts": "{{filtered}} από {{total}} προϊόντα",
+ "filteredOneProduct": "{{filtered}} από 1 προϊόν"
+ },
+ "removeFiltersToSee": "Αφαιρέστε τα φίλτρα για να δείτε προϊόντα",
+ "outOfStock": "Εκτός αποθέματος",
+ "fromXProducts": "από {{count}} προϊόντα"
+ },
+ "search": {
+ "placeholder": "Μπορείτε να ρωτήσετε για ποικιλίες κάνναβης...",
+ "recording": "Καταγεγραμμένο...",
+ "searchProducts": "Αναζήτηση προϊόντων..."
+ },
+ "sorting": {
+ "name": "Όνομα",
+ "searchField": "Όρος αναζήτησης",
+ "priceLowHigh": "Τιμή: Από χαμηλή σε υψηλή",
+ "priceHighLow": "Τιμή: Από υψηλή σε χαμηλή"
+ },
+ "chat": {
+ "privacyRead": "Διαβάστηκε & Αποδεκτό"
+ },
+ "delivery": {
+ "methods": {
+ "dhl": "DHL",
+ "dpd": "DPD",
+ "sperrgut": "Ογκώδη αντικείμενα",
+ "pickup": "Παραλαβή από το κατάστημα"
+ },
+ "descriptions": {
+ "standard": "Τυπική αποστολή",
+ "standardFree": "Τυπική αποστολή - ΔΩΡΕΑΝ από €100 σε αγαθά!",
+ "notAvailable": "όχι επιλέξιμο επειδή ένα ή περισσότερα αντικείμενα μπορούν να παραληφθούν μόνο αυτοπροσώπως",
+ "bulky": "Για μεγάλα και βαριά αντικείμενα"
+ },
+ "prices": {
+ "free": "δωρεάν",
+ "freeFrom100": "(δωρεάν από €100)",
+ "dhl": "€6.99",
+ "dpd": "€4.90",
+ "sperrgut": "€28.99"
+ },
+ "times": {
+ "cutting14Days": "Χρόνος παράδοσης: 14 ημέρες",
+ "standard2to3Days": "Χρόνος παράδοσης: 2-3 ημέρες",
+ "supplier7to9Days": "Χρόνος παράδοσης: 7-9 ημέρες"
+ }
+ },
+ "checkout": {
+ "invoiceAddress": "Διεύθυνση χρέωσης",
+ "deliveryAddress": "Διεύθυνση παράδοσης",
+ "saveForFuture": "Αποθήκευση για μελλοντικές παραγγελίες",
+ "pickupDate": "Για ποια ημερομηνία επιθυμείτε παραλαβή των κοψιμάτων;",
+ "note": "Σημείωση",
+ "sameAddress": "Η διεύθυνση παράδοσης είναι η ίδια με αυτή της χρέωσης",
+ "termsAccept": "Έχω διαβάσει τους όρους και προϋποθέσεις, την πολιτική απορρήτου και την πολιτική ακύρωσης"
+ },
+ "payment": {
+ "successful": "Η πληρωμή ολοκληρώθηκε με επιτυχία!",
+ "failed": "Αποτυχία πληρωμής",
+ "orderCompleted": "🎉 Η παραγγελία σας ολοκληρώθηκε επιτυχώς! Τώρα μπορείτε να δείτε τις παραγγελίας σας.",
+ "orderProcessing": "Η πληρωμή σας επεξεργάστηκε επιτυχώς. Η παραγγελία θα ολοκληρωθεί αυτόματα.",
+ "paymentError": "Δεν μπόρεσε να επεξεργαστεί η πληρωμή σας. Παρακαλώ δοκιμάστε ξανά ή επιλέξτε άλλη μέθοδο πληρωμής.",
+ "viewOrders": "Προβολή παραγγελιών"
+ },
+ "filters": {
+ "sorting": "Ταξινόμηση",
+ "perPage": "ανά σελίδα",
+ "availability": "Διαθεσιμότητα",
+ "manufacturer": "Κατασκευαστής"
+ },
+ "tax": {
+ "vat": "ΦΠΑ",
+ "vat7": "7% ΦΠΑ",
+ "vat19": "19% ΦΠΑ",
+ "vat19WithShipping": "19% ΦΠΑ (συν μεταφορικά)",
+ "totalNet": "Σύνολο καθαρού ποσού",
+ "totalGross": "Σύνολο με φόρους χωρίς μεταφορικά",
+ "subtotal": "Μερικό σύνολο"
+ },
+ "footer": {
+ "hours": "Σαβ 11-19",
+ "address": "Trachenberger Straße 14 - Δρέσδη",
+ "location": "Μεταξύ σταθμού Pieschen και Piazza Trachenberger",
+ "allPricesIncl": "* Όλες οι τιμές περιλαμβάνουν νόμιμο ΦΠΑ, συν μεταφορικά",
+ "copyright": "© {{year}} GrowHeads.gr",
+ "legal": {
+ "datenschutz": "Πολιτική απορρήτου",
+ "agb": "Όροι και Προϋποθέσεις",
+ "sitemap": "Χάρτης ιστοτόπου",
+ "impressum": "Πνευματικά δικαιώματα",
+ "batteriegesetzhinweise": "Νομοθεσία μπαταριών",
+ "widerrufsrecht": "Δικαίωμα υπαναχώρησης"
+ }
+ },
+ "titles": {
+ "home": "ενά ανάβη ειδης & ιτtings",
+ "aktionen": "τtελλες κtώσεις & έγγετα",
+ "filiale": "ο υλiαλε in ρεισδεn"
+ },
+ "sections": {
+ "seeds": "Σπόροι",
+ "stecklinge": "Κοψίματα",
+ "oilPress": "Ενοικίαση πρέσας λαδιού",
+ "thcTest": "Δοκιμή THC",
+ "address1": "Trachenberger Straße 14",
+ "address2": "01129 Δρέσδη"
+ },
+ "pages": {
+ "oilPress": {
+ "title": "Ενοικίαση πρέσας λαδιού",
+ "comingSoon": "Το περιεχόμενο έρχεται σύντομα..."
+ },
+ "thcTest": {
+ "title": "Δοκιμή THC",
+ "comingSoon": "Το περιεχόμενο έρχεται σύντομα..."
+ }
+ },
+ "orders": {
+ "status": {
+ "new": "Σε εξέλιξη",
+ "pending": "Νέο",
+ "processing": "Σε εξέλιξη",
+ "cancelled": "Ακυρώθηκε",
+ "shipped": "Αποστείλαμε",
+ "delivered": "Παραδόθηκε",
+ "return": "Επιστροφή",
+ "partialReturn": "Μερική επιστροφή",
+ "partialDelivered": "Μερική παράδοση"
+ }
+ },
+ "common": {
+ "loading": "Φόρτωση...",
+ "error": "Σφάλμα",
+ "close": "Κλείσιμο",
+ "save": "Αποθήκευση",
+ "cancel": "Ακύρωση",
+ "ok": "Εντάξει",
+ "yes": "Ναι",
+ "no": "Όχι",
+ "next": "Επόμενο",
+ "back": "Πίσω",
+ "edit": "Επεξεργασία",
+ "delete": "Διαγραφή",
+ "add": "Προσθήκη",
+ "remove": "Αφαίρεση",
+ "products": "Προϊόντα",
+ "product": "Προϊόν"
+ }
+};
diff --git a/src/i18n/locales/en/translation.js b/src/i18n/locales/en/translation.js
index 0afab67..aafaab0 100644
--- a/src/i18n/locales/en/translation.js
+++ b/src/i18n/locales/en/translation.js
@@ -1,11 +1,15 @@
export default {
+ "locale": {
+ "code": "en-US" // de-DE
+ },
"navigation": {
"home": "Home", // Startseite
- "aktionen": "Actions", // Aktionen
- "filiale": "Store", // Filiale
+ "aktionen": "Promotions", // Aktionen
+ "filiale": "Branch", // Filiale
"categories": "Categories", // Kategorien
- "categoriesOpen": "Open Categories", // Kategorien öffnen
- "categoriesClose": "Close Categories" // Kategorien schließen
+ "categoriesOpen": "Open categories", // Kategorien öffnen
+ "categoriesClose": "Close categories", // Kategorien schließen
+ "otherCategories": "Other categories" // Andere Kategorien
},
"auth": {
"login": "Login", // Anmelden
@@ -14,14 +18,14 @@ export default {
"profile": "Profile", // Profil
"email": "Email", // E-Mail
"password": "Password", // Passwort
- "confirmPassword": "Confirm Password", // Passwort bestätigen
- "forgotPassword": "Forgot Password?", // Passwort vergessen?
+ "confirmPassword": "Confirm password", // Passwort bestätigen
+ "forgotPassword": "Forgot password?", // Passwort vergessen?
"loginWithGoogle": "Sign in with Google", // Mit Google anmelden
"or": "OR", // ODER
"privacyAccept": "By clicking \"Sign in with Google\" I accept the", // Mit dem Click auf \"Mit Google anmelden\" akzeptiere ich die
"privacyPolicy": "Privacy Policy", // Datenschutzbestimmungen
"passwordMinLength": "Password must be at least 8 characters long", // Das Passwort muss mindestens 8 Zeichen lang sein
- "newPasswordMinLength": "New password must be at least 8 characters long", // Das neue Passwort muss mindestens 8 Zeichen lang sein
+ "newPasswordMinLength": "The new password must be at least 8 characters long", // Das neue Passwort muss mindestens 8 Zeichen lang sein
"menu": {
"profile": "Profile", // Profil
"checkout": "Checkout", // Bestellabschluss
@@ -32,45 +36,67 @@ export default {
}
},
"cart": {
- "title": "Shopping Cart", // Warenkorb
+ "title": "Cart", // Warenkorb
"empty": "empty", // leer
- "addToCart": "Add to Cart", // In den Korb
- "preorderCutting": "Pre-order as Cutting", // Als Steckling vorbestellen
- "continueShopping": "Continue Shopping", // Weiter einkaufen
- "proceedToCheckout": "Proceed to Checkout", // Weiter zur Kasse
+ "addToCart": "Add to cart", // In den Korb
+ "preorderCutting": "Preorder as cutting", // Als Steckling vorbestellen
+ "continueShopping": "Continue shopping", // Weiter einkaufen
+ "proceedToCheckout": "Proceed to checkout", // Weiter zur Kasse
+ "productCount": "{{count}} {{count, plural, one {Product} other {Products}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}}
+ "removeFromCart": "Remove from cart", // Aus dem Warenkorb entfernen
+ "openCart": "Open cart", // Warenkorb öffnen
+ "availableFrom": "Available from {{date}}", // Ab {{date}}
+ "backToOrder": "← Back to order", // ← Zurück zur Bestellung
"sync": {
- "title": "Cart Synchronization", // Warenkorb-Synchronisierung
- "description": "You have a saved cart in your account. Please choose how you would like to proceed:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten:
- "deleteServer": "Delete Server Cart", // Server-Warenkorb löschen
- "useServer": "Use Server Cart", // Server-Warenkorb übernehmen
- "merge": "Merge Carts", // Warenkörbe zusammenführen
- "currentCart": "Your Current Cart", // Ihr aktueller Warenkorb
- "serverCart": "Cart Saved in Your Profile" // In Ihrem Profil gespeicherter Warenkorb
+ "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:
+ "deleteServer": "Delete server cart", // Server-Warenkorb löschen
+ "useServer": "Use server cart", // Server-Warenkorb übernehmen
+ "merge": "Merge carts", // Warenkörbe zusammenführen
+ "currentCart": "Your current cart", // Ihr aktueller Warenkorb
+ "serverCart": "Cart saved in your profile" // In Ihrem Profil gespeicherter Warenkorb
}
},
"product": {
- "loading": "Product is loading...", // Produkt wird geladen...
+ "loading": "Loading product...", // Produkt wird geladen...
"notFound": "Product not found", // Produkt nicht gefunden
- "notFoundDescription": "The requested product does not exist or has been removed.", // Das gesuchte Produkt existiert nicht oder wurde entfernt.
- "backToHome": "Back to Home", // Zurück zur Startseite
+ "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", // Zurück zur Startseite
"error": "Error", // Fehler
- "articleNumber": "Article Number", // Artikelnummer
+ "articleNumber": "Article number", // Artikelnummer
"manufacturer": "Manufacturer", // Hersteller
"inclVat": "incl. {{vat}}% VAT", // inkl. {{vat}}% MwSt.
"priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}}
"new": "New", // Neu
- "arriving": "Arrival:", // Ankunft:
+ "arriving": "Arriving:", // Ankunft:
"inclVatFooter": "incl. {{vat}}% VAT,*", // incl. {{vat}}% USt.,*
"availability": "Availability", // Verfügbarkeit
"inStock": "in stock", // auf Lager
- "comingSoon": "Coming Soon", // Bald verfügbar
- "deliveryTime": "Delivery Time", // Lieferzeit
+ "comingSoon": "Coming soon", // Bald verfügbar
+ "deliveryTime": "Delivery time", // Lieferzeit
"inclShort": "incl.", // inkl.
- "vatShort": "VAT" // MwSt.
+ "vatShort": "VAT", // MwSt.
+ "countDisplay": {
+ "noProducts": "0 products", // 0 Produkte
+ "oneProduct": "1 product", // 1 Produkt
+ "multipleProducts": "{{count}} products", // {{count}} Produkte
+ "filteredProducts": "{{filtered}} of {{total}} products", // {{filtered}} von {{total}} Produkten
+ "filteredOneProduct": "{{filtered}} of 1 product" // {{filtered}} von 1 Produkt
+ },
+ "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
},
"search": {
"placeholder": "You can ask me about cannabis strains...", // Du kannst mich nach Cannabissorten fragen...
- "recording": "Recording..." // Aufnahme läuft...
+ "recording": "Recording...", // Aufnahme läuft...
+ "searchProducts": "Search products..." // Produkte suchen...
+ },
+ "sorting": {
+ "name": "Name", // Name
+ "searchField": "Search term", // Suchbegriff
+ "priceLowHigh": "Price: Low to High", // Preis: Niedrig zu Hoch
+ "priceHighLow": "Price: High to Low" // Preis: Hoch zu Niedrig
},
"chat": {
"privacyRead": "Read & Accepted" // Gelesen & Akzeptiert
@@ -79,17 +105,18 @@ export default {
"methods": {
"dhl": "DHL", // DHL
"dpd": "DPD", // DPD
- "sperrgut": "Oversized Goods", // Sperrgut
- "pickup": "Pickup at Store" // Abholung in der Filiale
+ "sperrgut": "Bulky goods", // Sperrgut
+ "pickup": "Pickup at branch" // Abholung in der Filiale
},
"descriptions": {
- "standard": "Standard Shipping", // Standardversand
- "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
+ "standard": "Standard shipping", // Standardversand
+ "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
},
"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 €
@@ -101,21 +128,21 @@ export default {
}
},
"checkout": {
- "invoiceAddress": "Billing Address", // Rechnungsadresse
- "deliveryAddress": "Delivery Address", // Lieferadresse
+ "invoiceAddress": "Invoice address", // Rechnungsadresse
+ "deliveryAddress": "Delivery address", // Lieferadresse
"saveForFuture": "Save for future orders", // Für zukünftige Bestellungen speichern
- "pickupDate": "For which date is the pickup of the cuttings desired?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht?
+ "pickupDate": "For which date do you want to pick up the cuttings?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht?
"note": "Note", // Anmerkung
- "sameAddress": "Delivery address is identical to billing address", // Lieferadresse ist identisch mit Rechnungsadresse
- "termsAccept": "I have read the Terms & Conditions, Privacy Policy and the provisions on the right of withdrawal" // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen
+ "sameAddress": "Delivery address is the same as invoice address", // Lieferadresse ist identisch mit Rechnungsadresse
+ "termsAccept": "I have read the Terms and Conditions, Privacy Policy, and the Right of Withdrawal information" // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen
},
"payment": {
"successful": "Payment successful!", // Zahlung erfolgreich!
"failed": "Payment failed", // Zahlung fehlgeschlagen
"orderCompleted": "🎉 Your order has been successfully completed! You can now view your orders.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen.
- "orderProcessing": "Your payment has been successfully processed. 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 select a different payment method.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode.
- "viewOrders": "View My Orders" // Zu meinen Bestellungen
+ "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": "View my orders" // Zu meinen Bestellungen
},
"filters": {
"sorting": "Sorting", // Sortierung
@@ -128,41 +155,41 @@ export default {
"vat7": "7% Value Added Tax", // 7% Mehrwertsteuer
"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
+ "totalNet": "Total net price", // Gesamtnettopreis
+ "totalGross": "Total gross price excluding shipping", // Gesamtbruttopreis ohne Versand
"subtotal": "Subtotal" // Zwischensumme
},
"footer": {
"hours": "Sat 11-19", // Sa 11-19
"address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden
- "location": "Between Pieschen station and Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz
- "allPricesIncl": "* All prices incl. statutory VAT, plus shipping", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand
+ "location": "Between Pieschen stop and Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz
+ "allPricesIncl": "* All prices incl. legal VAT, plus shipping", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand
"copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de
"legal": {
- "datenschutz": "Privacy Policy", // Datenschutz
+ "datenschutz": "Privacy", // Datenschutz
"agb": "Terms & Conditions", // AGB
"sitemap": "Sitemap", // Sitemap
"impressum": "Imprint", // Impressum
- "batteriegesetzhinweise": "Battery Law Information", // Batteriegesetzhinweise
+ "batteriegesetzhinweise": "Battery Act Notes", // Batteriegesetzhinweise
"widerrufsrecht": "Right of Withdrawal" // Widerrufsrecht
}
- },
+ },
"titles": {
- "home": "Cannabis Seeds & Cuttings", // ine annabis eeds & uttings
- "aktionen": "Current Actions & Offers", // tuelle ktionen & gebote
- "filiale": "Our Store in Dresden" // nsere iliale in resden
+ "home": "Fine Cannabis Seeds & Cuttings", // Fine Cannabis Seeds & Cuttings (the text in the string has special characters, translate using the comment)
+ "aktionen": "Current Promotions & Offers", // Aktuelle Aktionen & Angebote (the text in the string has special characters, translate using the comment)
+ "filiale": "Our Branch in Dresden" // Unsere Filiale in Dresden (the text in the string has special characters, translate using the comment)
},
"sections": {
"seeds": "Seeds", // Seeds
"stecklinge": "Cuttings", // Stecklinge
- "oilPress": "Rent Oil Press", // Ölpresse ausleihen
+ "oilPress": "Borrow oil press", // Ölpresse ausleihen
"thcTest": "THC Test", // THC Test
"address1": "Trachenberger Straße 14", // Trachenberger Straße 14
"address2": "01129 Dresden" // 01129 Dresden
},
"pages": {
"oilPress": {
- "title": "Rent Oil Press", // Ölpresse ausleihen
+ "title": "Borrow oil press", // Ölpresse ausleihen
"comingSoon": "Content coming soon..." // Inhalt kommt bald...
},
"thcTest": {
@@ -172,15 +199,15 @@ export default {
},
"orders": {
"status": {
- "new": "processing", // in Bearbeitung
+ "new": "Processing", // in Bearbeitung
"pending": "New", // Neu
"processing": "Processing", // in Bearbeitung
"cancelled": "Cancelled", // Storniert
"shipped": "Shipped", // Verschickt
"delivered": "Delivered", // Geliefert
"return": "Return", // Retoure
- "partialReturn": "Partial Return", // Teil Retoure
- "partialDelivered": "Partially Delivered" // Teil geliefert
+ "partialReturn": "Partial return", // Teil Retoure
+ "partialDelivered": "Partially delivered" // Teil geliefert
}
},
"common": {
@@ -201,4 +228,4 @@ export default {
"products": "Products", // Produkte
"product": "Product" // Produkt
}
-}
\ No newline at end of file
+};
diff --git a/src/i18n/locales/es/translation.js b/src/i18n/locales/es/translation.js
index 25e60be..5421037 100644
--- a/src/i18n/locales/es/translation.js
+++ b/src/i18n/locales/es/translation.js
@@ -1,204 +1,231 @@
export default {
+ "locale": {
+ "code": "es-ES"
+ },
"navigation": {
- "home": "Inicio", // Startseite
- "aktionen": "Acciones", // Aktionen
- "filiale": "Tienda", // Filiale
- "categories": "Categorías", // Kategorien
- "categoriesOpen": "Abrir Categorías", // Kategorien öffnen
- "categoriesClose": "Cerrar Categorías" // Kategorien schließen
+ "home": "Inicio",
+ "aktionen": "Acciones",
+ "filiale": "Sucursal",
+ "categories": "Categorías",
+ "categoriesOpen": "Categorías abiertas",
+ "categoriesClose": "Cerrar categorías",
+ "otherCategories": "Otras categorías"
},
"auth": {
- "login": "Iniciar Sesión", // Anmelden
- "register": "Registrarse", // Registrieren
- "logout": "Cerrar Sesión", // Abmelden
- "profile": "Perfil", // Profil
- "email": "Correo Electrónico", // E-Mail
- "password": "Contraseña", // Passwort
- "confirmPassword": "Confirmar Contraseña", // Passwort bestätigen
- "forgotPassword": "¿Olvidaste tu contraseña?", // Passwort vergessen?
- "loginWithGoogle": "Iniciar sesión con Google", // Mit Google anmelden
- "or": "O", // ODER
- "privacyAccept": "Al hacer clic en \"Iniciar sesión con Google\" acepto la", // Mit dem Click auf \"Mit Google anmelden\" akzeptiere ich die
- "privacyPolicy": "Política de Privacidad", // Datenschutzbestimmungen
- "passwordMinLength": "La contraseña debe tener al menos 8 caracteres", // Das Passwort muss mindestens 8 Zeichen lang sein
- "newPasswordMinLength": "La nueva contraseña debe tener al menos 8 caracteres", // Das neue Passwort muss mindestens 8 Zeichen lang sein
+ "login": "Iniciar sesión",
+ "register": "Registrarse",
+ "logout": "Cerrar sesión",
+ "profile": "Perfil",
+ "email": "Correo electrónico",
+ "password": "Contraseña",
+ "confirmPassword": "Confirmar contraseña",
+ "forgotPassword": "¿Olvidaste la contraseña?",
+ "loginWithGoogle": "Iniciar sesión con Google",
+ "or": "O",
+ "privacyAccept": "Al hacer clic en \"Iniciar sesión con Google\", acepto la",
+ "privacyPolicy": "Política de privacidad",
+ "passwordMinLength": "La contraseña debe tener al menos 8 caracteres",
+ "newPasswordMinLength": "La nueva contraseña debe tener al menos 8 caracteres",
"menu": {
- "profile": "Perfil", // Profil
- "checkout": "Finalizar Compra", // Bestellabschluss
- "orders": "Pedidos", // Bestellungen
- "settings": "Configuración", // Einstellungen
- "adminDashboard": "Panel de Administración", // Admin Dashboard
- "adminUsers": "Usuarios Admin" // Admin Users
+ "profile": "Perfil",
+ "checkout": "Pagar",
+ "orders": "Pedidos",
+ "settings": "Configuraciones",
+ "adminDashboard": "Panel de administrador",
+ "adminUsers": "Usuarios admin"
}
},
"cart": {
- "title": "Carrito de Compras", // Warenkorb
- "empty": "vacío", // leer
- "addToCart": "Agregar al Carrito", // In den Korb
- "preorderCutting": "Preordenar como Esqueje", // Als Steckling vorbestellen
- "continueShopping": "Continuar Comprando", // Weiter einkaufen
- "proceedToCheckout": "Proceder al Pago", // Weiter zur Kasse
+ "title": "Carrito de compras",
+ "empty": "vacío",
+ "addToCart": "Agregar al carrito",
+ "preorderCutting": "Pre-orden como esquejes",
+ "continueShopping": "Continuar comprando",
+ "proceedToCheckout": "Proceder a pagar",
+ "productCount": "{{count}} {{count, plural, one {producto} other {productos}}}",
+ "removeFromCart": "Quitar del carrito",
+ "openCart": "Abrir carrito",
+ "availableFrom": "Desde {{date}}",
+ "backToOrder": "← Volver al pedido",
"sync": {
- "title": "Sincronización del Carrito", // Warenkorb-Synchronisierung
- "description": "Tienes un carrito guardado en tu cuenta. Por favor elige cómo te gustaría proceder:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten:
- "deleteServer": "Eliminar Carrito del Servidor", // Server-Warenkorb löschen
- "useServer": "Usar Carrito del Servidor", // Server-Warenkorb übernehmen
- "merge": "Combinar Carritos", // Warenkörbe zusammenführen
- "currentCart": "Tu Carrito Actual", // Ihr aktueller Warenkorb
- "serverCart": "Carrito Guardado en tu Perfil" // In Ihrem Profil gespeicherter Warenkorb
+ "title": "Sincronización del carrito",
+ "description": "Tienes un carrito guardado en tu cuenta. Por favor, elige cómo proceder:",
+ "deleteServer": "Eliminar carrito en servidor",
+ "useServer": "Usar carrito en servidor",
+ "merge": "Combinar carritos",
+ "currentCart": "Tu carrito actual",
+ "serverCart": "Carrito guardado en tu perfil"
}
},
"product": {
- "loading": "Producto cargando...", // Produkt wird geladen...
- "notFound": "Producto no encontrado", // Produkt nicht gefunden
- "notFoundDescription": "El producto solicitado no existe o ha sido eliminado.", // Das gesuchte Produkt existiert nicht oder wurde entfernt.
- "backToHome": "Volver al Inicio", // Zurück zur Startseite
- "error": "Error", // Fehler
- "articleNumber": "Número de Artículo", // Artikelnummer
- "manufacturer": "Fabricante", // Hersteller
- "inclVat": "incl. {{vat}}% IVA", // inkl. {{vat}}% MwSt.
- "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}}
- "new": "Nuevo", // Neu
- "arriving": "Llegada:", // Ankunft:
- "inclVatFooter": "incl. {{vat}}% IVA,*", // incl. {{vat}}% USt.,*
- "availability": "Disponibilidad", // Verfügbarkeit
- "inStock": "en stock", // auf Lager
- "comingSoon": "Próximamente", // Bald verfügbar
- "deliveryTime": "Tiempo de Entrega", // Lieferzeit
- "inclShort": "incl.", // inkl.
- "vatShort": "IVA" // MwSt.
+ "loading": "Cargando producto...",
+ "notFound": "Producto no encontrado",
+ "notFoundDescription": "El producto buscado no existe o ha sido eliminado.",
+ "backToHome": "Volver a la página principal",
+ "error": "Error",
+ "articleNumber": "Número de artículo",
+ "manufacturer": "Fabricante",
+ "inclVat": "incluyendo {{vat}}% IVA",
+ "priceUnit": "{{price}}/{{unit}}",
+ "new": "Nuevo",
+ "arriving": "Llegada:",
+ "inclVatFooter": "incluyendo {{vat}}% IVA, *",
+ "availability": "Disponibilidad",
+ "inStock": "En stock",
+ "comingSoon": "Próximamente",
+ "deliveryTime": "Tiempo de entrega",
+ "inclShort": "incl.",
+ "vatShort": "IVA",
+ "countDisplay": {
+ "noProducts": "0 productos",
+ "oneProduct": "1 producto",
+ "multipleProducts": "{{count}} productos",
+ "filteredProducts": "{{filtered}} de {{total}} productos",
+ "filteredOneProduct": "{{filtered}} de 1 producto"
+ },
+ "removeFiltersToSee": "Eliminar filtros para ver productos",
+ "outOfStock": "Agotado",
+ "fromXProducts": "desde {{count}} productos"
},
"search": {
- "placeholder": "Puedes preguntarme sobre variedades de cannabis...", // Du kannst mich nach Cannabissorten fragen...
- "recording": "Grabando..." // Aufnahme läuft...
+ "placeholder": "Puedes preguntarme por cepas de cannabis...",
+ "recording": "Grabando...",
+ "searchProducts": "Buscar productos..."
+ },
+ "sorting": {
+ "name": "Nombre",
+ "searchField": "Término de búsqueda",
+ "priceLowHigh": "Precio: De menor a mayor",
+ "priceHighLow": "Precio: De mayor a menor"
},
"chat": {
- "privacyRead": "Leído y Aceptado" // Gelesen & Akzeptiert
+ "privacyRead": "Leído & Aceptado"
},
"delivery": {
"methods": {
- "dhl": "DHL", // DHL
- "dpd": "DPD", // DPD
- "sperrgut": "Mercancía Voluminosa", // Sperrgut
- "pickup": "Recoger en Tienda" // Abholung in der Filiale
+ "dhl": "DHL",
+ "dpd": "DPD",
+ "sperrgut": "Mercancía voluminoso",
+ "pickup": "Recogida en tienda"
},
"descriptions": {
- "standard": "Envío Estándar", // Standardversand
- "standardFree": "Envío Estándar - ¡GRATIS desde €100 de compra!", // Standardversand - KOSTENLOS ab 100€ Warenwert!
- "notAvailable": "no seleccionable porque uno o más artículos solo pueden ser recogidos", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können
- "bulky": "Para artículos grandes y pesados" // Für große und schwere Artikel
+ "standard": "Envío estándar",
+ "standardFree": "Envío estándar - ¡GRATIS a partir de €100 en productos!",
+ "notAvailable": "no seleccionable porque uno o más artículos solo se pueden recoger",
+ "bulky": "Para artículos grandes y pesados"
},
"prices": {
- "free": "gratis", // kostenlos
- "dhl": "€6.99", // 6,99 €
- "dpd": "€4.90", // 4,90 €
- "sperrgut": "€28.99" // 28,99 €
+ "free": "gratis",
+ "freeFrom100": "(gratis desde €100)",
+ "dhl": "€6.99",
+ "dpd": "€4.90",
+ "sperrgut": "€28.99"
},
"times": {
- "cutting14Days": "Tiempo de entrega: 14 días", // Lieferzeit: 14 Tage
- "standard2to3Days": "Tiempo de entrega: 2-3 días", // Lieferzeit: 2-3 Tage
- "supplier7to9Days": "Tiempo de entrega: 7-9 días" // Lieferzeit: 7-9 Tage
+ "cutting14Days": "Tiempo de entrega: 14 días",
+ "standard2to3Days": "Tiempo de entrega: 2-3 días",
+ "supplier7to9Days": "Tiempo de entrega: 7-9 días"
}
},
"checkout": {
- "invoiceAddress": "Dirección de Facturación", // Rechnungsadresse
- "deliveryAddress": "Dirección de Entrega", // Lieferadresse
- "saveForFuture": "Guardar para pedidos futuros", // Für zukünftige Bestellungen speichern
- "pickupDate": "¿Para qué fecha se desea la recogida de los esquejes?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht?
- "note": "Nota", // Anmerkung
- "sameAddress": "La dirección de entrega es idéntica a la dirección de facturación", // Lieferadresse ist identisch mit Rechnungsadresse
- "termsAccept": "He leído los Términos y Condiciones, la Política de Privacidad y las disposiciones sobre el derecho de desistimiento" // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen
+ "invoiceAddress": "Dirección de facturación",
+ "deliveryAddress": "Dirección de entrega",
+ "saveForFuture": "Guardar para pedidos futuros",
+ "pickupDate": "¿Para qué fecha se desea la recogida de los esquejes?",
+ "note": "Nota",
+ "sameAddress": "La dirección de entrega es igual a la de facturación",
+ "termsAccept": "He leído los términos y condiciones, la política de privacidad y la política de cancelación"
},
"payment": {
- "successful": "¡Pago exitoso!", // Zahlung erfolgreich!
- "failed": "Pago fallido", // Zahlung fehlgeschlagen
- "orderCompleted": "🎉 ¡Su pedido ha sido completado exitosamente! Ahora puede ver sus pedidos.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen.
- "orderProcessing": "Su pago ha sido procesado exitosamente. El pedido será completado automáticamente.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen.
- "paymentError": "Su pago no pudo ser procesado. Por favor intente de nuevo o seleccione un método de pago diferente.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode.
- "viewOrders": "Ver Mis Pedidos" // Zu meinen Bestellungen
+ "successful": "¡Pago exitoso!",
+ "failed": "Pago fallido",
+ "orderCompleted": "🎉 ¡Su pedido ha sido completado exitosamente! Ahora puede ver sus pedidos.",
+ "orderProcessing": "Su pago ha sido procesado con éxito. El pedido se completará automáticamente.",
+ "paymentError": "No se pudo procesar su pago. Por favor, inténtelo de nuevo o seleccione otro método de pago.",
+ "viewOrders": "Ver mis pedidos"
},
"filters": {
- "sorting": "Ordenar", // Sortierung
- "perPage": "por página", // pro Seite
- "availability": "Disponibilidad", // Verfügbarkeit
- "manufacturer": "Fabricante" // Hersteller
+ "sorting": "Ordenar",
+ "perPage": "por página",
+ "availability": "Disponibilidad",
+ "manufacturer": "Fabricante"
},
"tax": {
- "vat": "Impuesto sobre el Valor Añadido", // Mehrwertsteuer
- "vat7": "7% Impuesto sobre el Valor Añadido", // 7% Mehrwertsteuer
- "vat19": "19% Impuesto sobre el Valor Añadido", // 19% Mehrwertsteuer
- "vat19WithShipping": "19% Impuesto sobre el Valor Añadido (incl. envío)", // 19% Mehrwertsteuer (inkl. Versand)
- "totalNet": "Precio Total Neto", // Gesamtnettopreis
- "totalGross": "Precio Total Bruto sin Envío", // Gesamtbruttopreis ohne Versand
- "subtotal": "Subtotal" // Zwischensumme
+ "vat": "IVA",
+ "vat7": "IVA 7%",
+ "vat19": "IVA 19%",
+ "vat19WithShipping": "IVA 19% (incl. envío)",
+ "totalNet": "Precio neto total",
+ "totalGross": "Precio bruto total sin envío",
+ "subtotal": "Subtotal"
},
"footer": {
- "hours": "Sáb 11-19", // Sa 11-19
- "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden
- "location": "Entre la estación Pieschen y Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz
- "allPricesIncl": "* Todos los precios incl. IVA legal, más envío", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand
- "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de
+ "hours": "Sáb 11-19",
+ "address": "Trachenberger Straße 14 - Dresde",
+ "location": "Entre la parada Pieschen y Trachenberger Platz",
+ "allPricesIncl": "* Todos los precios incluyen IVA legal, más envío",
+ "copyright": "© {{year}} GrowHeads.de",
"legal": {
- "datenschutz": "Política de Privacidad", // Datenschutz
- "agb": "Términos y Condiciones", // AGB
- "sitemap": "Mapa del Sitio", // Sitemap
- "impressum": "Aviso Legal", // Impressum
- "batteriegesetzhinweise": "Información sobre Ley de Baterías", // Batteriegesetzhinweise
- "widerrufsrecht": "Derecho de Desistimiento" // Widerrufsrecht
+ "datenschutz": "Política de privacidad",
+ "agb": "Términos y condiciones",
+ "sitemap": "Mapa del sitio",
+ "impressum": "Aviso legal",
+ "batteriegesetzhinweise": "Notas sobre regulación de baterías",
+ "widerrufsrecht": "Derecho de desistimiento"
}
},
"titles": {
- "home": "Semillas y Esquejes de Cannabis", // Cannabis Seeds & Cuttings
- "aktionen": "Acciones y Ofertas Actuales", // Aktuelle Aktionen & Angebote
- "filiale": "Nuestra Tienda en Dresden" // Unsere Filiale in Dresden
+ "home": "ine anabis eeds & uttings",
+ "aktionen": "tuelle ktionen & gebote",
+ "filiale": "ur iliale en resden"
},
"sections": {
- "seeds": "Semillas", // Seeds
- "stecklinge": "Esquejes", // Stecklinge
- "oilPress": "Alquilar Prensa de Aceite", // Ölpresse ausleihen
- "thcTest": "Test de THC", // THC Test
- "address1": "Trachenberger Straße 14", // Trachenberger Straße 14
- "address2": "01129 Dresden" // 01129 Dresden
+ "seeds": "Semillas",
+ "stecklinge": "Esquejes",
+ "oilPress": "Alquiler de prensa de aceite",
+ "thcTest": "Análisis de THC",
+ "address1": "Trachenberger Straße 14",
+ "address2": "01129 Dresde"
},
"pages": {
"oilPress": {
- "title": "Alquilar Prensa de Aceite", // Ölpresse ausleihen
- "comingSoon": "Contenido próximamente..." // Inhalt kommt bald...
+ "title": "Alquiler de prensa de aceite",
+ "comingSoon": "Contenido próximamente..."
},
"thcTest": {
- "title": "Test de THC", // THC Test
- "comingSoon": "Contenido próximamente..." // Inhalt kommt bald...
+ "title": "Análisis de THC",
+ "comingSoon": "Contenido próximamente..."
}
},
"orders": {
"status": {
- "new": "procesando", // in Bearbeitung
- "pending": "Nuevo", // Neu
- "processing": "Procesando", // in Bearbeitung
- "cancelled": "Cancelado", // Storniert
- "shipped": "Enviado", // Verschickt
- "delivered": "Entregado", // Geliefert
- "return": "Devolución", // Retoure
- "partialReturn": "Devolución Parcial", // Teil Retoure
- "partialDelivered": "Entregado Parcialmente" // Teil geliefert
+ "new": "En progreso",
+ "pending": "Nuevo",
+ "processing": "En progreso",
+ "cancelled": "Cancelado",
+ "shipped": "Enviado",
+ "delivered": "Entregado",
+ "return": "Devolver",
+ "partialReturn": "Devolución parcial",
+ "partialDelivered": "Entrega parcial"
}
},
"common": {
- "loading": "Cargando...", // Lädt...
- "error": "Error", // Fehler
- "close": "Cerrar", // Schließen
- "save": "Guardar", // Speichern
- "cancel": "Cancelar", // Abbrechen
- "ok": "OK", // OK
- "yes": "Sí", // Ja
- "no": "No", // Nein
- "next": "Siguiente", // Weiter
- "back": "Atrás", // Zurück
- "edit": "Editar", // Bearbeiten
- "delete": "Eliminar", // Löschen
- "add": "Agregar", // Hinzufügen
- "remove": "Quitar", // Entfernen
- "products": "Productos", // Produkte
- "product": "Producto" // Produkt
+ "loading": "Cargando...",
+ "error": "Error",
+ "close": "Cerrar",
+ "save": "Guardar",
+ "cancel": "Cancelar",
+ "ok": "Aceptar",
+ "yes": "Sí",
+ "no": "No",
+ "next": "Siguiente",
+ "back": "Atrás",
+ "edit": "Editar",
+ "delete": "Eliminar",
+ "add": "Agregar",
+ "remove": "Quitar",
+ "products": "Productos",
+ "product": "Producto"
}
-}
\ No newline at end of file
+};
diff --git a/src/i18n/locales/fr/translation.js b/src/i18n/locales/fr/translation.js
index 440561c..b106c00 100644
--- a/src/i18n/locales/fr/translation.js
+++ b/src/i18n/locales/fr/translation.js
@@ -1,46 +1,55 @@
export default {
+ "locale": {
+ "code": "fr-FR"
+ },
"navigation": {
"home": "Accueil",
- "aktionen": "Promotions",
- "filiale": "Magasin",
+ "aktionen": "Actions",
+ "filiale": "Filiale",
"categories": "Catégories",
- "categoriesOpen": "Ouvrir les catégories",
- "categoriesClose": "Fermer les catégories"
+ "categoriesOpen": "Catégories ouvertes",
+ "categoriesClose": "Fermer les catégories",
+ "otherCategories": "Autres catégories"
},
"auth": {
"login": "Se connecter",
"register": "S'inscrire",
"logout": "Se déconnecter",
"profile": "Profil",
- "email": "E-mail",
+ "email": "Email",
"password": "Mot de passe",
"confirmPassword": "Confirmer le mot de passe",
- "forgotPassword": "Mot de passe oublié ?",
+ "forgotPassword": "Mot de passe oublié?",
"loginWithGoogle": "Se connecter avec Google",
"or": "OU",
- "privacyAccept": "En cliquant sur \"Se connecter avec Google\", j'accepte les",
- "privacyPolicy": "Conditions de confidentialité",
- "passwordMinLength": "Le mot de passe doit contenir au moins 8 caractères",
- "newPasswordMinLength": "Le nouveau mot de passe doit contenir au moins 8 caractères",
+ "privacyAccept": "En cliquant sur \"Se connecter avec Google\", j'accepte la",
+ "privacyPolicy": "Politique de Confidentialité",
+ "passwordMinLength": "Le mot de passe doit comporter au moins 8 caractères",
+ "newPasswordMinLength": "Le nouveau mot de passe doit comporter au moins 8 caractères",
"menu": {
"profile": "Profil",
- "checkout": "Finaliser la commande",
+ "checkout": "Passer la commande",
"orders": "Commandes",
"settings": "Paramètres",
- "adminDashboard": "Tableau de bord admin",
- "adminUsers": "Utilisateurs admin"
+ "adminDashboard": "Tableau de Bord Admin",
+ "adminUsers": "Utilisateurs Admin"
}
},
"cart": {
"title": "Panier",
"empty": "vide",
"addToCart": "Ajouter au panier",
- "preorderCutting": "Précommander comme bouture",
- "continueShopping": "Continuer les achats",
- "proceedToCheckout": "Procéder au paiement",
+ "preorderCutting": "Pré-commande en boutures",
+ "continueShopping": "Continuer vos achats",
+ "proceedToCheckout": "Passer à la caisse",
+ "productCount": "{{count}} {{count, plural, one {produit} other {produits}}}",
+ "removeFromCart": "Retirer du panier",
+ "openCart": "Ouvrir le panier",
+ "availableFrom": "À partir du {{date}}",
+ "backToOrder": "← Retour à la commande",
"sync": {
"title": "Synchronisation du panier",
- "description": "Vous avez un panier sauvegardé dans votre compte. Veuillez choisir comment procéder :",
+ "description": "Vous avez un panier sauvegardé dans votre compte. Veuillez choisir comment continuer :",
"deleteServer": "Supprimer le panier du serveur",
"useServer": "Utiliser le panier du serveur",
"merge": "Fusionner les paniers",
@@ -50,49 +59,67 @@ export default {
},
"product": {
"loading": "Chargement du produit...",
- "notFound": "Produit introuvable",
+ "notFound": "Produit non trouvé",
"notFoundDescription": "Le produit recherché n'existe pas ou a été supprimé.",
- "backToHome": "Retour à l'accueil",
+ "backToHome": "Retour à la page d'accueil",
"error": "Erreur",
- "articleNumber": "Numéro d'article",
+ "articleNumber": "Numéro d’article",
"manufacturer": "Fabricant",
- "inclVat": "TVA {{vat}}% incluse",
+ "inclVat": "TTC {{vat}}%",
"priceUnit": "{{price}}/{{unit}}",
"new": "Nouveau",
- "arriving": "Arrivée :",
- "inclVatFooter": "TVA {{vat}}% incluse,*",
+ "arriving": "Arrivée:",
+ "inclVatFooter": "TTC {{vat}}%, *",
"availability": "Disponibilité",
- "inStock": "en stock",
+ "inStock": "En stock",
"comingSoon": "Bientôt disponible",
"deliveryTime": "Délai de livraison",
- "inclShort": "incl.",
- "vatShort": "TVA"
+ "inclShort": "TTC",
+ "vatShort": "TVA",
+ "countDisplay": {
+ "noProducts": "0 produits",
+ "oneProduct": "1 produit",
+ "multipleProducts": "{{count}} produits",
+ "filteredProducts": "{{filtered}} sur {{total}} produits",
+ "filteredOneProduct": "{{filtered}} sur 1 produit"
+ },
+ "removeFiltersToSee": "Supprimer les filtres pour voir les produits",
+ "outOfStock": "Rupture de stock",
+ "fromXProducts": "à partir de {{count}} produits"
},
"search": {
"placeholder": "Vous pouvez me demander des variétés de cannabis...",
- "recording": "Enregistrement en cours..."
+ "recording": "Enregistrement...",
+ "searchProducts": "Rechercher des produits..."
+ },
+ "sorting": {
+ "name": "Nom",
+ "searchField": "Mot de recherche",
+ "priceLowHigh": "Prix : Faible à Élevé",
+ "priceHighLow": "Prix : Élevé à Faible"
},
"chat": {
- "privacyRead": "Lu et accepté"
+ "privacyRead": "Lu & Accepté"
},
"delivery": {
"methods": {
"dhl": "DHL",
"dpd": "DPD",
- "sperrgut": "Colis volumineux",
+ "sperrgut": "Marchandises volumineuses",
"pickup": "Retrait en magasin"
},
"descriptions": {
- "standard": "Livraison standard",
- "standardFree": "Livraison standard - GRATUITE à partir de 100€ d'achat !",
- "notAvailable": "non sélectionnable car un ou plusieurs articles ne peuvent être que retirés",
+ "standard": "Expédition standard",
+ "standardFree": "Expédition standard - GRATUITE à partir de 100 € d'achats!",
+ "notAvailable": "non sélectionnable car un ou plusieurs articles ne peuvent être récupérés qu'en magasin",
"bulky": "Pour les articles volumineux et lourds"
},
"prices": {
"free": "gratuit",
- "dhl": "6,99 €",
- "dpd": "4,90 €",
- "sperrgut": "28,99 €"
+ "freeFrom100": "(gratuit à partir de 100 €)",
+ "dhl": "€6.99",
+ "dpd": "€4.90",
+ "sperrgut": "€28.99"
},
"times": {
"cutting14Days": "Délai de livraison : 14 jours",
@@ -103,16 +130,16 @@ export default {
"checkout": {
"invoiceAddress": "Adresse de facturation",
"deliveryAddress": "Adresse de livraison",
- "saveForFuture": "Sauvegarder pour les commandes futures",
- "pickupDate": "Pour quelle date souhaitez-vous retirer les boutures ?",
- "note": "Remarque",
- "sameAddress": "L'adresse de livraison est identique à l'adresse de facturation",
- "termsAccept": "J'ai lu les CGV, la déclaration de confidentialité et les conditions de droit de rétractation"
+ "saveForFuture": "Enregistrer pour les commandes futures",
+ "pickupDate": "Pour quelle date souhaite-t-on récupérer les boutures?",
+ "note": "Note",
+ "sameAddress": "L'adresse de livraison est la même que l'adresse de facturation",
+ "termsAccept": "J'ai lu les termes et conditions, la politique de confidentialité et la politique de rétractation"
},
"payment": {
"successful": "Paiement réussi !",
"failed": "Échec du paiement",
- "orderCompleted": "🎉 Votre commande a été finalisée avec succès ! Vous pouvez maintenant consulter vos commandes.",
+ "orderCompleted": "🎉 Votre commande a été complétée avec succès ! Vous pouvez maintenant consulter vos commandes.",
"orderProcessing": "Votre paiement a été traité avec succès. La commande sera automatiquement finalisée.",
"paymentError": "Votre paiement n'a pas pu être traité. Veuillez réessayer ou choisir un autre mode de paiement.",
"viewOrders": "Voir mes commandes"
@@ -124,45 +151,45 @@ export default {
"manufacturer": "Fabricant"
},
"tax": {
- "vat": "Taxe sur la valeur ajoutée",
+ "vat": "TVA",
"vat7": "7% TVA",
"vat19": "19% TVA",
- "vat19WithShipping": "19% TVA (frais de port inclus)",
- "totalNet": "Prix total HT",
- "totalGross": "Prix total TTC hors livraison",
+ "vat19WithShipping": "19% TVA (plus livraison)",
+ "totalNet": "Prix net total",
+ "totalGross": "Prix brut total sans livraison",
"subtotal": "Sous-total"
},
"footer": {
- "hours": "Sa 11-19",
+ "hours": "Sam 11-19",
"address": "Trachenberger Straße 14 - Dresden",
- "location": "Entre l'arrêt Pieschen et Trachenberger Platz",
- "allPricesIncl": "* Tous les prix TVA légale incluse, frais de port en sus",
+ "location": "Entre l'arrêt Pieschen et la place Trachenberger",
+ "allPricesIncl": "* Tous les prix incluent la TVA légale, plus la livraison",
"copyright": "© {{year}} GrowHeads.de",
"legal": {
- "datenschutz": "Confidentialité",
- "agb": "CGV",
- "sitemap": "Plan du site",
+ "datenschutz": "Politique de Confidentialité",
+ "agb": "Conditions Générales",
+ "sitemap": "Plan du Site",
"impressum": "Mentions légales",
- "batteriegesetzhinweise": "Informations sur la loi sur les batteries",
+ "batteriegesetzhinweise": "Avis sur la régulation des batteries",
"widerrufsrecht": "Droit de rétractation"
}
},
"titles": {
- "home": "Graines et boutures de cannabis",
- "aktionen": "Promotions et offres actuelles",
- "filiale": "Notre magasin à Dresden"
+ "home": "ine anabis eeds & uttings",
+ "aktionen": "tuelle ktionen & gebote",
+ "filiale": "ur iliale en resden"
},
"sections": {
"seeds": "Graines",
"stecklinge": "Boutures",
- "oilPress": "Louer une presse à huile",
+ "oilPress": "Location de presse à huile",
"thcTest": "Test THC",
"address1": "Trachenberger Straße 14",
"address2": "01129 Dresden"
},
"pages": {
"oilPress": {
- "title": "Louer une presse à huile",
+ "title": "Location de presse à huile",
"comingSoon": "Contenu à venir..."
},
"thcTest": {
@@ -172,33 +199,33 @@ export default {
},
"orders": {
"status": {
- "new": "en cours de traitement",
+ "new": "En cours",
"pending": "Nouveau",
- "processing": "en cours de traitement",
+ "processing": "En traitement",
"cancelled": "Annulé",
"shipped": "Expédié",
"delivered": "Livré",
"return": "Retour",
"partialReturn": "Retour partiel",
- "partialDelivered": "Partiellement livré"
+ "partialDelivered": "Livraison partielle"
}
},
"common": {
"loading": "Chargement...",
"error": "Erreur",
"close": "Fermer",
- "save": "Sauvegarder",
+ "save": "Enregistrer",
"cancel": "Annuler",
"ok": "OK",
"yes": "Oui",
"no": "Non",
"next": "Suivant",
"back": "Retour",
- "edit": "Modifier",
+ "edit": "Éditer",
"delete": "Supprimer",
"add": "Ajouter",
"remove": "Retirer",
"products": "Produits",
"product": "Produit"
}
-}
\ No newline at end of file
+};
diff --git a/src/i18n/locales/hr/translation.js b/src/i18n/locales/hr/translation.js
new file mode 100644
index 0000000..b82bd05
--- /dev/null
+++ b/src/i18n/locales/hr/translation.js
@@ -0,0 +1,231 @@
+export default {
+ "locale": {
+ "code": "hr-HR"
+ },
+ "navigation": {
+ "home": "Početna",
+ "aktionen": "Akcije",
+ "filiale": "Podružnica",
+ "categories": "Kategorije",
+ "categoriesOpen": "Otvorene kategorije",
+ "categoriesClose": "Zatvoriti kategorije",
+ "otherCategories": "Druge kategorije"
+ },
+ "auth": {
+ "login": "Prijava",
+ "register": "Registracija",
+ "logout": "Odjava",
+ "profile": "Profil",
+ "email": "E-mail",
+ "password": "Lozinka",
+ "confirmPassword": "Potvrdi lozinku",
+ "forgotPassword": "Zaboravili ste lozinku?",
+ "loginWithGoogle": "Prijava putem Googlea",
+ "or": "ILI",
+ "privacyAccept": "Klikom na \"Prijava putem Googlea\" prihvaćam",
+ "privacyPolicy": "Privatnostnu politiku",
+ "passwordMinLength": "Lozinka mora imati najmanje 8 znakova",
+ "newPasswordMinLength": "Nova lozinka mora imati najmanje 8 znakova",
+ "menu": {
+ "profile": "Profil",
+ "checkout": "Naplata",
+ "orders": "Narudžbe",
+ "settings": "Postavke",
+ "adminDashboard": "Administratorska ploča",
+ "adminUsers": "Administratorski korisnici"
+ }
+ },
+ "cart": {
+ "title": "Košarica",
+ "empty": "prazno",
+ "addToCart": "Dodaj u košaricu",
+ "preorderCutting": "Pretplata kao reznice",
+ "continueShopping": "Nastavi kupovati",
+ "proceedToCheckout": "Nastavi na naplatu",
+ "productCount": "{{count}} {{count, plural, one {proizvod} other {proizvoda}}}",
+ "removeFromCart": "Ukloni iz košarice",
+ "openCart": "Otvori košaricu",
+ "availableFrom": "Od {{date}}",
+ "backToOrder": "← Natrag na narudžbu",
+ "sync": {
+ "title": "Sinkronizacija košarice",
+ "description": "Imate spremljenu košaricu na svom računu. Molimo odaberite kako želite nastaviti:",
+ "deleteServer": "Izbriši server košaricu",
+ "useServer": "Koristi server košaricu",
+ "merge": "Spajanje košarica",
+ "currentCart": "Vaša trenutačna košarica",
+ "serverCart": "Spremljena košarica na vašem profilu"
+ }
+ },
+ "product": {
+ "loading": "Učitavanje proizvoda...",
+ "notFound": "Proizvod nije pronađen",
+ "notFoundDescription": "Traženi proizvod ne postoji ili je uklonjen.",
+ "backToHome": "Natrag na početnu stranicu",
+ "error": "Greška",
+ "articleNumber": "Broj artikla",
+ "manufacturer": "Proizvođač",
+ "inclVat": "uključujući {{vat}}% PDV",
+ "priceUnit": "{{price}}/{{unit}}",
+ "new": "Novi",
+ "arriving": "Dolazi:",
+ "inclVatFooter": "uključujući {{vat}}% PDV, *",
+ "availability": "Dostupnost",
+ "inStock": "Na skladištu",
+ "comingSoon": "Uskoro",
+ "deliveryTime": "Vrijeme isporuke",
+ "inclShort": "ukl.",
+ "vatShort": "PDV",
+ "countDisplay": {
+ "noProducts": "0 proizvoda",
+ "oneProduct": "1 proizvod",
+ "multipleProducts": "{{count}} proizvoda",
+ "filteredProducts": "{{filtered}} od {{total}} proizvoda",
+ "filteredOneProduct": "{{filtered}} od 1 proizvoda"
+ },
+ "removeFiltersToSee": "Uklonite filtre za prikaz proizvoda",
+ "outOfStock": "Nema na skladištu",
+ "fromXProducts": "od {{count}} proizvoda"
+ },
+ "search": {
+ "placeholder": "Možete me pitati o sorti kanabisa...",
+ "recording": "Snimanje...",
+ "searchProducts": "Pretraži proizvode..."
+ },
+ "sorting": {
+ "name": "Ime",
+ "searchField": "Traženi pojam",
+ "priceLowHigh": "Cijena: Niska do Visoka",
+ "priceHighLow": "Cijena: Visoka do Niski"
+ },
+ "chat": {
+ "privacyRead": "Pročitano & Prihvaćeno"
+ },
+ "delivery": {
+ "methods": {
+ "dhl": "DHL",
+ "dpd": "DPD",
+ "sperrgut": "Velike i teške stvari",
+ "pickup": "Preuzimanje u trgovini"
+ },
+ "descriptions": {
+ "standard": "Standardna dostava",
+ "standardFree": "Standardna dostava - BESPLATNO za narudžbe od 100 € i više!",
+ "notAvailable": "nije dostupno odabiru jer jedan ili više artikala može biti samo preuzeto",
+ "bulky": "Za velike i teške predmete"
+ },
+ "prices": {
+ "free": "besplatno",
+ "freeFrom100": "(besplatno od 100 €)",
+ "dhl": "€6.99",
+ "dpd": "€4.90",
+ "sperrgut": "€28.99"
+ },
+ "times": {
+ "cutting14Days": "Vrijeme isporuke: 14 dana",
+ "standard2to3Days": "Vrijeme isporuke: 2-3 dana",
+ "supplier7to9Days": "Vrijeme isporuke: 7-9 dana"
+ }
+ },
+ "checkout": {
+ "invoiceAddress": "Adresa za fakturiranje",
+ "deliveryAddress": "Adresa za dostavu",
+ "saveForFuture": "Spremi za buduće narudžbe",
+ "pickupDate": "Za koji datum željena je preuzimanje reznica?",
+ "note": "Napomena",
+ "sameAddress": "Adresa za dostavu je ista kao i adresa za fakturiranje",
+ "termsAccept": "Pročitao/la sam uvjete i odredbe, privatnostnu politiku i politiku otkazivanja"
+ },
+ "payment": {
+ "successful": "Uspješna uplata!",
+ "failed": "Uplata nije uspjela",
+ "orderCompleted": "🎉 Vaša narudžba je uspješno dovršena! Sada možete pregledati svoje narudžbe.",
+ "orderProcessing": "Vaša uplata je uspješno obrađena. Narudžba će se automatski dovršiti.",
+ "paymentError": "Vaša uplata nije mogla biti obrađena. Molimo pokušajte ponovno ili odaberite drugu metodu plaćanja.",
+ "viewOrders": "Pregledajte moje narudžbe"
+ },
+ "filters": {
+ "sorting": "Sortiranje",
+ "perPage": "po stranici",
+ "availability": "Dostupnost",
+ "manufacturer": "Proizvođač"
+ },
+ "tax": {
+ "vat": "PDV",
+ "vat7": "7% PDV",
+ "vat19": "19% PDV",
+ "vat19WithShipping": "19% PDV (uključujući dostavu)",
+ "totalNet": "Ukupna neto cijena",
+ "totalGross": "Ukupna bruto cijena bez dostave",
+ "subtotal": "Ukupno"
+ },
+ "footer": {
+ "hours": "Sub 11-19",
+ "address": "Trachenberger Straße 14 - Dresden",
+ "location": "Između Pieschen stajališta i Trachenberger Platz-a",
+ "allPricesIncl": "* Sve cijene uključuju zakonski PDV, plus dostava",
+ "copyright": "© {{year}} GrowHeads.de",
+ "legal": {
+ "datenschutz": "Privatnostna politika",
+ "agb": "Uvjete i odredbe",
+ "sitemap": "Mapa stranice",
+ "impressum": "Impressum",
+ "batteriegesetzhinweise": "Napomene o regulativama za baterije",
+ "widerrufsrecht": "Pravo na odustajanje"
+ }
+ },
+ "titles": {
+ "home": "ine anabis eeds & uttings",
+ "aktionen": "tuelle ktionen & gebote",
+ "filiale": "ur iliale u resdenu"
+ },
+ "sections": {
+ "seeds": "Sjemenke",
+ "stecklinge": "Reznice",
+ "oilPress": "Najam tlačitelja ulja",
+ "thcTest": "THC test",
+ "address1": "Trachenberger Straße 14",
+ "address2": "01129 Dresden"
+ },
+ "pages": {
+ "oilPress": {
+ "title": "Najam tlačitelja ulja",
+ "comingSoon": "Sadržaj uskoro..."
+ },
+ "thcTest": {
+ "title": "THC test",
+ "comingSoon": "Sadržaj uskoro..."
+ }
+ },
+ "orders": {
+ "status": {
+ "new": "U tijeku",
+ "pending": "Novi",
+ "processing": "U tijeku",
+ "cancelled": "Otkazano",
+ "shipped": "Poslano",
+ "delivered": "Dostavljeno",
+ "return": "Vraćanje",
+ "partialReturn": "Djelomično vraćanje",
+ "partialDelivered": "Djelomično dostavljeno"
+ }
+ },
+ "common": {
+ "loading": "Učitavanje...",
+ "error": "Greška",
+ "close": "Zatvori",
+ "save": "Spremi",
+ "cancel": "Otkaži",
+ "ok": "U redu",
+ "yes": "Da",
+ "no": "Ne",
+ "next": "Dalje",
+ "back": "Natrag",
+ "edit": "Uredi",
+ "delete": "Izbriši",
+ "add": "Dodaj",
+ "remove": "Ukloni",
+ "products": "Proizvodi",
+ "product": "Proizvod"
+ }
+};
diff --git a/src/i18n/locales/hu/translation.js b/src/i18n/locales/hu/translation.js
index b7399f4..c419544 100644
--- a/src/i18n/locales/hu/translation.js
+++ b/src/i18n/locales/hu/translation.js
@@ -1,204 +1,231 @@
export default {
+ "locale": {
+ "code": "hu-HU"
+ },
"navigation": {
- "home": "Főoldal", // Startseite
- "aktionen": "Akciók", // Aktionen
- "filiale": "Üzlet", // Filiale
- "categories": "Kategóriák", // Kategorien
- "categoriesOpen": "Kategóriák Megnyitása", // Kategorien öffnen
- "categoriesClose": "Kategóriák Bezárása" // Kategorien schließen
+ "home": "Főoldal",
+ "aktionen": "Akciók",
+ "filiale": "Partner",
+ "categories": "Kategóriák",
+ "categoriesOpen": "Nyitott kategóriák",
+ "categoriesClose": "Bezárás kategóriák",
+ "otherCategories": "Egyéb kategóriák"
},
"auth": {
- "login": "Bejelentkezés", // Anmelden
- "register": "Regisztráció", // Registrieren
- "logout": "Kijelentkezés", // Abmelden
- "profile": "Profil", // Profil
- "email": "E-mail", // E-Mail
- "password": "Jelszó", // Passwort
- "confirmPassword": "Jelszó Megerősítése", // Passwort bestätigen
- "forgotPassword": "Elfelejtett jelszó?", // Passwort vergessen?
- "loginWithGoogle": "Bejelentkezés Google-lal", // Mit Google anmelden
- "or": "VAGY", // ODER
- "privacyAccept": "A \"Bejelentkezés Google-lal\" gombra kattintva elfogadom a", // Mit dem Click auf \"Mit Google anmelden\" akzeptiere ich die
- "privacyPolicy": "Adatvédelmi Szabályzat", // Datenschutzbestimmungen
- "passwordMinLength": "A jelszónak legalább 8 karakter hosszúnak kell lennie", // Das Passwort muss mindestens 8 Zeichen lang sein
- "newPasswordMinLength": "Az új jelszónak legalább 8 karakter hosszúnak kell lennie", // Das neue Passwort muss mindestens 8 Zeichen lang sein
+ "login": "Bejelentkezés",
+ "register": "Regisztráció",
+ "logout": "Kijelentkezés",
+ "profile": "Profil",
+ "email": "Email",
+ "password": "Jelszó",
+ "confirmPassword": "Jelszó megerősítése",
+ "forgotPassword": "Elfelejtette jelszavát?",
+ "loginWithGoogle": "Bejelentkezés Google-lel",
+ "or": "VAGY",
+ "privacyAccept": "A \"Bejelentkezés Google-lel\" gombra kattintva elfogadom az",
+ "privacyPolicy": "Adatvédelmi irányelveket",
+ "passwordMinLength": "A jelszónak minimum 8 karakteresnek kell lennie",
+ "newPasswordMinLength": "Az új jelszónak minimum 8 karakteresnek kell lennie",
"menu": {
- "profile": "Profil", // Profil
- "checkout": "Rendelés Lezárása", // Bestellabschluss
- "orders": "Rendelések", // Bestellungen
- "settings": "Beállítások", // Einstellungen
- "adminDashboard": "Admin Irányítópult", // Admin Dashboard
- "adminUsers": "Admin Felhasználók" // Admin Users
+ "profile": "Profil",
+ "checkout": "Fizetés",
+ "orders": "Rendelések",
+ "settings": "Beállítások",
+ "adminDashboard": "Admin panel",
+ "adminUsers": "Felhasználók"
}
},
"cart": {
- "title": "Kosár", // Warenkorb
- "empty": "üres", // leer
- "addToCart": "Kosárba", // In den Korb
- "preorderCutting": "Előrendelés Dugványként", // Als Steckling vorbestellen
- "continueShopping": "Vásárlás Folytatása", // Weiter einkaufen
- "proceedToCheckout": "Tovább a Pénztárhoz", // Weiter zur Kasse
+ "title": "Kosár",
+ "empty": "üres",
+ "addToCart": "Kosárba tesz",
+ "preorderCutting": "Előrendelés vagdosásként",
+ "continueShopping": "Folytassa a vásárlást",
+ "proceedToCheckout": "Tovább a fizetéshez",
+ "productCount": "{{count}} {{count, plural, one {termék} other {termékek}}}",
+ "removeFromCart": "Kivétel a kosárból",
+ "openCart": "Kosár megnyitása",
+ "availableFrom": "Elérhető {{date}}",
+ "backToOrder": "← Vissza a rendeléshez",
"sync": {
- "title": "Kosár Szinkronizálás", // Warenkorb-Synchronisierung
- "description": "Van egy mentett kosara a fiókjában. Kérjük, válassza ki, hogyan szeretne folytatni:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten:
- "deleteServer": "Szerver Kosár Törlése", // Server-Warenkorb löschen
- "useServer": "Szerver Kosár Használata", // Server-Warenkorb übernehmen
- "merge": "Kosarek Egyesítése", // Warenkörbe zusammenführen
- "currentCart": "Jelenlegi Kosár", // Ihr aktueller Warenkorb
- "serverCart": "Profiljában Mentett Kosár" // In Ihrem Profil gespeicherter Warenkorb
+ "title": "Kosár szinkronizálás",
+ "description": "Van egy mentett kosara a fiókjában. Kérjük, válassza ki, hogyan folytatja:",
+ "deleteServer": "Szerver kosár törlése",
+ "useServer": "Szerver kosár használata",
+ "merge": "Kosarak összeolvasztása",
+ "currentCart": "Aktuális kosara",
+ "serverCart": "Mentett kosár a profiljában"
}
},
"product": {
- "loading": "Termék betöltése...", // Produkt wird geladen...
- "notFound": "Termék nem található", // Produkt nicht gefunden
- "notFoundDescription": "A keresett termék nem létezik vagy törölve lett.", // Das gesuchte Produkt existiert nicht oder wurde entfernt.
- "backToHome": "Vissza a Főoldalra", // Zurück zur Startseite
- "error": "Hiba", // Fehler
- "articleNumber": "Cikkszám", // Artikelnummer
- "manufacturer": "Gyártó", // Hersteller
- "inclVat": "{{vat}}% ÁFA-val", // inkl. {{vat}}% MwSt.
- "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}}
- "new": "Új", // Neu
- "arriving": "Érkezés:", // Ankunft:
- "inclVatFooter": "{{vat}}% ÁFA-val,*", // incl. {{vat}}% USt.,*
- "availability": "Elérhetőség", // Verfügbarkeit
- "inStock": "raktáron", // auf Lager
- "comingSoon": "Hamarosan Elérhető", // Bald verfügbar
- "deliveryTime": "Szállítási Idő", // Lieferzeit
- "inclShort": "áfával", // inkl.
- "vatShort": "ÁFA" // MwSt.
+ "loading": "Termék betöltése...",
+ "notFound": "Termék nem található",
+ "notFoundDescription": "A keresett termék nem létezik, vagy törölték.",
+ "backToHome": "Vissza a főoldalra",
+ "error": "Hiba",
+ "articleNumber": "Cikkszám",
+ "manufacturer": "Gyártó",
+ "inclVat": "beleértve {{vat}}% ÁFA",
+ "priceUnit": "{{price}}/{{unit}}",
+ "new": "Új",
+ "arriving": "Érkezés:",
+ "inclVatFooter": "beleértve {{vat}}% ÁFA, *",
+ "availability": "Elérhetőség",
+ "inStock": "Raktáron",
+ "comingSoon": "Közel van",
+ "deliveryTime": "Szállítási idő",
+ "inclShort": "beleértve",
+ "vatShort": "ÁFA",
+ "countDisplay": {
+ "noProducts": "0 termék",
+ "oneProduct": "1 termék",
+ "multipleProducts": "{{count}} termék",
+ "filteredProducts": "{{filtered}} a(z) {{total}} termékből",
+ "filteredOneProduct": "{{filtered}} a 1 termékből"
+ },
+ "removeFiltersToSee": "Szűrők eltávolítása a termékek megtekintéséhez",
+ "outOfStock": "Nincs raktáron",
+ "fromXProducts": "innen {{count}} termék"
},
"search": {
- "placeholder": "Kérdezhetsz a kannabisz fajtákról...", // Du kannst mich nach Cannabissorten fragen...
- "recording": "Rögzítés..." // Aufnahme läuft...
+ "placeholder": "Kérdezhetek a kannabisz fajtákról...",
+ "recording": "Felvétel...",
+ "searchProducts": "Termékek keresése..."
+ },
+ "sorting": {
+ "name": "Név",
+ "searchField": "Keresési kifejezés",
+ "priceLowHigh": "Ár: legolcsóbbtól legdrágábbig",
+ "priceHighLow": "Ár: legdrágábbtól legolcsóbbig"
},
"chat": {
- "privacyRead": "Elolvasva és Elfogadva" // Gelesen & Akzeptiert
+ "privacyRead": "Elolvastam & Elfogadom"
},
"delivery": {
"methods": {
- "dhl": "DHL", // DHL
- "dpd": "DPD", // DPD
- "sperrgut": "Nagydarabos Áru", // Sperrgut
- "pickup": "Átvétel az Üzletben" // Abholung in der Filiale
+ "dhl": "DHL",
+ "dpd": "DPR",
+ "sperrgut": "Hordozható tárgyak",
+ "pickup": "Átvétel az üzletben"
},
"descriptions": {
- "standard": "Normál Szállítás", // Standardversand
- "standardFree": "Normál Szállítás - INGYENES 100€ rendelési érték felett!", // Standardversand - KOSTENLOS ab 100€ Warenwert!
- "notAvailable": "nem választható, mert egy vagy több tétel csak átvétellel kapható", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können
- "bulky": "Nagy és nehéz tételekhez" // Für große und schwere Artikel
+ "standard": "Standard szállítás",
+ "standardFree": "Standard szállítás - INGYENES 100 € értékű áru felett!",
+ "notAvailable": "nem választható, mert egy vagy több tétel csak személyes átvétellel rendelhető",
+ "bulky": "Nagy és nehéz tételekhez"
},
"prices": {
- "free": "ingyenes", // kostenlos
- "dhl": "6,99 €", // 6,99 €
- "dpd": "4,90 €", // 4,90 €
- "sperrgut": "28,99 €" // 28,99 €
+ "free": "ingyenes",
+ "freeFrom100": "(ingyenes 100 € felett)",
+ "dhl": "€6.99",
+ "dpd": "€4.90",
+ "sperrgut": "€28.99"
},
"times": {
- "cutting14Days": "Szállítási idő: 14 nap", // Lieferzeit: 14 Tage
- "standard2to3Days": "Szállítási idő: 2-3 nap", // Lieferzeit: 2-3 Tage
- "supplier7to9Days": "Szállítási idő: 7-9 nap" // Lieferzeit: 7-9 Tage
+ "cutting14Days": "Szállítási idő: 14 nap",
+ "standard2to3Days": "Szállítási idő: 2-3 nap",
+ "supplier7to9Days": "Szállítási idő: 7-9 nap"
}
},
"checkout": {
- "invoiceAddress": "Számlázási Cím", // Rechnungsadresse
- "deliveryAddress": "Szállítási Cím", // Lieferadresse
- "saveForFuture": "Mentés jövőbeli rendelésekhez", // Für zukünftige Bestellungen speichern
- "pickupDate": "Mikor kívánja átvenni a dugványokat?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht?
- "note": "Megjegyzés", // Anmerkung
- "sameAddress": "A szállítási cím megegyezik a számlázási címmel", // Lieferadresse ist identisch mit Rechnungsadresse
- "termsAccept": "Elolvastam az ÁSZF-et, az Adatvédelmi Szabályzatot és az elállási jog rendelkezéseit" // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen
+ "invoiceAddress": "Számlázási cím",
+ "deliveryAddress": "Szállítási cím",
+ "saveForFuture": "Mentés jövőbeli rendelésekhöz",
+ "pickupDate": "Milyen dátumra kér szállítást a vagdosásokról?",
+ "note": "Megjegyzés",
+ "sameAddress": "A szállítási cím megegyezik a számlázási címmel",
+ "termsAccept": "Elolvastam a szerződési feltételeket, az adatvédelmi irányelveket és a visszalépési jogot"
},
"payment": {
- "successful": "Sikeres fizetés!", // Zahlung erfolgreich!
- "failed": "Sikertelen fizetés", // Zahlung fehlgeschlagen
- "orderCompleted": "🎉 Rendelése sikeresen teljesítve! Most megtekintheti rendeléseit.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen.
- "orderProcessing": "Fizetése sikeresen feldolgozva. A rendelés automatikusan teljesül.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen.
- "paymentError": "Fizetése nem dolgozható fel. Kérjük, próbálja újra vagy válasszon másik fizetési módot.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode.
- "viewOrders": "Rendeléseim Megtekintése" // Zu meinen Bestellungen
+ "successful": "Sikeres fizetés!",
+ "failed": "Fizetés nem sikerült",
+ "orderCompleted": "🎉 A rendelése sikeresen befejeződött! Most megtekintheti rendeléseit.",
+ "orderProcessing": "A fizetés sikeresen feldolgozva. A rendelés automatikusan be lesz fejezve.",
+ "paymentError": "A fizetést nem sikerült feldolgozni. Kérjük, próbálja újra, vagy válasszon más fizetési módot.",
+ "viewOrders": "Rendeléseim megtekintése"
},
"filters": {
- "sorting": "Rendezés", // Sortierung
- "perPage": "oldalanként", // pro Seite
- "availability": "Elérhetőség", // Verfügbarkeit
- "manufacturer": "Gyártó" // Hersteller
+ "sorting": "Rendezés",
+ "perPage": "oldalanként",
+ "availability": "Elérhetőség",
+ "manufacturer": "Gyártó"
},
"tax": {
- "vat": "Általános Forgalmi Adó", // Mehrwertsteuer
- "vat7": "7% Általános Forgalmi Adó", // 7% Mehrwertsteuer
- "vat19": "19% Általános Forgalmi Adó", // 19% Mehrwertsteuer
- "vat19WithShipping": "19% Általános Forgalmi Adó (szállítással)", // 19% Mehrwertsteuer (inkl. Versand)
- "totalNet": "Teljes Nettó Ár", // Gesamtnettopreis
- "totalGross": "Teljes Bruttó Ár Szállítás Nélkül", // Gesamtbruttopreis ohne Versand
- "subtotal": "Részösszeg" // Zwischensumme
+ "vat": "ÁFA",
+ "vat7": "7% ÁFA",
+ "vat19": "19% ÁFA",
+ "vat19WithShipping": "19% ÁFA (postaköltséggel)",
+ "totalNet": "Nettó végösszeg",
+ "totalGross": "Bruttó végösszeg szállítás nélkül",
+ "subtotal": "Részösszeg"
},
"footer": {
- "hours": "Szo 11-19", // Sa 11-19
- "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden
- "location": "Pieschen állomás és Trachenberger Platz között", // Zwischen Haltepunkt Pieschen und Trachenberger Platz
- "allPricesIncl": "* Minden ár törvényes ÁFA-val, plusz szállítás", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand
- "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de
+ "hours": "Szombat 11-19",
+ "address": "Trachenberger Straße 14 - Drezda",
+ "location": "Pieschen megállótól és Trachenberger Platz-tól között",
+ "allPricesIncl": "* Minden ár tartalmazza a törvényes ÁFÁ-t, plusz szállítási díjat",
+ "copyright": "© {{year}} GrowHeads.de",
"legal": {
- "datenschutz": "Adatvédelmi Szabályzat", // Datenschutz
- "agb": "Általános Szerződési Feltételek", // AGB
- "sitemap": "Oldaltérkép", // Sitemap
- "impressum": "Impresszum", // Impressum
- "batteriegesetzhinweise": "Akkumulátor Törvény Információk", // Batteriegesetzhinweise
- "widerrufsrecht": "Elállási Jog" // Widerrufsrecht
+ "datenschutz": "Adatvédelmi irányelvek",
+ "agb": "Általános Szerződési Feltételek",
+ "sitemap": "Oldaltérkép",
+ "impressum": "Impresszum",
+ "batteriegesetzhinweise": "Akkumulátor szabályozási figyelmeztetések",
+ "widerrufsrecht": "Elállási jog"
}
},
"titles": {
- "home": "Kannabisz Magok és Dugványok", // Cannabis Seeds & Cuttings
- "aktionen": "Aktuális Akciók és Ajánlatok", // Aktuelle Aktionen & Angebote
- "filiale": "Üzletünk Dresdában" // Unsere Filiale in Dresden
+ "home": "ine anabis eeds & uttings",
+ "aktionen": "tuelle ktionen & gebote",
+ "filiale": "ur iliale in resden"
},
"sections": {
- "seeds": "Magok", // Seeds
- "stecklinge": "Dugványok", // Stecklinge
- "oilPress": "Olajprés Kölcsönzés", // Ölpresse ausleihen
- "thcTest": "THC Teszt", // THC Test
- "address1": "Trachenberger Straße 14", // Trachenberger Straße 14
- "address2": "01129 Dresden" // 01129 Dresden
+ "seeds": "Magok",
+ "stecklinge": "Vágások",
+ "oilPress": "Olajprés bérlés",
+ "thcTest": "THC teszt",
+ "address1": "Trachenberger Straße 14",
+ "address2": "01129 Drezda"
},
"pages": {
"oilPress": {
- "title": "Olajprés Kölcsönzés", // Ölpresse ausleihen
- "comingSoon": "Tartalom hamarosan..." // Inhalt kommt bald...
+ "title": "Olajprés bérlés",
+ "comingSoon": "Tartalom hamarosan..."
},
"thcTest": {
- "title": "THC Teszt", // THC Test
- "comingSoon": "Tartalom hamarosan..." // Inhalt kommt bald...
+ "title": "THC teszt",
+ "comingSoon": "Tartalom hamarosan..."
}
},
"orders": {
"status": {
- "new": "feldolgozás alatt", // in Bearbeitung
- "pending": "Új", // Neu
- "processing": "Feldolgozás Alatt", // in Bearbeitung
- "cancelled": "Visszavonva", // Storniert
- "shipped": "Elküldve", // Verschickt
- "delivered": "Kézbesítve", // Geliefert
- "return": "Visszaküldés", // Retoure
- "partialReturn": "Részleges Visszaküldés", // Teil Retoure
- "partialDelivered": "Részlegesen Kézbesítve" // Teil geliefert
+ "new": "Folyamatban",
+ "pending": "Új",
+ "processing": "Folyamatban",
+ "cancelled": "Lemondva",
+ "shipped": "Kiszállítva",
+ "delivered": "Kézbesítve",
+ "return": "Visszaküldés",
+ "partialReturn": "Részleges visszaküldés",
+ "partialDelivered": "Részben kézbesítve"
}
},
"common": {
- "loading": "Betöltés...", // Lädt...
- "error": "Hiba", // Fehler
- "close": "Bezár", // Schließen
- "save": "Mentés", // Speichern
- "cancel": "Mégse", // Abbrechen
- "ok": "OK", // OK
- "yes": "Igen", // Ja
- "no": "Nem", // Nein
- "next": "Következő", // Weiter
- "back": "Vissza", // Zurück
- "edit": "Szerkesztés", // Bearbeiten
- "delete": "Törlés", // Löschen
- "add": "Hozzáadás", // Hinzufügen
- "remove": "Eltávolítás", // Entfernen
- "products": "Termékek", // Produkte
- "product": "Termék" // Produkt
+ "loading": "Betöltés...",
+ "error": "Hiba",
+ "close": "Bezárás",
+ "save": "Mentés",
+ "cancel": "Mégse",
+ "ok": "OK",
+ "yes": "Igen",
+ "no": "Nem",
+ "next": "Következő",
+ "back": "Vissza",
+ "edit": "Szerkesztés",
+ "delete": "Törlés",
+ "add": "Hozzáadás",
+ "remove": "Eltávolítás",
+ "products": "Termékek",
+ "product": "Termék"
}
-}
\ No newline at end of file
+};
diff --git a/src/i18n/locales/it/translation.js b/src/i18n/locales/it/translation.js
index 2b28dd8..b525814 100644
--- a/src/i18n/locales/it/translation.js
+++ b/src/i18n/locales/it/translation.js
@@ -1,204 +1,231 @@
export default {
+ "locale": {
+ "code": "it-IT"
+ },
"navigation": {
- "home": "Home", // Home
- "aktionen": "Azioni", // Actions
- "filiale": "Filiale", // Branch
- "categories": "Categorie", // Categories
- "categoriesOpen": "Apri categorie", // Open categories
- "categoriesClose": "Chiudi categorie" // Close categories
+ "home": "Home",
+ "aktionen": "Azioni",
+ "filiale": "Filiale",
+ "categories": "Categorie",
+ "categoriesOpen": "Categorie aperte",
+ "categoriesClose": "Chiudi categorie",
+ "otherCategories": "Altre categorie"
},
"auth": {
- "login": "Accedi", // Login
- "register": "Registrati", // Register
- "logout": "Esci", // Logout
- "profile": "Profilo", // Profile
- "email": "Email", // Email
- "password": "Password", // Password
- "confirmPassword": "Conferma password", // Confirm password
- "forgotPassword": "Password dimenticata?", // Forgot password?
- "loginWithGoogle": "Accedi con Google", // Login with Google
- "or": "OPPURE", // OR
- "privacyAccept": "Cliccando su \"Accedi con Google\" accetto la", // By clicking "Login with Google" I accept
- "privacyPolicy": "Politica sulla privacy", // Privacy policy
- "passwordMinLength": "La password deve essere di almeno 8 caratteri", // Password must be at least 8 characters
- "newPasswordMinLength": "La nuova password deve essere di almeno 8 caratteri", // New password must be at least 8 characters
+ "login": "Accedi",
+ "register": "Registrati",
+ "logout": "logout",
+ "profile": "Profilo",
+ "email": "Email",
+ "password": "Password",
+ "confirmPassword": "Conferma password",
+ "forgotPassword": "Password dimenticata?",
+ "loginWithGoogle": "Accedi con Google",
+ "or": "OPPURE",
+ "privacyAccept": "Cliccando \"Accedi con Google\", accetto il",
+ "privacyPolicy": "Informativa sulla privacy",
+ "passwordMinLength": "La password deve essere lunga almeno 8 caratteri",
+ "newPasswordMinLength": "La nuova password deve essere lunga almeno 8 caratteri",
"menu": {
- "profile": "Profilo", // Profile
- "checkout": "Completa ordine", // Checkout
- "orders": "Ordini", // Orders
- "settings": "Impostazioni", // Settings
- "adminDashboard": "Dashboard amministratore", // Admin dashboard
- "adminUsers": "Utenti amministratore" // Admin users
+ "profile": "Profilo",
+ "checkout": "Pagamento",
+ "orders": "Ordini",
+ "settings": "Impostazioni",
+ "adminDashboard": "Dashboard amministratore",
+ "adminUsers": "Utenti admin"
}
},
"cart": {
- "title": "Carrello", // Cart
- "empty": "vuoto", // empty
- "addToCart": "Aggiungi al carrello", // Add to cart
- "preorderCutting": "Prenota come talea", // Preorder as cutting
- "continueShopping": "Continua shopping", // Continue shopping
- "proceedToCheckout": "Procedi al checkout", // Proceed to checkout
+ "title": "Carrello",
+ "empty": "vuoto",
+ "addToCart": "Aggiungi al carrello",
+ "preorderCutting": "Pre-ordine come talee",
+ "continueShopping": "Continua shopping",
+ "proceedToCheckout": "Procedi al pagamento",
+ "productCount": "{{count}} {{count, plural, one {prodotto} other {prodotti}}}",
+ "removeFromCart": "Rimuovi dal carrello",
+ "openCart": "Apri carrello",
+ "availableFrom": "Da {{date}}",
+ "backToOrder": "← Torna all'ordine",
"sync": {
- "title": "Sincronizzazione carrello", // Cart synchronization
- "description": "Hai un carrello salvato nel tuo account. Scegli come procedere:", // You have a saved cart in your account. Please choose how to proceed:
- "deleteServer": "Elimina carrello server", // Delete server cart
- "useServer": "Usa carrello server", // Use server cart
- "merge": "Unisci carrelli", // Merge carts
- "currentCart": "Il tuo carrello attuale", // Your current cart
- "serverCart": "Carrello salvato nel tuo profilo" // Cart saved in your profile
+ "title": "Sincronizzazione carrello",
+ "description": "Hai un carrello salvato nel tuo account. Per favore scegli come procedere:",
+ "deleteServer": "Elimina carrello server",
+ "useServer": "Usa carrello server",
+ "merge": "Unisci carrelli",
+ "currentCart": "Il tuo carrello attuale",
+ "serverCart": "Carrello salvato nel tuo profilo"
}
},
"product": {
- "loading": "Caricamento prodotto...", // Loading product...
- "notFound": "Prodotto non trovato", // Product not found
- "notFoundDescription": "Il prodotto cercato non esiste o è stato rimosso.", // The searched product doesn't exist or was removed.
- "backToHome": "Torna alla home", // Back to home
- "error": "Errore", // Error
- "articleNumber": "Numero articolo", // Article number
- "manufacturer": "Produttore", // Manufacturer
- "inclVat": "IVA {{vat}}% inclusa", // incl. {{vat}}% VAT
- "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}}
- "new": "Nuovo", // New
- "arriving": "Arrivo:", // Arriving:
- "inclVatFooter": "IVA {{vat}}% inclusa,*", // incl. {{vat}}% VAT,*
- "availability": "Disponibilità", // Availability
- "inStock": "disponibile", // in stock
- "comingSoon": "Presto disponibile", // Coming soon
- "deliveryTime": "Tempo di consegna", // Delivery time
- "inclShort": "incl.", // incl.
- "vatShort": "IVA" // VAT
+ "loading": "Caricamento prodotto...",
+ "notFound": "Prodotto non trovato",
+ "notFoundDescription": "Il prodotto cercato non esiste o è stato rimosso.",
+ "backToHome": "Torna alla pagina principale",
+ "error": "Errore",
+ "articleNumber": "Numero articolo",
+ "manufacturer": "Produttore",
+ "inclVat": "IVA inclusa {{vat}}%",
+ "priceUnit": "{{price}}/{{unit}}",
+ "new": "Nuovo",
+ "arriving": "Arrivo:",
+ "inclVatFooter": "IVA inclusa {{vat}}%, *",
+ "availability": "Disponibilità",
+ "inStock": "Disponibile",
+ "comingSoon": "In arrivo",
+ "deliveryTime": "Tempo di consegna",
+ "inclShort": "incl.",
+ "vatShort": "IVA",
+ "countDisplay": {
+ "noProducts": "0 prodotti",
+ "oneProduct": "1 prodotto",
+ "multipleProducts": "{{count}} prodotti",
+ "filteredProducts": "{{filtered}} di {{total}} prodotti",
+ "filteredOneProduct": "{{filtered}} di 1 prodotto"
+ },
+ "removeFiltersToSee": "Rimuovi i filtri per vedere i prodotti",
+ "outOfStock": "Esaurito",
+ "fromXProducts": "da {{count}} prodotti"
},
"search": {
- "placeholder": "Puoi chiedermi delle varietà di cannabis...", // You can ask me about cannabis strains...
- "recording": "Registrazione..." // Recording...
+ "placeholder": "Puoi chiedermi delle varietà di cannabis...",
+ "recording": "Registrazione...",
+ "searchProducts": "Cerca prodotti..."
+ },
+ "sorting": {
+ "name": "Nome",
+ "searchField": "Termine di ricerca",
+ "priceLowHigh": "Prezzo: dal basso verso l'alto",
+ "priceHighLow": "Prezzo: dall'alto verso il basso"
},
"chat": {
- "privacyRead": "Letto e accettato" // Read & accepted
+ "privacyRead": "Letto & Accettato"
},
"delivery": {
"methods": {
- "dhl": "DHL", // DHL
- "dpd": "DPD", // DPD
- "sperrgut": "Merce ingombrante", // Bulky goods
- "pickup": "Ritiro in filiale" // Pickup at branch
+ "dhl": "DHL",
+ "dpd": "DPD",
+ "sperrgut": "Merce ingombrante",
+ "pickup": "Ritiro in negozio"
},
"descriptions": {
- "standard": "Spedizione standard", // Standard delivery
- "standardFree": "Spedizione standard - GRATUITA sopra i 100€!", // Standard delivery - FREE from 100€ order value!
- "notAvailable": "non disponibile perché uno o più articoli possono essere solo ritirati", // not available because one or more items can only be picked up
- "bulky": "Per articoli grandi e pesanti" // For large and heavy items
+ "standard": "Spedizione standard",
+ "standardFree": "Spedizione standard - GRATIS per acquisti superiori a €100!",
+ "notAvailable": "non selezionabile perché uno o più articoli possono essere ritirati solo in negozio",
+ "bulky": "Per articoli grandi e pesanti"
},
"prices": {
- "free": "gratuita", // free
- "dhl": "6,99 €", // 6,99 €
- "dpd": "4,90 €", // 4,90 €
- "sperrgut": "28,99 €" // 28,99 €
+ "free": "gratis",
+ "freeFrom100": "(gratis da €100)",
+ "dhl": "€6.99",
+ "dpd": "€4.90",
+ "sperrgut": "€28.99"
},
"times": {
- "cutting14Days": "Tempo di consegna: 14 giorni", // Delivery time: 14 days
- "standard2to3Days": "Tempo di consegna: 2-3 giorni", // Delivery time: 2-3 days
- "supplier7to9Days": "Tempo di consegna: 7-9 giorni" // Delivery time: 7-9 days
+ "cutting14Days": "Tempo di consegna: 14 giorni",
+ "standard2to3Days": "Tempo di consegna: 2-3 giorni",
+ "supplier7to9Days": "Tempo di consegna: 7-9 giorni"
}
},
"checkout": {
- "invoiceAddress": "Indirizzo fatturazione", // Invoice address
- "deliveryAddress": "Indirizzo consegna", // Delivery address
- "saveForFuture": "Salva per ordini futuri", // Save for future orders
- "pickupDate": "Quando desideri ritirare le talee?", // When do you wish to pick up the cuttings?
- "note": "Nota", // Note
- "sameAddress": "L'indirizzo di consegna è uguale all'indirizzo di fatturazione", // Delivery address is same as invoice address
- "termsAccept": "Ho letto i termini e condizioni, la politica sulla privacy e le condizioni del diritto di recesso" // I have read the T&C, privacy policy and withdrawal right conditions
+ "invoiceAddress": "Indirizzo di fatturazione",
+ "deliveryAddress": "Indirizzo di consegna",
+ "saveForFuture": "Salva per ordini futuri",
+ "pickupDate": "Per quale data si desidera il ritiro delle talee?",
+ "note": "Nota",
+ "sameAddress": "Indirizzo di consegna uguale a quello di fatturazione",
+ "termsAccept": "Ho letto i termini e le condizioni, l'informativa sulla privacy e la politica di cancellazione"
},
"payment": {
- "successful": "Pagamento riuscito!", // Successful payment!
- "failed": "Pagamento fallito", // Failed payment
- "orderCompleted": "🎉 Il tuo ordine è stato completato con successo! Ora puoi visualizzare i tuoi ordini.", // 🎉 Your order was successfully completed! You can now view your orders.
- "orderProcessing": "Il tuo pagamento è stato elaborato con successo. L'ordine verrà completato automaticamente.", // Your payment was successfully processed. The order will be automatically completed.
- "paymentError": "Il tuo pagamento non può essere elaborato. Riprova o scegli un altro metodo di pagamento.", // Your payment could not be processed. Please try again or choose another payment method.
- "viewOrders": "Visualizza i miei ordini" // View my orders
+ "successful": "Pagamento riuscito!",
+ "failed": "Pagamento fallito",
+ "orderCompleted": "🎉 Il tuo ordine è stato completato con successo! Ora puoi visualizzare i tuoi ordini.",
+ "orderProcessing": "Il pagamento è stato elaborato con successo. L'ordine verrà completato automaticamente.",
+ "paymentError": "Impossibile elaborare il pagamento. Per favore riprova o scegli un altro metodo di pagamento.",
+ "viewOrders": "Visualizza i miei ordini"
},
"filters": {
- "sorting": "Ordinamento", // Sorting
- "perPage": "per pagina", // per page
- "availability": "Disponibilità", // Availability
- "manufacturer": "Produttore" // Manufacturer
+ "sorting": "Ordinamento",
+ "perPage": "per pagina",
+ "availability": "Disponibilità",
+ "manufacturer": "Produttore"
},
"tax": {
- "vat": "IVA", // VAT
- "vat7": "7% IVA", // 7% VAT
- "vat19": "19% IVA", // 19% VAT
- "vat19WithShipping": "19% IVA (inclusa spedizione)", // 19% VAT (incl. shipping)
- "totalNet": "Prezzo totale netto", // Total net price
- "totalGross": "Prezzo totale lordo senza spedizione", // Total gross price without shipping
- "subtotal": "Subtotale" // Subtotal
+ "vat": "IVA",
+ "vat7": "IVA 7%",
+ "vat19": "IVA 19%",
+ "vat19WithShipping": "IVA 19% (incl. spedizione)",
+ "totalNet": "Totale netto",
+ "totalGross": "Totale lordo senza spedizione",
+ "subtotal": "Totale parziale"
},
"footer": {
- "hours": "Sab 11-19", // Sat 11-19
- "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden
- "location": "Tra la fermata Pieschen e Trachenberger Platz", // Between Pieschen stop and Trachenberger Platz
- "allPricesIncl": "* Tutti i prezzi incl. IVA legale, più spedizione", // * All prices incl. legal VAT, plus shipping
- "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de
+ "hours": "Sab 11-19",
+ "address": "Trachenberger Straße 14 - Dresden",
+ "location": "Tra Pieschen and Trachenberger Platz",
+ "allPricesIncl": "* Tutti i prezzi includono IVA statale, più spese di spedizione",
+ "copyright": "© {{year}} GrowHeads.de",
"legal": {
- "datenschutz": "Privacy", // Privacy policy
- "agb": "Termini e condizioni", // T&C
- "sitemap": "Mappa del sito", // Sitemap
- "impressum": "Impressum", // Impressum
- "batteriegesetzhinweise": "Informazioni legge batterie", // Battery law information
- "widerrufsrecht": "Diritto di recesso" // Right of withdrawal
+ "datenschutz": "Informativa sulla privacy",
+ "agb": "Termini e condizioni",
+ "sitemap": "Mappa del sito",
+ "impressum": "Impressum",
+ "batteriegesetzhinweise": "Note sulla regolamentazione delle batterie",
+ "widerrufsrecht": "Diritto di recesso"
}
},
"titles": {
- "home": "Semi e talee di cannabis", // Cannabis seeds & cuttings
- "aktionen": "Azioni e offerte attuali", // Current actions & offers
- "filiale": "La nostra filiale a Dresden" // Our branch in Dresden
+ "home": "ine anabis eeds & uttings",
+ "aktionen": "tuelle ktionen & gebote",
+ "filiale": "ur iliale in resden"
},
"sections": {
- "seeds": "Semi", // Seeds
- "stecklinge": "Talee", // Cuttings
- "oilPress": "Noleggio pressa per olio", // Oil press rental
- "thcTest": "Test THC", // THC test
- "address1": "Trachenberger Straße 14", // Trachenberger Straße 14
- "address2": "01129 Dresden" // 01129 Dresden
+ "seeds": "Semi",
+ "stecklinge": "Talee",
+ "oilPress": "Noleggio presse di olio",
+ "thcTest": "Test THC",
+ "address1": "Trachenberger Straße 14",
+ "address2": "01129 Dresden"
},
"pages": {
"oilPress": {
- "title": "Noleggio pressa per olio", // Oil press rental
- "comingSoon": "Contenuto in arrivo..." // Content coming soon...
+ "title": "Noleggio presse di olio",
+ "comingSoon": "Contenuto in arrivo..."
},
"thcTest": {
- "title": "Test THC", // THC test
- "comingSoon": "Contenuto in arrivo..." // Content coming soon...
+ "title": "Test THC",
+ "comingSoon": "Contenuto in arrivo..."
}
},
"orders": {
"status": {
- "new": "in elaborazione", // processing
- "pending": "Nuovo", // New
- "processing": "In elaborazione", // Processing
- "cancelled": "Annullato", // Cancelled
- "shipped": "Spedito", // Shipped
- "delivered": "Consegnato", // Delivered
- "return": "Reso", // Return
- "partialReturn": "Reso parziale", // Partial return
- "partialDelivered": "Parzialmente consegnato" // Partially delivered
+ "new": "In corso",
+ "pending": "Nuovo",
+ "processing": "In lavorazione",
+ "cancelled": "Annullato",
+ "shipped": "Spedito",
+ "delivered": "Consegnato",
+ "return": "Reso",
+ "partialReturn": "Reso parziale",
+ "partialDelivered": "Consegnato parzialmente"
}
},
"common": {
- "loading": "Caricamento...", // Loading...
- "error": "Errore", // Error
- "close": "Chiudi", // Close
- "save": "Salva", // Save
- "cancel": "Annulla", // Cancel
- "ok": "OK", // OK
- "yes": "Sì", // Yes
- "no": "No", // No
- "next": "Avanti", // Next
- "back": "Indietro", // Back
- "edit": "Modifica", // Edit
- "delete": "Elimina", // Delete
- "add": "Aggiungi", // Add
- "remove": "Rimuovi", // Remove
- "products": "Prodotti", // Products
- "product": "Prodotto" // Product
+ "loading": "Caricamento...",
+ "error": "Errore",
+ "close": "Chiudi",
+ "save": "Salva",
+ "cancel": "Annulla",
+ "ok": "OK",
+ "yes": "Sì",
+ "no": "No",
+ "next": "Avanti",
+ "back": "Indietro",
+ "edit": "Modifica",
+ "delete": "Elimina",
+ "add": "Aggiungi",
+ "remove": "Rimuovi",
+ "products": "Prodotti",
+ "product": "Prodotto"
}
-}
\ No newline at end of file
+};
diff --git a/src/i18n/locales/pl/translation.js b/src/i18n/locales/pl/translation.js
index 46fea6b..00844dd 100644
--- a/src/i18n/locales/pl/translation.js
+++ b/src/i18n/locales/pl/translation.js
@@ -1,98 +1,125 @@
export default {
+ "locale": {
+ "code": "pl-PL"
+ },
"navigation": {
"home": "Strona główna",
"aktionen": "Akcje",
- "filiale": "Sklep",
+ "filiale": "Oddział",
"categories": "Kategorie",
- "categoriesOpen": "Otwórz kategorie",
- "categoriesClose": "Zamknij kategorie"
+ "categoriesOpen": "Otwarte kategorie",
+ "categoriesClose": "Zamknij kategorie",
+ "otherCategories": "Inne kategorie"
},
"auth": {
"login": "Zaloguj się",
- "register": "Zarejestruj się",
+ "register": "Rejestracja",
"logout": "Wyloguj się",
"profile": "Profil",
- "email": "E-mail",
+ "email": "Email",
"password": "Hasło",
"confirmPassword": "Potwierdź hasło",
"forgotPassword": "Zapomniałeś hasła?",
- "loginWithGoogle": "Zaloguj się z Google",
+ "loginWithGoogle": "Zaloguj się przez Google",
"or": "LUB",
- "privacyAccept": "Klikając \"Zaloguj się z Google\" akceptuję",
- "privacyPolicy": "Politykę prywatności",
+ "privacyAccept": "Klikając \"Zaloguj się przez Google\", akceptuję",
+ "privacyPolicy": "Politykę Prywatności",
"passwordMinLength": "Hasło musi mieć co najmniej 8 znaków",
"newPasswordMinLength": "Nowe hasło musi mieć co najmniej 8 znaków",
"menu": {
"profile": "Profil",
- "checkout": "Finalizacja zamówienia",
+ "checkout": "Realizacja zamówienia",
"orders": "Zamówienia",
"settings": "Ustawienia",
- "adminDashboard": "Panel administracyjny",
+ "adminDashboard": "Panel administratora",
"adminUsers": "Użytkownicy administracyjni"
}
},
"cart": {
- "title": "Koszyk",
+ "title": "Koszyk zakupowy",
"empty": "pusty",
"addToCart": "Dodaj do koszyka",
- "preorderCutting": "Zamów sadzonkę z wyprzedzeniem",
+ "preorderCutting": "Pre-order jako cięcia",
"continueShopping": "Kontynuuj zakupy",
- "proceedToCheckout": "Przejdź do kasy",
+ "proceedToCheckout": "Przejdź do realizacji zamówienia",
+ "productCount": "{{count}} {{count, plural, one {produkt} other {produktów}}}",
+ "removeFromCart": "Usuń z koszyka",
+ "openCart": "Otwórz koszyk",
+ "availableFrom": "Od {{date}}",
+ "backToOrder": "← Powrót do zamówienia",
"sync": {
"title": "Synchronizacja koszyka",
- "description": "Masz zapisany koszyk na swoim koncie. Proszę wybierz, jak chcesz postępować:",
- "deleteServer": "Usuń koszyk z serwera",
- "useServer": "Użyj koszyka z serwera",
- "merge": "Połącz koszyki",
+ "description": "Masz zapisany koszyk na swoim koncie. Wybierz sposób kontynuacji:",
+ "deleteServer": "Usuń koszyk na serwerze",
+ "useServer": "Użyj koszyka na serwerze",
+ "merge": "Scal koszyki",
"currentCart": "Twój aktualny koszyk",
- "serverCart": "Koszyk zapisany w twoim profilu"
+ "serverCart": "Zapisany koszyk w profilu"
}
},
"product": {
- "loading": "Ładowanie produktu...",
+ "loading": "Wczytywanie produktu...",
"notFound": "Produkt nie znaleziony",
"notFoundDescription": "Szukany produkt nie istnieje lub został usunięty.",
"backToHome": "Powrót do strony głównej",
"error": "Błąd",
"articleNumber": "Numer artykułu",
"manufacturer": "Producent",
- "inclVat": "wliczając {{vat}}% VAT",
+ "inclVat": "w tym {{vat}}% VAT",
"priceUnit": "{{price}}/{{unit}}",
"new": "Nowy",
"arriving": "Przybycie:",
- "inclVatFooter": "wliczając {{vat}}% VAT,*",
+ "inclVatFooter": "w tym {{vat}}% VAT, *",
"availability": "Dostępność",
- "inStock": "na stanie",
+ "inStock": "Na stanie",
"comingSoon": "Wkrótce dostępny",
"deliveryTime": "Czas dostawy",
- "inclShort": "wlicz.",
- "vatShort": "VAT"
+ "inclShort": "w tym",
+ "vatShort": "VAT",
+ "countDisplay": {
+ "noProducts": "0 produktów",
+ "oneProduct": "1 produkt",
+ "multipleProducts": "{{count}} produktów",
+ "filteredProducts": "{{filtered}} z {{total}} produktów",
+ "filteredOneProduct": "{{filtered}} z 1 produktu"
+ },
+ "removeFiltersToSee": "Usuń filtry, aby zobaczyć produkty",
+ "outOfStock": "Brak na stanie",
+ "fromXProducts": "od {{count}} produktów"
},
"search": {
- "placeholder": "Możesz zapytać mnie o odmiany konopi...",
- "recording": "Nagrywanie w toku..."
+ "placeholder": "Możesz zapytać o szczepy konopi...",
+ "recording": "Nagrywanie...",
+ "searchProducts": "Szukaj produktów..."
+ },
+ "sorting": {
+ "name": "Nazwa",
+ "searchField": "Hasło wyszukiwania",
+ "priceLowHigh": "Cena: od najniższej",
+ "priceHighLow": "Cena: od najwyższej"
},
"chat": {
- "privacyRead": "Przeczytane i zaakceptowane"
+ "privacyRead": "Przeczytano i zaakceptowano"
},
"delivery": {
"methods": {
"dhl": "DHL",
"dpd": "DPD",
- "sperrgut": "Przesyłka gabatytowa",
+ "sperrgut": "Przedmioty ciężkie",
"pickup": "Odbiór w sklepie"
},
"descriptions": {
- "standard": "Dostawa standardowa",
- "standardFree": "Dostawa standardowa - BEZPŁATNA od 100€ wartości zamówienia!",
- "notAvailable": "niedostępne, ponieważ jeden lub więcej artykułów można tylko odebrać",
- "bulky": "Dla dużych i ciężkich artykułów"
+ "standard": "Standardowa wysyłka",
+ "standardFree": "Standardowa wysyłka - DARMOWA od wartości towarów 100 €!",
+ "notAvailable": "nie jest dostępne do wyboru, ponieważ jeden lub więcej produktów można odebrać tylko osobiście",
+ "bulky": "Na duże i ciężkie przedmioty"
},
"prices": {
- "free": "bezpłatne",
- "dhl": "6,99 €",
- "dpd": "4,90 €",
- "sperrgut": "28,99 €"
+ "free": "darmowa",
+ "freeFrom100": "(darmowa od 100 €)",
+ "dhl": "€6.99",
+ "dpd": "€4.90",
+ "sperrgut": "€28.99"
},
"times": {
"cutting14Days": "Czas dostawy: 14 dni",
@@ -101,21 +128,21 @@ export default {
}
},
"checkout": {
- "invoiceAddress": "Adres do faktury",
+ "invoiceAddress": "Adres rozliczeniowy",
"deliveryAddress": "Adres dostawy",
- "saveForFuture": "Zapisz dla przyszłych zamówień",
- "pickupDate": "Na który termin życzysz sobie odbiór sadzonek?",
- "note": "Uwaga",
- "sameAddress": "Adres dostawy jest identyczny z adresem do faktury",
- "termsAccept": "Przeczytałem regulamin, oświadczenie o ochronie danych i zasady prawa odstąpienia"
+ "saveForFuture": "Zapisz na przyszłość",
+ "pickupDate": "Na którą datę ma nastąpić odbiór cięć?",
+ "note": "Uwagi",
+ "sameAddress": "Adres dostawy jest taki sam jak adres rozliczeniowy",
+ "termsAccept": "Zapoznałem się z warunkami i akceptuję je"
},
"payment": {
"successful": "Płatność udana!",
- "failed": "Płatność nieudana",
- "orderCompleted": "🎉 Twoje zamówienie zostało pomyślnie złożone! Możesz teraz sprawdzić swoje zamówienia.",
- "orderProcessing": "Twoja płatność została pomyślnie przetworzona. Zamówienie zostanie automatycznie złożone.",
- "paymentError": "Twoja płatność nie mogła zostać przetworzona. Proszę spróbuj ponownie lub wybierz inny sposób płatności.",
- "viewOrders": "Do moich zamówień"
+ "failed": "Płatność nie powiodła się",
+ "orderCompleted": "🎉 Twoje zamówienie zostało pomyślnie złożone! Możesz teraz zobaczyć swoje zamówienia.",
+ "orderProcessing": "Twoja płatność została pomyślnie przetworzona. Zamówienie zostanie automatycznie zrealizowane.",
+ "paymentError": "Nie można przetworzyć płatności. Spróbuj ponownie lub wybierz inną metodę płatności.",
+ "viewOrders": "Zobacz moje zamówienia"
},
"filters": {
"sorting": "Sortowanie",
@@ -124,67 +151,67 @@ export default {
"manufacturer": "Producent"
},
"tax": {
- "vat": "Podatek od wartości dodanej",
+ "vat": "VAT",
"vat7": "7% VAT",
"vat19": "19% VAT",
- "vat19WithShipping": "19% VAT (wliczając dostawę)",
- "totalNet": "Cena całkowita netto",
- "totalGross": "Cena całkowita brutto bez dostawy",
- "subtotal": "Suma częściowa"
+ "vat19WithShipping": "19% VAT (w tym wysyłka)",
+ "totalNet": "Razem netto",
+ "totalGross": "Razem brutto bez wysyłki",
+ "subtotal": "Razem cz. kwotowa"
},
"footer": {
"hours": "Sob 11-19",
"address": "Trachenberger Straße 14 - Drezno",
- "location": "Między przystankiem Pieschen a Trachenberger Platz",
- "allPricesIncl": "* Wszystkie ceny zawierają ustawowy VAT, bez kosztów dostawy",
- "copyright": "© {{year}} GrowHeads.de",
+ "location": "Między przystankiem Pieschen a Placem Trachenberger",
+ "allPricesIncl": "* Wszystkie ceny zawierają ustawowe VAT, plus wysyłka",
+ "copyright": "© {{year}} GrowHeads.pl",
"legal": {
- "datenschutz": "Ochrona danych",
+ "datenschutz": "Polityka Prywatności",
"agb": "Regulamin",
"sitemap": "Mapa strony",
- "impressum": "Informacje prawne",
- "batteriegesetzhinweise": "Informacje o ustawie o bateriach",
- "widerrufsrecht": "Prawo odstąpienia"
+ "impressum": "Impressum",
+ "batteriegesetzhinweise": "Informacje o przepisach dotyczących baterii",
+ "widerrufsrecht": "Prawo do odstąpienia od umowy"
}
},
"titles": {
- "home": "Nasiona i sadzonki konopi",
- "aktionen": "Aktualne akcje i oferty",
- "filiale": "Nasz sklep w Dreźnie"
+ "home": "nasiona anabis i uttings",
+ "aktionen": "czasowe ktionen i gody",
+ "filiale": "ur iliale we resden"
},
"sections": {
"seeds": "Nasiona",
- "stecklinge": "Sadzonki",
- "oilPress": "Wypożycz prasę do oleju",
+ "stecklinge": "Cięcia",
+ "oilPress": "Wypożyczenie prasy do oleju",
"thcTest": "Test THC",
"address1": "Trachenberger Straße 14",
"address2": "01129 Drezno"
},
"pages": {
"oilPress": {
- "title": "Wypożycz prasę do oleju",
- "comingSoon": "Treść wkrótce..."
+ "title": "Wypożyczenie prasy do oleju",
+ "comingSoon": "Wkrótce dostępne..."
},
"thcTest": {
"title": "Test THC",
- "comingSoon": "Treść wkrótce..."
+ "comingSoon": "Wkrótce dostępne..."
}
},
"orders": {
"status": {
- "new": "w trakcie realizacji",
- "pending": "Nowy",
- "processing": "w trakcie realizacji",
- "cancelled": "Anulowany",
- "shipped": "Wysłany",
- "delivered": "Dostarczony",
+ "new": "W trakcie realizacji",
+ "pending": "Nowe",
+ "processing": "W trakcie realizacji",
+ "cancelled": "Anulowane",
+ "shipped": "Wysłane",
+ "delivered": "Dostarczone",
"return": "Zwrot",
- "partialReturn": "Zwrot częściowy",
- "partialDelivered": "Częściowo dostarczony"
+ "partialReturn": "Częściowy zwrot",
+ "partialDelivered": "Częściowo dostarczone"
}
},
"common": {
- "loading": "Ładowanie...",
+ "loading": "Wczytywanie...",
"error": "Błąd",
"close": "Zamknij",
"save": "Zapisz",
@@ -201,4 +228,4 @@ export default {
"products": "Produkty",
"product": "Produkt"
}
-}
\ No newline at end of file
+};
diff --git a/src/i18n/locales/ro/translation.js b/src/i18n/locales/ro/translation.js
index 4237c43..7ff3fb5 100644
--- a/src/i18n/locales/ro/translation.js
+++ b/src/i18n/locales/ro/translation.js
@@ -1,204 +1,231 @@
- export default {
- "navigation": {
- "home": "Acasă",
- "aktionen": "Acțiuni",
- "filiale": "Filială",
- "categories": "Categorii",
- "categoriesOpen": "Deschide categorii",
- "categoriesClose": "Închide categorii"
- },
- "auth": {
- "login": "Autentificare",
- "register": "Înregistrare",
- "logout": "Deconectare",
+export default {
+ "locale": {
+ "code": "ro-RO"
+ },
+ "navigation": {
+ "home": "Acasă",
+ "aktionen": "Acțiuni",
+ "filiale": "Filială",
+ "categories": " Categorii",
+ "categoriesOpen": "Categorii deschise",
+ "categoriesClose": "Închide categorii",
+ "otherCategories": "Alte categorii"
+ },
+ "auth": {
+ "login": "Autentificare",
+ "register": "Înregistrează-te",
+ "logout": "Deconectare",
+ "profile": "Profil",
+ "email": "Email",
+ "password": "Parolă",
+ "confirmPassword": "Confirmă parola",
+ "forgotPassword": "Ai uitat parola?",
+ "loginWithGoogle": "Autentificare cu Google",
+ "or": "SAU",
+ "privacyAccept": "Prin clic pe „Autentificare cu Google”, accept termenii și condițiile",
+ "privacyPolicy": "Politica de confidențialitate",
+ "passwordMinLength": "Parola trebuie să aibă cel puțin 8 caractere",
+ "newPasswordMinLength": "Noua parolă trebuie să aibă cel puțin 8 caractere",
+ "menu": {
"profile": "Profil",
- "email": "E-mail",
- "password": "Parolă",
- "confirmPassword": "Confirmă parola",
- "forgotPassword": "Parolă uitată?",
- "loginWithGoogle": "Autentificare cu Google",
- "or": "SAU",
- "privacyAccept": "Prin click pe \"Autentificare cu Google\" accept",
- "privacyPolicy": "Politica de confidențialitate",
- "passwordMinLength": "Parola trebuie să aibă cel puțin 8 caractere",
- "newPasswordMinLength": "Parola nouă trebuie să aibă cel puțin 8 caractere",
- "menu": {
- "profile": "Profil",
- "checkout": "Finalizare comandă",
- "orders": "Comenzi",
- "settings": "Setări",
- "adminDashboard": "Panou Admin",
- "adminUsers": "Utilizatori Admin"
- }
- },
- "cart": {
- "title": "Coș de cumpărături",
- "empty": "gol",
- "addToCart": "Adaugă în coș",
- "preorderCutting": "Precomandă ca butaș",
- "continueShopping": "Continuă cumpărăturile",
- "proceedToCheckout": "Continuă la casă",
- "sync": {
- "title": "Sincronizarea coșului",
- "description": "Aveți un coș salvat în contul dvs. Vă rugăm să alegeți cum doriți să procedați:",
- "deleteServer": "Șterge coșul de pe server",
- "useServer": "Folosește coșul de pe server",
- "merge": "Combină coșurile",
- "currentCart": "Coșul dvs. actual",
- "serverCart": "Coșul salvat în profilul dvs."
- }
- },
- "product": {
- "loading": "Se încarcă produsul...",
- "notFound": "Produsul nu a fost găsit",
- "notFoundDescription": "Produsul căutat nu există sau a fost eliminat.",
- "backToHome": "Înapoi la pagina principală",
- "error": "Eroare",
- "articleNumber": "Numărul articolului",
- "manufacturer": "Producător",
- "inclVat": "incl. {{vat}}% TVA",
- "priceUnit": "{{price}}/{{unit}}",
- "new": "Nou",
- "arriving": "Sosire:",
- "inclVatFooter": "incl. {{vat}}% TVA,*",
- "availability": "Disponibilitate",
- "inStock": "în stoc",
- "comingSoon": "Disponibil în curând",
- "deliveryTime": "Timp de livrare",
- "inclShort": "incl.",
- "vatShort": "TVA"
- },
- "search": {
- "placeholder": "Poți să mă întrebi despre soiuri de cannabis...",
- "recording": "Înregistrare în curs..."
- },
- "chat": {
- "privacyRead": "Citit și acceptat"
- },
- "delivery": {
- "methods": {
- "dhl": "DHL",
- "dpd": "DPD",
- "sperrgut": "Marfă voluminoasă",
- "pickup": "Ridicare din filială"
- },
- "descriptions": {
- "standard": "Livrare standard",
- "standardFree": "Livrare standard - GRATUITĂ pentru comenzi peste 100€!",
- "notAvailable": "indisponibil deoarece unul sau mai multe articole pot fi doar ridicate",
- "bulky": "Pentru articole mari și grele"
- },
- "prices": {
- "free": "gratuit",
- "dhl": "6,99 €",
- "dpd": "4,90 €",
- "sperrgut": "28,99 €"
- },
- "times": {
- "cutting14Days": "Timp de livrare: 14 zile",
- "standard2to3Days": "Timp de livrare: 2-3 zile",
- "supplier7to9Days": "Timp de livrare: 7-9 zile"
- }
- },
- "checkout": {
- "invoiceAddress": "Adresa de facturare",
- "deliveryAddress": "Adresa de livrare",
- "saveForFuture": "Salvează pentru comenzi viitoare",
- "pickupDate": "Pentru ce dată este dorită ridicarea butașilor?",
- "note": "Observație",
- "sameAddress": "Adresa de livrare este identică cu adresa de facturare",
- "termsAccept": "Am citit Termenii și condițiile, Politica de confidențialitate și Dreptul de revocare"
- },
- "payment": {
- "successful": "Plata reușită!",
- "failed": "Plata eșuată",
- "orderCompleted": "🎉 Comanda dvs. a fost finalizată cu succes! Puteți vedea acum comenzile dvs.",
- "orderProcessing": "Plata dvs. a fost procesată cu succes. Comanda va fi finalizată automat.",
- "paymentError": "Plata dvs. nu a putut fi procesată. Vă rugăm să încercați din nou sau să alegeți o altă metodă de plată.",
- "viewOrders": "Către comenzile mele"
- },
- "filters": {
- "sorting": "Sortare",
- "perPage": "pe pagină",
- "availability": "Disponibilitate",
- "manufacturer": "Producător"
- },
- "tax": {
- "vat": "Taxa pe valoarea adăugată",
- "vat7": "7% TVA",
- "vat19": "19% TVA",
- "vat19WithShipping": "19% TVA (incl. transport)",
- "totalNet": "Preț total net",
- "totalGross": "Preț total brut fără transport",
- "subtotal": "Subtotal"
- },
- "footer": {
- "hours": "Sâ 11-19",
- "address": "Trachenberger Straße 14 - Dresden",
- "location": "Între stația Pieschen și Trachenberger Platz",
- "allPricesIncl": "* Toate prețurile includ TVA legală, plus transport",
- "copyright": "© {{year}} GrowHeads.de",
- "legal": {
- "datenschutz": "Confidențialitate",
- "agb": "Termeni și condiții",
- "sitemap": "Hartă site",
- "impressum": "Impresii",
- "batteriegesetzhinweise": "Informații legea bateriilor",
- "widerrufsrecht": "Dreptul de revocare"
- }
- },
- "titles": {
- "home": "Semințe și butași de cannabis",
- "aktionen": "Acțiuni și oferte actuale",
- "filiale": "Filiala noastră din Dresden"
- },
- "sections": {
- "seeds": "Semințe",
- "stecklinge": "Butași",
- "oilPress": "Închiriere presă ulei",
- "thcTest": "Test THC",
- "address1": "Trachenberger Straße 14",
- "address2": "01129 Dresden"
- },
- "pages": {
- "oilPress": {
- "title": "Închiriere presă ulei",
- "comingSoon": "Conținutul va veni în curând..."
- },
- "thcTest": {
- "title": "Test THC",
- "comingSoon": "Conținutul va veni în curând..."
- }
- },
- "orders": {
- "status": {
- "new": "în procesare",
- "pending": "Nou",
- "processing": "în procesare",
- "cancelled": "Anulat",
- "shipped": "Expediat",
- "delivered": "Livrat",
- "return": "Retur",
- "partialReturn": "Retur parțial",
- "partialDelivered": "Livrat parțial"
- }
- },
- "common": {
- "loading": "Se încarcă...",
- "error": "Eroare",
- "close": "Închide",
- "save": "Salvează",
- "cancel": "Anulează",
- "ok": "OK",
- "yes": "Da",
- "no": "Nu",
- "next": "Următorul",
- "back": "Înapoi",
- "edit": "Editează",
- "delete": "Șterge",
- "add": "Adaugă",
- "remove": "Elimină",
- "products": "Produse",
- "product": "Produs"
+ "checkout": "Finalizare comandă",
+ "orders": "Comenzi",
+ "settings": "Setări",
+ "adminDashboard": "Panou administrativ",
+ "adminUsers": "Utilizatori admin"
}
+ },
+ "cart": {
+ "title": "Meniu de cumpărături",
+ "empty": "gol",
+ "addToCart": "Adaugă în coș",
+ "preorderCutting": "Precomandă ca tăieturi",
+ "continueShopping": "Continuă cumpărăturile",
+ "proceedToCheckout": "Continuă la finalizare",
+ "productCount": "{{count}} {{count, plural, one {produs} other {produse}}}",
+ "removeFromCart": "Scoate din coș",
+ "openCart": "Deschide coșul",
+ "availableFrom": "Din {{date}}",
+ "backToOrder": "← Înapoi la comandă",
+ "sync": {
+ "title": "Sinteza coșului",
+ "description": "Ai un coș salvat în cont. Te rog să alegi cum să proceedi:",
+ "deleteServer": "Șterge coșul de pe server",
+ "useServer": "Folosește coșul de pe server",
+ "merge": "Unește coșurile",
+ "currentCart": "Coșul tău actual",
+ "serverCart": "Coș salvat în profil"
+ }
+ },
+ "product": {
+ "loading": "Se încarcă produsul...",
+ "notFound": "Produsul nu a fost găsit",
+ "notFoundDescription": "Produsul căutat nu există sau a fost eliminat.",
+ "backToHome": "Înapoi la pagina principală",
+ "error": "Eroare",
+ "articleNumber": "Număr articol",
+ "manufacturer": "Producător",
+ "inclVat": "inclusiv {{vat}}% TVA",
+ "priceUnit": "{{price}}/{{unit}}",
+ "new": "Nou",
+ "arriving": "Sosit:",
+ "inclVatFooter": "inclusiv {{vat}}% TVA, *",
+ "availability": "Disponibilitate",
+ "inStock": "În stoc",
+ "comingSoon": "În curând",
+ "deliveryTime": "Timp de livrare",
+ "inclShort": "incl.",
+ "vatShort": "TVA",
+ "countDisplay": {
+ "noProducts": "0 produse",
+ "oneProduct": "1 produs",
+ "multipleProducts": "{{count}} produse",
+ "filteredProducts": "{{filtered}} din {{total}} produse",
+ "filteredOneProduct": "{{filtered}} din 1 produs"
+ },
+ "removeFiltersToSee": "Elimină filtrele pentru a vedea produsele",
+ "outOfStock": "Stoc epuizat",
+ "fromXProducts": "de la {{count}} produse"
+ },
+ "search": {
+ "placeholder": "Îmi poți întreba despre soiuri de cannabis...",
+ "recording": "Se înregistrează...",
+ "searchProducts": "Caută produse..."
+ },
+ "sorting": {
+ "name": "Nume",
+ "searchField": "Termen de căutare",
+ "priceLowHigh": "Preț: de la mic la mare",
+ "priceHighLow": "Preț: de la mare la mic"
+ },
+ "chat": {
+ "privacyRead": "Citit & Acceptat"
+ },
+ "delivery": {
+ "methods": {
+ "dhl": "DHL",
+ "dpd": "DPD",
+ "sperrgut": "Marfă voluminoasă",
+ "pickup": "Ridicare din magazin"
+ },
+ "descriptions": {
+ "standard": "Livrare standard",
+ "standardFree": "Livrare standard - GRATUIT pentru comenzi de peste €100!",
+ "notAvailable": "neselectabil deoarece unul sau mai multe articole pot fi ridicate numai personal",
+ "bulky": "Pentru articole mari și grele"
+ },
+ "prices": {
+ "free": "gratuit",
+ "freeFrom100": "(gratuit pentru peste €100)",
+ "dhl": "€6.99",
+ "dpd": "€4.90",
+ "sperrgut": "€28.99"
+ },
+ "times": {
+ "cutting14Days": "Timp de livrare: 14 zile",
+ "standard2to3Days": "Timp de livrare: 2-3 zile",
+ "supplier7to9Days": "Timp de livrare: 7-9 zile"
+ }
+ },
+ "checkout": {
+ "invoiceAddress": "Adresa de facturare",
+ "deliveryAddress": "Adresa de livrare",
+ "saveForFuture": "Salvează pentru comenzi viitoare",
+ "pickupDate": "Pentru ce dată se dorește ridicarea tăieturilor?",
+ "note": "Notă",
+ "sameAddress": "Adresa de livrare este aceeași cu adresa de facturare",
+ "termsAccept": "Am citit termenii și condițiile, politica de confidențialitate și politica de anulare"
+ },
+ "payment": {
+ "successful": "Plată reușită!",
+ "failed": "Plata a eșuat",
+ "orderCompleted": "🎉 Comanda ta a fost finalizată cu succes! Poți vizualiza comenzile.",
+ "orderProcessing": "Plata ta a fost procesată cu succes. Comanda se va finaliza automat.",
+ "paymentError": "Plata nu a putut fi procesată. Te rugăm să încerci din nou sau să alegi o altă metodă de plată.",
+ "viewOrders": "Vezi comenzile mele"
+ },
+ "filters": {
+ "sorting": "Sortare",
+ "perPage": "pe pagină",
+ "availability": "Disponibilitate",
+ "manufacturer": "Producător"
+ },
+ "tax": {
+ "vat": "TVA",
+ "vat7": "7% TVA",
+ "vat19": "19% TVA",
+ "vat19WithShipping": "19% TVA (incl. livrare)",
+ "totalNet": "Preț total net",
+ "totalGross": "Preț total brut fără livrare",
+ "subtotal": "Subtotal"
+ },
+ "footer": {
+ "hours": "SÂmbătă 11-19",
+ "address": "Trachenberger Straße 14 - Dresden",
+ "location": "Între stația Pieschen și piața Trachenberger",
+ "allPricesIncl": "* Toate prețurile includ TVA legal, plus livrare",
+ "copyright": "© {{year}} GrowHeads.de",
+ "legal": {
+ "datenschutz": "Politica de confidențialitate",
+ "agb": "Termeni și condiții",
+ "sitemap": "Hartă site",
+ "impressum": "Impressum",
+ "batteriegesetzhinweise": "Notificări privind reglementările bateriilor",
+ "widerrufsrecht": "Drept de retragere"
+ }
+ },
+ "titles": {
+ "home": "ine anabis eeds & uttings",
+ "aktionen": "tuelle ktionen & gebote",
+ "filiale": "ur iliale in resden"
+ },
+ "sections": {
+ "seeds": "Semințe",
+ "stecklinge": "Tăieturi",
+ "oilPress": "Închiriere presă de ulei",
+ "thcTest": "Test THC",
+ "address1": "Trachenberger Straße 14",
+ "address2": "01129 Dresden"
+ },
+ "pages": {
+ "oilPress": {
+ "title": "Închiriere presă de ulei",
+ "comingSoon": "Conținutul va fi disponibil în curând..."
+ },
+ "thcTest": {
+ "title": "Test THC",
+ "comingSoon": "Conținutul va fi disponibil în curând..."
+ }
+ },
+ "orders": {
+ "status": {
+ "new": "În curs",
+ "pending": "Nouă",
+ "processing": "În procesare",
+ "cancelled": "Anulată",
+ "shipped": "Expediată",
+ "delivered": "Livrată",
+ "return": "Retur",
+ "partialReturn": "Retur parțial",
+ "partialDelivered": "Parțial livrat"
+ }
+ },
+ "common": {
+ "loading": "Se încarcă...",
+ "error": "Eroare",
+ "close": "Închide",
+ "save": "Salvează",
+ "cancel": "Anulează",
+ "ok": "OK",
+ "yes": "Da",
+ "no": "Nu",
+ "next": "Următorul",
+ "back": "Înapoi",
+ "edit": "Editează",
+ "delete": "Șterge",
+ "add": "Adaugă",
+ "remove": "Elimină",
+ "products": "Produse",
+ "product": "Produs"
}
+};
diff --git a/src/i18n/locales/ru/translation.js b/src/i18n/locales/ru/translation.js
index e43958d..e8c7071 100644
--- a/src/i18n/locales/ru/translation.js
+++ b/src/i18n/locales/ru/translation.js
@@ -1,186 +1,213 @@
export default {
+ "locale": {
+ "code": "ru-RU"
+ },
"navigation": {
"home": "Главная",
"aktionen": "Акции",
"filiale": "Филиал",
"categories": "Категории",
- "categoriesOpen": "Открыть категории",
- "categoriesClose": "Закрыть категории"
+ "categoriesOpen": "Открытые категории",
+ "categoriesClose": "Закрыть категории",
+ "otherCategories": "Другие категории"
},
"auth": {
- "login": "Вход",
+ "login": "Войти",
"register": "Регистрация",
"logout": "Выход",
"profile": "Профиль",
- "email": "Эл. почта",
+ "email": "Электронная почта",
"password": "Пароль",
"confirmPassword": "Подтвердите пароль",
"forgotPassword": "Забыли пароль?",
"loginWithGoogle": "Войти через Google",
"or": "ИЛИ",
"privacyAccept": "Нажимая \"Войти через Google\", я принимаю",
- "privacyPolicy": "Политику конфиденциальности",
- "passwordMinLength": "Пароль должен содержать минимум 8 символов",
- "newPasswordMinLength": "Новый пароль должен содержать минимум 8 символов",
+ "privacyPolicy": "Политика конфиденциальности",
+ "passwordMinLength": "Пароль должен содержать не менее 8 символов",
+ "newPasswordMinLength": "Новый пароль должен содержать не менее 8 символов",
"menu": {
"profile": "Профиль",
"checkout": "Оформление заказа",
"orders": "Заказы",
"settings": "Настройки",
- "adminDashboard": "Панель администратора",
- "adminUsers": "Администраторы"
+ "adminDashboard": "Административная панель",
+ "adminUsers": "Админ пользователи"
}
},
"cart": {
"title": "Корзина",
- "empty": "пуста",
- "addToCart": "В корзину",
- "preorderCutting": "Предзаказ черенка",
+ "empty": "пусто",
+ "addToCart": "Добавить в корзину",
+ "preorderCutting": "Предварительный заказ как черенки",
"continueShopping": "Продолжить покупки",
"proceedToCheckout": "Перейти к оформлению",
+ "productCount": "{{count}} {{count, plural, one {товар} other {товаров}}}",
+ "removeFromCart": "Удалить из корзины",
+ "openCart": "Открыть корзину",
+ "availableFrom": "От {{date}}",
+ "backToOrder": "← Назад к заказу",
"sync": {
"title": "Синхронизация корзины",
- "description": "У вас есть сохраненная корзина в вашем аккаунте. Пожалуйста, выберите, как вы хотите действовать:",
- "deleteServer": "Удалить корзину с сервера",
- "useServer": "Использовать корзину с сервера",
+ "description": "У вас сохранена корзина в аккаунте. Пожалуйста, выберите способ продолжения:",
+ "deleteServer": "Удалить корзину на сервере",
+ "useServer": "Использовать корзину сервера",
"merge": "Объединить корзины",
"currentCart": "Ваша текущая корзина",
- "serverCart": "Корзина, сохраненная в вашем профиле"
+ "serverCart": "Сохраненная корзина в профиле"
}
},
"product": {
- "loading": "Загружается товар...",
- "notFound": "Товар не найден",
- "notFoundDescription": "Искомый товар не существует или был удален.",
+ "loading": "Загрузка продукта...",
+ "notFound": "Продукт не найден",
+ "notFoundDescription": "Искомый продукт не существует или был удален.",
"backToHome": "Вернуться на главную",
"error": "Ошибка",
"articleNumber": "Артикул",
"manufacturer": "Производитель",
- "inclVat": "вкл. {{vat}}% НДС",
+ "inclVat": "с учетом {{vat}}% НДС",
"priceUnit": "{{price}}/{{unit}}",
- "new": "Новинка",
- "arriving": "Прибытие:",
- "inclVatFooter": "вкл. {{vat}}% НДС,*",
+ "new": "Новый",
+ "arriving": "Поступление:",
+ "inclVatFooter": "с учетом {{vat}}% НДС, *",
"availability": "Наличие",
- "inStock": "в наличии",
- "comingSoon": "Скоро в наличии",
+ "inStock": "В наличии",
+ "comingSoon": "Скоро в продаже",
"deliveryTime": "Время доставки",
"inclShort": "вкл.",
- "vatShort": "НДС"
+ "vatShort": "НДС",
+ "countDisplay": {
+ "noProducts": "0 товаров",
+ "oneProduct": "1 товар",
+ "multipleProducts": "{{count}} товаров",
+ "filteredProducts": "{{filtered}} из {{total}} товаров",
+ "filteredOneProduct": "{{filtered}} из 1 товара"
+ },
+ "removeFiltersToSee": "Снимите фильтры, чтобы увидеть товары",
+ "outOfStock": "Нет в наличии",
+ "fromXProducts": "от {{count}} товаров"
},
"search": {
"placeholder": "Вы можете спросить меня о сортах каннабиса...",
- "recording": "Идет запись..."
+ "recording": "Запись...",
+ "searchProducts": "Искать товары..."
+ },
+ "sorting": {
+ "name": "Имя",
+ "searchField": "Поиск по запросу",
+ "priceLowHigh": "Цена: низкая к высокой",
+ "priceHighLow": "Цена: высокая к низкой"
},
"chat": {
- "privacyRead": "Прочитано и принято"
+ "privacyRead": "Прочитано & Принято"
},
"delivery": {
"methods": {
"dhl": "DHL",
"dpd": "DPD",
- "sperrgut": "Крупногабаритный груз",
- "pickup": "Самовывоз из филиала"
+ "sperrgut": "Грузы крупногабаритные",
+ "pickup": "Самовывоз в магазине"
},
"descriptions": {
"standard": "Стандартная доставка",
- "standardFree": "Стандартная доставка - БЕСПЛАТНО от 100€!",
- "notAvailable": "недоступно, так как один или несколько товаров можно только забрать",
- "bulky": "Для больших и тяжелых товаров"
+ "standardFree": "Стандартная доставка - бесплатно при заказе на сумму от €100!",
+ "notAvailable": "недоступен, так как один или несколько товаров можно забрать только самостоятельно",
+ "bulky": "Для крупных и тяжелых товаров"
},
"prices": {
"free": "бесплатно",
- "dhl": "6,99 €",
- "dpd": "4,90 €",
- "sperrgut": "28,99 €"
+ "freeFrom100": "(бесплатно при заказе от €100)",
+ "dhl": "€6.99",
+ "dpd": "€4.90",
+ "sperrgut": "€28.99"
},
"times": {
- "cutting14Days": "Время доставки: 14 дней",
- "standard2to3Days": "Время доставки: 2-3 дня",
- "supplier7to9Days": "Время доставки: 7-9 дней"
+ "cutting14Days": "Срок доставки: 14 дней",
+ "standard2to3Days": "Срок доставки: 2-3 дня",
+ "supplier7to9Days": "Срок доставки: 7-9 дней"
}
},
"checkout": {
- "invoiceAddress": "Адрес для счета",
+ "invoiceAddress": "Платежный адрес",
"deliveryAddress": "Адрес доставки",
- "saveForFuture": "Сохранить для будущих заказов",
- "pickupDate": "На какую дату желаете забрать черенки?",
- "note": "Примечание",
- "sameAddress": "Адрес доставки совпадает с адресом для счета",
- "termsAccept": "Я прочитал Условия использования, Политику конфиденциальности и Право отказа"
+ "saveForFuture": "Сохранять для будущих заказов",
+ "pickupDate": "На какую дату предполагается забор черенков?",
+ "note": "Заметка",
+ "sameAddress": "Адрес доставки совпадает с платежным адресом",
+ "termsAccept": "Я ознакомлен(а) с условиями, политикой конфиденциальности и правилом о расторжении"
},
"payment": {
"successful": "Оплата прошла успешно!",
- "failed": "Оплата не удалась",
- "orderCompleted": "🎉 Ваш заказ успешно оформлен! Теперь вы можете просмотреть свои заказы.",
- "orderProcessing": "Ваш платеж успешно обработан. Заказ будет автоматически завершен.",
- "paymentError": "Ваш платеж не удалось обработать. Пожалуйста, попробуйте снова или выберите другой способ оплаты.",
- "viewOrders": "К моим заказам"
+ "failed": "Ошибка оплаты",
+ "orderCompleted": "🎉 Ваш заказ успешно оформлен! Теперь вы можете просматривать свои заказы.",
+ "orderProcessing": "Ваш платеж был успешно обработан. Заказ будет автоматически завершен.",
+ "paymentError": "Не удалось обработать платеж. Попробуйте еще раз или выберите другой способ оплаты.",
+ "viewOrders": "Мои заказы"
},
"filters": {
"sorting": "Сортировка",
- "perPage": "на странице",
+ "perPage": "на страницу",
"availability": "Наличие",
"manufacturer": "Производитель"
},
"tax": {
- "vat": "Налог на добавленную стоимость",
+ "vat": "НДС",
"vat7": "7% НДС",
"vat19": "19% НДС",
"vat19WithShipping": "19% НДС (вкл. доставку)",
- "totalNet": "Общая чистая цена",
- "totalGross": "Общая цена брутто без доставки",
- "subtotal": "Промежуточная сумма"
+ "totalNet": "Общая цена без НДС",
+ "totalGross": "Общая цена с НДС без доставки",
+ "subtotal": "Промежуточный итог"
},
"footer": {
"hours": "Сб 11-19",
- "address": "Trachenberger Straße 14 - Dresden",
- "location": "Между остановкой Pieschen и Trachenberger Platz",
- "allPricesIncl": "* Все цены включают законный НДС, плюс доставка",
+ "address": "Trachenberger Straße 14 - Дрезден",
+ "location": "Между остановкой Pieschen и площадью Trachtenberger",
+ "allPricesIncl": "* Все цены включают установленный НДС, плюс доставку",
"copyright": "© {{year}} GrowHeads.de",
"legal": {
- "datenschutz": "Конфиденциальность",
- "agb": "Условия использования",
+ "datenschutz": "Политика конфиденциальности",
+ "agb": "Условия и положения",
"sitemap": "Карта сайта",
- "impressum": "Выходные данные",
- "batteriegesetzhinweise": "Информация о законе о батареях",
- "widerrufsrecht": "Право отказа"
+ "impressum": "Иммеспум",
+ "batteriegesetzhinweise": "Уведомления о регулировании батарей",
+ "widerrufsrecht": "Право отказаться"
}
},
"titles": {
- "home": "Семена и черенки каннабиса",
- "aktionen": "Актуальные акции и предложения",
- "filiale": "Наш филиал в Дрездене"
+ "home": "ine anabis eeds & uttings",
+ "aktionen": "tuelle ktionen & gebote",
+ "filiale": "ur iliale in resden"
},
"sections": {
"seeds": "Семена",
"stecklinge": "Черенки",
- "oilPress": "Аренда маслопресса",
- "thcTest": "Тест на ТГК",
+ "oilPress": "Аренда масляного пресса",
+ "thcTest": "Тест на THC",
"address1": "Trachenberger Straße 14",
- "address2": "01129 Dresden"
+ "address2": "01129 Дрезден"
},
"pages": {
"oilPress": {
- "title": "Аренда маслопресса",
- "comingSoon": "Содержимое скоро появится..."
+ "title": "Аренда масляного пресса",
+ "comingSoon": "Скоро содержание..."
},
"thcTest": {
- "title": "Тест на ТГК",
- "comingSoon": "Содержимое скоро появится..."
+ "title": "Тест на THC",
+ "comingSoon": "Скоро содержание..."
}
},
"orders": {
"status": {
- "new": "в обработке",
+ "new": "В обработке",
"pending": "Новый",
- "processing": "в обработке",
+ "processing": "В процессе",
"cancelled": "Отменен",
"shipped": "Отправлен",
"delivered": "Доставлен",
"return": "Возврат",
"partialReturn": "Частичный возврат",
- "partialDelivered": "Частично доставлен"
+ "partialDelivered": "Частичная доставка"
}
},
"common": {
@@ -188,8 +215,8 @@ export default {
"error": "Ошибка",
"close": "Закрыть",
"save": "Сохранить",
- "cancel": "Отменить",
- "ok": "OK",
+ "cancel": "Отмена",
+ "ok": "ОК",
"yes": "Да",
"no": "Нет",
"next": "Далее",
@@ -197,8 +224,8 @@ export default {
"edit": "Редактировать",
"delete": "Удалить",
"add": "Добавить",
- "remove": "Убрать",
+ "remove": "Удалить",
"products": "Товары",
"product": "Товар"
}
-}
\ No newline at end of file
+};
diff --git a/src/i18n/locales/sk/translation.js b/src/i18n/locales/sk/translation.js
index a17267b..3170cea 100644
--- a/src/i18n/locales/sk/translation.js
+++ b/src/i18n/locales/sk/translation.js
@@ -1,185 +1,212 @@
export default {
+ "locale": {
+ "code": "sk-SK"
+ },
"navigation": {
"home": "Domov",
"aktionen": "Akcie",
"filiale": "Pobočka",
"categories": "Kategórie",
"categoriesOpen": "Otvoriť kategórie",
- "categoriesClose": "Zatvoriť kategórie"
+ "categoriesClose": "Zatvoriť kategórie",
+ "otherCategories": "Iné kategórie"
},
"auth": {
"login": "Prihlásiť sa",
- "register": "Registrovať sa",
+ "register": "Zaregistrovať sa",
"logout": "Odhlásiť sa",
"profile": "Profil",
- "email": "E-mail",
+ "email": "Email",
"password": "Heslo",
"confirmPassword": "Potvrdiť heslo",
- "forgotPassword": "Zabudli ste heslo?",
- "loginWithGoogle": "Prihlásiť sa s Google",
- "or": "ALEBO",
- "privacyAccept": "Kliknutím na \"Prihlásiť sa s Google\" súhlasím s",
- "privacyPolicy": "Pravidlami ochrany súkromia",
- "passwordMinLength": "Heslo musí mať aspoň 8 znakov",
- "newPasswordMinLength": "Nové heslo musí mať aspoň 8 znakov",
+ "forgotPassword": " Zabudli ste heslo?",
+ "loginWithGoogle": "Prihlásiť sa cez Google",
+ "or": "ALebo",
+ "privacyAccept": "Kliknutím na \"Prihlásiť sa cez Google\" súhlasím s",
+ "privacyPolicy": "Zásadami ochrany osobných údajov",
+ "passwordMinLength": "Heslo musí mať najmenej 8 znakov",
+ "newPasswordMinLength": "Nové heslo musí mať najmenej 8 znakov",
"menu": {
"profile": "Profil",
- "checkout": "Dokončenie objednávky",
+ "checkout": "Pokladňa",
"orders": "Objednávky",
"settings": "Nastavenia",
- "adminDashboard": "Admin Dashboard",
- "adminUsers": "Admin používatelia"
+ "adminDashboard": "Administrátorský panel",
+ "adminUsers": "Administrátori"
}
},
"cart": {
"title": "Nákupný košík",
"empty": "prázdny",
- "addToCart": "Do košíka",
- "preorderCutting": "Predobjednať ako sadbu",
- "continueShopping": "Pokračovať v nákupe",
- "proceedToCheckout": "Pokračovať k pokladni",
+ "addToCart": "Pridať do košíka",
+ "preorderCutting": "Predobjednávka ako rezanky",
+ "continueShopping": "Pokračovať v nakupovaní",
+ "proceedToCheckout": "Prejsť ku pokladni",
+ "productCount": "{{count}} {{count, plural, one {produkt} other {produkty}}}",
+ "removeFromCart": "Odstrániť z košíka",
+ "openCart": "Otvoriť košík",
+ "availableFrom": "Od {{date}}",
+ "backToOrder": "← Späť na objednávku",
"sync": {
"title": "Synchronizácia košíka",
- "description": "Máte uložený košík vo vašom účte. Prosím vyberte, ako chcete pokračovať:",
- "deleteServer": "Vymazať košík na serveri",
- "useServer": "Prevziať košík zo servera",
- "merge": "Spojiť košíky",
+ "description": "Vo vašom účte máte uložený košík. Vyberte spôsob pokračovania:",
+ "deleteServer": "Vymazať serverový košík",
+ "useServer": "Použiť serverový košík",
+ "merge": "Zlúčiť košíky",
"currentCart": "Váš aktuálny košík",
- "serverCart": "Košík uložený vo vašom profile"
+ "serverCart": "Uložený košík vo vašom profile"
}
},
"product": {
- "loading": "Produkt sa načítava...",
- "notFound": "Produkt sa nenašiel",
+ "loading": "Načítava sa produkt...",
+ "notFound": "Produkt nenájdený",
"notFoundDescription": "Hľadaný produkt neexistuje alebo bol odstránený.",
- "backToHome": "Späť na domovskú stránku",
+ "backToHome": "Späť na hlavnú stránku",
"error": "Chyba",
- "articleNumber": "Číslo článku",
+ "articleNumber": "Číslo produktu",
"manufacturer": "Výrobca",
"inclVat": "vrátane {{vat}}% DPH",
"priceUnit": "{{price}}/{{unit}}",
- "new": "Nové",
+ "new": "Nový",
"arriving": "Príchod:",
- "inclVatFooter": "vrátane {{vat}}% DPH,*",
+ "inclVatFooter": "vrátane {{vat}}% DPH, *",
"availability": "Dostupnosť",
- "inStock": "na sklade",
+ "inStock": "Skladom",
"comingSoon": "Čoskoro dostupné",
- "deliveryTime": "Doba dodania",
+ "deliveryTime": "Čas doručenia",
"inclShort": "vrátane",
- "vatShort": "DPH"
+ "vatShort": "DPH",
+ "countDisplay": {
+ "noProducts": "0 produktov",
+ "oneProduct": "1 produkt",
+ "multipleProducts": "{{count}} produktov",
+ "filteredProducts": "{{filtered}} z {{total}} produktov",
+ "filteredOneProduct": "{{filtered}} z 1 produktu"
+ },
+ "removeFiltersToSee": "Odstráňte filtre pre zobrazenie produktov",
+ "outOfStock": " vypredané",
+ "fromXProducts": "z {{count}} produktov"
},
"search": {
- "placeholder": "Môžete sa ma spýtať na odrody konope...",
- "recording": "Nahráva sa..."
+ "placeholder": "Môžete sa ma opýtať na odrody cannabis...",
+ "recording": "Nahrávanie...",
+ "searchProducts": "Hľadať produkty..."
+ },
+ "sorting": {
+ "name": "Názov",
+ "searchField": "Hľadaný výraz",
+ "priceLowHigh": "Cena: Od najnižšej po najvyššiu",
+ "priceHighLow": "Cena: Od najvyššej po najnižšiu"
},
"chat": {
- "privacyRead": "Prečítané a akceptované"
+ "privacyRead": "Prečítané & Akceptované"
},
"delivery": {
"methods": {
"dhl": "DHL",
"dpd": "DPD",
- "sperrgut": "Nadrozmerný tovar",
- "pickup": "Vyzdvihnutie v pobočke"
+ "sperrgut": "Nákladné veci",
+ "pickup": "Osobný odber v predajni"
},
"descriptions": {
- "standard": "Štandardné doručenie",
- "standardFree": "Štandardné doručenie - ZADARMO od 100€ hodnoty tovaru!",
- "notAvailable": "nie je možné vybrať, pretože jeden alebo viac produktov je možné len vyzdvihnúť",
- "bulky": "Pre veľké a ťažké produkty"
+ "standard": "Štandardná doprava",
+ "standardFree": "Štandardná doprava - ZADARMO od €100 hodnoty tovaru!",
+ "notAvailable": "nevybrať si, pretože niektoré položky je možné iba osobne vyzdvihnúť",
+ "bulky": "Pre väčšie a ťažké položky"
},
"prices": {
"free": "zadarmo",
- "dhl": "6,99 €",
- "dpd": "4,90 €",
- "sperrgut": "28,99 €"
+ "freeFrom100": "(zadarmo od €100)",
+ "dhl": "€6.99",
+ "dpd": "€4.90",
+ "sperrgut": "€28.99"
},
"times": {
- "cutting14Days": "Doba dodania: 14 dní",
- "standard2to3Days": "Doba dodania: 2-3 dni",
- "supplier7to9Days": "Doba dodania: 7-9 dní"
+ "cutting14Days": "Doba doručenia: 14 dní",
+ "standard2to3Days": "Doba doručenia: 2-3 dni",
+ "supplier7to9Days": "Doba doručenia: 7-9 dní"
}
},
"checkout": {
"invoiceAddress": "Fakturačná adresa",
"deliveryAddress": "Dodacia adresa",
"saveForFuture": "Uložiť pre budúce objednávky",
- "pickupDate": "Na ktorý termín si želáte vyzdvihnúť sadby?",
+ "pickupDate": "Pre ktoré dátum je žiadaný odber rezaniek?",
"note": "Poznámka",
- "sameAddress": "Dodacia adresa je totožná s fakturačnou adresou",
- "termsAccept": "Prečítal som si VOP, vyhlásenie o ochrane súkromia a podmienky práva na odstúpenie od zmluvy"
+ "sameAddress": "Dodacia adresa je rovnaká ako fakturačná",
+ "termsAccept": "Prečítal(a) som si podmienky, zásady ochrany osobných údajov a storno podmienky"
},
"payment": {
- "successful": "Platba úspešná!",
- "failed": "Platba neúspešná",
- "orderCompleted": "🎉 Vaša objednávka bola úspešne dokončená! Teraz si môžete zobraziť svoje objednávky.",
- "orderProcessing": "Vaša platba bola úspešne spracovaná. Objednávka sa automaticky dokončí.",
- "paymentError": "Vašu platbu sa nepodarilo spracovať. Prosím skúste to znovu alebo vyberte iný spôsob platby.",
+ "successful": "Platba bola úspešná!",
+ "failed": "Platba zlyhala",
+ "orderCompleted": "🎉 Vaša objednávka bola úspešne dokončená! Teraz si môžete pozrieť svoje objednávky.",
+ "orderProcessing": "Vaša platba bola úspešne spracovaná. Objednávka bude automaticky dokončená.",
+ "paymentError": "Vašu platbu sa nepodarilo spracovať. Skúste to znova alebo zvoľte inú platobnú metódu.",
"viewOrders": "Zobraziť moje objednávky"
},
"filters": {
- "sorting": "Triedenie",
+ "sorting": "Zoradenie",
"perPage": "na stránku",
"availability": "Dostupnosť",
"manufacturer": "Výrobca"
},
"tax": {
- "vat": "Daň z pridanej hodnoty",
+ "vat": "DPH",
"vat7": "7% DPH",
"vat19": "19% DPH",
"vat19WithShipping": "19% DPH (vrátane dopravy)",
- "totalNet": "Celková cena bez DPH",
- "totalGross": "Celková cena s DPH bez dopravy",
+ "totalNet": "Celková čistá cena",
+ "totalGross": "Celková hrubá cena bez dopravy",
"subtotal": "Medzisúčet"
},
"footer": {
- "hours": "So 11-19",
- "address": "Trachenberger Straße 14 - Dresden",
- "location": "Medzi zastávkou Pieschen a Trachenberger Platz",
+ "hours": "Sobota 11-19",
+ "address": "Trachenberger Straße 14 - Drážďany",
+ "location": "Medzi zastávkou Pieschen a námestím Trachenberger",
"allPricesIncl": "* Všetky ceny vrátane zákonnej DPH, plus doprava",
"copyright": "© {{year}} GrowHeads.de",
"legal": {
- "datenschutz": "Ochrana údajov",
- "agb": "VOP",
- "sitemap": "Mapa stránky",
+ "datenschutz": "Zásady ochrany osobných údajov",
+ "agb": "Obchodné podmienky",
+ "sitemap": "Mapa stránok",
"impressum": "Impressum",
- "batteriegesetzhinweise": "Upozornenia o zákone o batériách",
- "widerrufsrecht": "Právo na odstúpenie"
+ "batteriegesetzhinweise": "Upozornenia k regulácii batérií",
+ "widerrufsrecht": "Právo na odstúpenie od zmluvy"
}
},
"titles": {
- "home": "Konopné semená a sadby",
- "aktionen": "Aktuálne akcie a ponuky",
- "filiale": "Naša pobočka v Drážďanoch"
+ "home": "ine anabis eeds & uttings",
+ "aktionen": "tuelle ktionen & gebote",
+ "filiale": "ur iliale in resden"
},
"sections": {
- "seeds": "Semená",
- "stecklinge": "Sadby",
- "oilPress": "Požičanie lis na olej",
- "thcTest": "THC test",
+ "seeds": "Semienka",
+ "stecklinge": "Rezanky",
+ "oilPress": "Prenájom lisov na olej",
+ "thcTest": "Test na THC",
"address1": "Trachenberger Straße 14",
- "address2": "01129 Dresden"
+ "address2": "01129 Drážďany"
},
"pages": {
"oilPress": {
- "title": "Požičanie lis na olej",
- "comingSoon": "Obsah bude čoskoro..."
+ "title": "Prenájom lisov na olej",
+ "comingSoon": "Obsah čoskoro..."
},
"thcTest": {
- "title": "THC test",
- "comingSoon": "Obsah bude čoskoro..."
+ "title": "Test na THC",
+ "comingSoon": "Obsah čoskoro..."
}
},
"orders": {
"status": {
- "new": "v spracovaní",
- "pending": "Nové",
- "processing": "v spracovaní",
- "cancelled": "Zrušené",
- "shipped": "Odoslané",
- "delivered": "Doručené",
- "return": "Vrátené",
- "partialReturn": "Čiastočne vrátené",
+ "new": "V priebehu",
+ "pending": "Nová",
+ "processing": "Spracováva sa",
+ "cancelled": "Zrušená",
+ "shipped": "Odoslaná",
+ "delivered": "Doručená",
+ "return": "Vrátenie",
+ "partialReturn": "Čiastočné vrátenie",
"partialDelivered": "Čiastočne doručené"
}
},
@@ -201,4 +228,4 @@ export default {
"products": "Produkty",
"product": "Produkt"
}
-}
\ No newline at end of file
+};
diff --git a/src/i18n/locales/sl/translation.js b/src/i18n/locales/sl/translation.js
new file mode 100644
index 0000000..ea4e8e4
--- /dev/null
+++ b/src/i18n/locales/sl/translation.js
@@ -0,0 +1,231 @@
+export default {
+ "locale": {
+ "code": "sl-SI"
+ },
+ "navigation": {
+ "home": "Domov",
+ "aktionen": "Akcije",
+ "filiale": "Podružnica",
+ "categories": "Kategorije",
+ "categoriesOpen": "Odprte kategorije",
+ "categoriesClose": "Zapri kategorije",
+ "otherCategories": "Druge kategorije"
+ },
+ "auth": {
+ "login": "Prijava",
+ "register": "Registracija",
+ "logout": "Odjava",
+ "profile": "Profil",
+ "email": "Email",
+ "password": "Geslo",
+ "confirmPassword": "Potrdite geslo",
+ "forgotPassword": "Pozabljeno geslo?",
+ "loginWithGoogle": "Prijava z Google",
+ "or": "ALI",
+ "privacyAccept": "Klikom na \"Prijava z Google\" sprejemam",
+ "privacyPolicy": "Politiko zasebnosti",
+ "passwordMinLength": "Geslo mora biti vsaj 8 znakov dolgo",
+ "newPasswordMinLength": "Novo geslo mora biti vsaj 8 znakov dolgo",
+ "menu": {
+ "profile": "Profil",
+ "checkout": "Pogled",
+ "orders": "Naročila",
+ "settings": "Nastavitve",
+ "adminDashboard": "Nadzorna plošča administratorja",
+ "adminUsers": "Uporabniki administratorja"
+ }
+ },
+ "cart": {
+ "title": "Košarica",
+ "empty": "prazno",
+ "addToCart": "Dodaj v košarico",
+ "preorderCutting": "Prednaročilo kot odrezki",
+ "continueShopping": "Nadaljuj z nakupom",
+ "proceedToCheckout": "Pojdi na plačilo",
+ "productCount": "{{count}} {{count, plural, one {izdelek} other {izdelekov}}}",
+ "removeFromCart": "Odstrani iz košarice",
+ "openCart": "Odpri košarico",
+ "availableFrom": "Od {{date}}",
+ "backToOrder": "← Nazaj k naročilu",
+ "sync": {
+ "title": "Sinhronizacija košarice",
+ "description": "V vašem računu imate shranjeno košarico. Prosimo, izberite, kako želite nadaljevati:",
+ "deleteServer": "Izbriši strežniško košarico",
+ "useServer": "Uporabi strežniško košarico",
+ "merge": "Združitev košaric",
+ "currentCart": "Vaša trenutna košarica",
+ "serverCart": "Shranjena košarica v vašem profilu"
+ }
+ },
+ "product": {
+ "loading": "Navajanje izdelka...",
+ "notFound": "Izdelka ni mogoče najti",
+ "notFoundDescription": "Iskanega izdelka ni, ali pa je bil odstranjen.",
+ "backToHome": "Nazaj na domačo stran",
+ "error": "Napaka",
+ "articleNumber": "Številka artikla",
+ "manufacturer": "Proizvajalec",
+ "inclVat": "vključuje {{vat}}% DDV",
+ "priceUnit": "{{price}}/{{unit}}",
+ "new": "Nov",
+ "arriving": "Prihod:",
+ "inclVatFooter": "vključuje {{vat}}% DDV, *",
+ "availability": "Razpoložljivost",
+ "inStock": "Na zalogi",
+ "comingSoon": "Prihaja kmalu",
+ "deliveryTime": "Čas dostave",
+ "inclShort": "vključno",
+ "vatShort": "DDV",
+ "countDisplay": {
+ "noProducts": "0 izdelkov",
+ "oneProduct": "1 izdelek",
+ "multipleProducts": "{{count}} izdelkov",
+ "filteredProducts": "{{filtered}} od {{total}} izdelkov",
+ "filteredOneProduct": "{{filtered}} od 1 izdelka"
+ },
+ "removeFiltersToSee": "Odstranite filtre za ogled izdelkov",
+ "outOfStock": "Ni na voljo",
+ "fromXProducts": "od {{count}} izdelkov"
+ },
+ "search": {
+ "placeholder": "Lahko me vprašate o sortah konoplje...",
+ "recording": "Posnetek...",
+ "searchProducts": "Išči izdelke..."
+ },
+ "sorting": {
+ "name": "Ime",
+ "searchField": "Iskalni izraz",
+ "priceLowHigh": "Cena: od najnižje do najvišje",
+ "priceHighLow": "Cena: od najvišje do najnižje"
+ },
+ "chat": {
+ "privacyRead": "Prebrano in sprejeto"
+ },
+ "delivery": {
+ "methods": {
+ "dhl": "DHL",
+ "dpd": "DPD",
+ "sperrgut": "Veleprodaja",
+ "pickup": "Prevzem v trgovini"
+ },
+ "descriptions": {
+ "standard": "Standardna dostava",
+ "standardFree": "Standardna dostava - BREZPLAČNO od zneska €100!",
+ "notAvailable": "ni mogoče izbrati, ker je en ali več artiklov mogoče osebno prevzeti",
+ "bulky": "Za velike in težke artikle"
+ },
+ "prices": {
+ "free": "brezplačno",
+ "freeFrom100": "(brezplačno od €100)",
+ "dhl": "€6.99",
+ "dpd": "€4.90",
+ "sperrgut": "€28.99"
+ },
+ "times": {
+ "cutting14Days": "Čas dostave: 14 dni",
+ "standard2to3Days": "Čas dostave: 2-3 dni",
+ "supplier7to9Days": "Čas dostave: 7-9 dni"
+ }
+ },
+ "checkout": {
+ "invoiceAddress": "Naslov za račun",
+ "deliveryAddress": "Naslov dostave",
+ "saveForFuture": "Shrani za prihodnja naročila",
+ "pickupDate": "Za kateri datum je želena osebna prevzem odrezkov?",
+ "note": "Opomba",
+ "sameAddress": "Naslov dostave je enak naslovu za račun",
+ "termsAccept": "Prebral/a sem in sprejemam pogoje poslovanja, politiko zasebnosti in politiko odstopa"
+ },
+ "payment": {
+ "successful": "Plačilo uspešno!",
+ "failed": "Plačilo ni uspelo",
+ "orderCompleted": "🎉 Vaše naročilo je bilo uspešno zaključeno! Sedaj lahko ogledate vaša naročila.",
+ "orderProcessing": "Vaše plačilo je bilo uspešno obdelano. Naročilo bo samodejno zaključeno.",
+ "paymentError": "Vašega plačila ni mogoče obdelati. Prosimo, poskusite znova ali izberite drugoPlačilo metodo.",
+ "viewOrders": "Ogled mojih naročil"
+ },
+ "filters": {
+ "sorting": "Sortiranje",
+ "perPage": "na stran",
+ "availability": "Razpoložljivost",
+ "manufacturer": "Proizvajalec"
+ },
+ "tax": {
+ "vat": "DDV",
+ "vat7": "7% DDV",
+ "vat19": "19% DDV",
+ "vat19WithShipping": "19% DDV (z dostavo)",
+ "totalNet": "Skupni neto znesek",
+ "totalGross": "Skupni bruto znesek brez dostave",
+ "subtotal": "Združen znesek"
+ },
+ "footer": {
+ "hours": "Sob 11-19",
+ "address": "Trachenberger Straße 14 - Dresden",
+ "location": "Med postajama Pieschen in Trachenberger Platz",
+ "allPricesIncl": "* Vse cene vključujejo zakonit DDV, plus dostavo",
+ "copyright": "© {{year}} GrowHeads.de",
+ "legal": {
+ "datenschutz": "Politika zasebnosti",
+ "agb": "Pogoji in določila",
+ "sitemap": "Zemljevid strani",
+ "impressum": "Impressum",
+ "batteriegesetzhinweise": "Opombe glede zakonodaje baterij",
+ "widerrufsrecht": "Pravica do odstopa"
+ }
+ },
+ "titles": {
+ "home": "ne anabis eeds & uttings",
+ "aktionen": "tuelle ktionen & gebote",
+ "filiale": "ur iliale in resden"
+ },
+ "sections": {
+ "seeds": "Semena",
+ "stecklinge": "Odrezki",
+ "oilPress": "Najem stiskalnice za olje",
+ "thcTest": "Test THC",
+ "address1": "Trachenberger Straße 14",
+ "address2": "01129 Dresden"
+ },
+ "pages": {
+ "oilPress": {
+ "title": "Najem stiskalnice za olje",
+ "comingSoon": "Vsebina prihaja kmalu..."
+ },
+ "thcTest": {
+ "title": "Test THC",
+ "comingSoon": "Vsebina prihaja kmalu..."
+ }
+ },
+ "orders": {
+ "status": {
+ "new": "V obdelavi",
+ "pending": "Nove",
+ "processing": "V obdelavi",
+ "cancelled": "Preklicano",
+ "shipped": "Poslano",
+ "delivered": "Dostavljeno",
+ "return": "Vrnitev",
+ "partialReturn": "Delna vrnitev",
+ "partialDelivered": "Delno dostavljeno"
+ }
+ },
+ "common": {
+ "loading": "Nalaganje...",
+ "error": "Napaka",
+ "close": "Zapri",
+ "save": "Shrani",
+ "cancel": "Prekliči",
+ "ok": "V redu",
+ "yes": "Da",
+ "no": "Ne",
+ "next": "Naprej",
+ "back": "Nazaj",
+ "edit": "Uredi",
+ "delete": "Izbriši",
+ "add": "Dodaj",
+ "remove": "Odstrani",
+ "products": "Izdelki",
+ "product": "Izdelek"
+ }
+};
diff --git a/src/i18n/locales/sr/translation.js b/src/i18n/locales/sr/translation.js
index b333acd..23d4349 100644
--- a/src/i18n/locales/sr/translation.js
+++ b/src/i18n/locales/sr/translation.js
@@ -1,98 +1,125 @@
export default {
+ "locale": {
+ "code": "sr-RS"
+ },
"navigation": {
"home": "Početna",
"aktionen": "Akcije",
"filiale": "Filijala",
"categories": "Kategorije",
- "categoriesOpen": "Otvoriti kategorije",
- "categoriesClose": "Zatvoriti kategorije"
+ "categoriesOpen": "Otvorene kategorije",
+ "categoriesClose": "Zatvori kategorije",
+ "otherCategories": "Ostale kategorije"
},
"auth": {
- "login": "Prijaviti se",
- "register": "Registrovati se",
- "logout": "Odjaviti se",
+ "login": "Prijava",
+ "register": "Registracija",
+ "logout": "Odjava",
"profile": "Profil",
- "email": "E-mail",
+ "email": "Email",
"password": "Lozinka",
- "confirmPassword": "Potvrditi lozinku",
+ "confirmPassword": "Potvrdi lozinku",
"forgotPassword": "Zaboravili ste lozinku?",
- "loginWithGoogle": "Prijaviti se sa Google",
+ "loginWithGoogle": "Prijavi se putem Google-a",
"or": "ILI",
- "privacyAccept": "Klikom na \"Prijaviti se sa Google\" prihvatam",
- "privacyPolicy": "Pravila privatnosti",
- "passwordMinLength": "Lozinka mora imati najmanje 8 karaktera",
- "newPasswordMinLength": "Nova lozinka mora imati najmanje 8 karaktera",
+ "privacyAccept": "Klikom na \"Prijavi se putem Google-a\", prihvatam",
+ "privacyPolicy": "Politiku privatnosti",
+ "passwordMinLength": "Lozinka mora biti najmanje 8 karaktera dugačka",
+ "newPasswordMinLength": "Nova lozinka mora biti najmanje 8 karaktera dugačka",
"menu": {
"profile": "Profil",
- "checkout": "Završetak porudžbine",
+ "checkout": "Plaćanje",
"orders": "Porudžbine",
"settings": "Podešavanja",
- "adminDashboard": "Admin Dashboard",
+ "adminDashboard": "Admin kontrolna tabla",
"adminUsers": "Admin korisnici"
}
},
"cart": {
- "title": "Korpa",
- "empty": "prazna",
- "addToCart": "U korpu",
- "preorderCutting": "Preorder kao sadnica",
+ "title": "Korpa za kupovinu",
+ "empty": "prazno",
+ "addToCart": "Dodaj u korpu",
+ "preorderCutting": "Prednarudžbina kao sečevi",
"continueShopping": "Nastavi sa kupovinom",
- "proceedToCheckout": "Idi na kasu",
+ "proceedToCheckout": "Nastavi na plaćanje",
+ "productCount": "{{count}} {{count, plural, one {proizvod} other {proizvoda}}}",
+ "removeFromCart": "Ukloni iz korpe",
+ "openCart": "Otvoriti korpu",
+ "availableFrom": "Od {{date}}",
+ "backToOrder": "← Nazad na narudžbinu",
"sync": {
"title": "Sinhronizacija korpe",
- "description": "Imate sačuvanu korpu u vašem nalogu. Molimo odaberite kako želite da nastavite:",
- "deleteServer": "Obrisati korpu na serveru",
- "useServer": "Preuzeti korpu sa servera",
- "merge": "Spojiti korpe",
+ "description": "Imate sačuvanu korpu na vašem nalogu. Molimo izaberite kako da nastavite:",
+ "deleteServer": "Obriši serversku korpu",
+ "useServer": "Koristi serversku korpu",
+ "merge": "Spoji korpe",
"currentCart": "Vaša trenutna korpa",
- "serverCart": "Korpa sačuvana u vašem profilu"
+ "serverCart": "Sačuvana korpa u vašem profilu"
}
},
"product": {
- "loading": "Proizvod se učitava...",
+ "loading": "Učitava se proizvod...",
"notFound": "Proizvod nije pronađen",
- "notFoundDescription": "Traženi proizvod ne postoji ili je uklonjen.",
- "backToHome": "Nazad na početnu",
+ "notFoundDescription": "Pretraženi proizvod ne postoji ili je uklonjen.",
+ "backToHome": "Nazad na početnu stranu",
"error": "Greška",
"articleNumber": "Broj artikla",
"manufacturer": "Proizvođač",
- "inclVat": "uključuje {{vat}}% PDV",
+ "inclVat": "uključujući {{vat}}% PDV",
"priceUnit": "{{price}}/{{unit}}",
"new": "Novo",
- "arriving": "Dolazak:",
- "inclVatFooter": "uključuje {{vat}}% PDV,*",
- "availability": "Dostupnost",
- "inStock": "na stanju",
- "comingSoon": "Uskoro dostupno",
+ "arriving": "Dolazi:",
+ "inclVatFooter": "uključujući {{vat}}% PDV, *",
+ "availability": "Na stanju",
+ "inStock": "Na lageru",
+ "comingSoon": "Uskoro na prodaji",
"deliveryTime": "Vreme isporuke",
- "inclShort": "uključuje",
- "vatShort": "PDV"
+ "inclShort": "ukl.",
+ "vatShort": "PDV",
+ "countDisplay": {
+ "noProducts": "0 proizvoda",
+ "oneProduct": "1 proizvod",
+ "multipleProducts": "{{count}} proizvoda",
+ "filteredProducts": "{{filtered}} od {{total}} proizvoda",
+ "filteredOneProduct": "{{filtered}} od 1 proizvoda"
+ },
+ "removeFiltersToSee": "Uklonite filtere da biste videli proizvode",
+ "outOfStock": "Nema na stanju",
+ "fromXProducts": "od {{count}} proizvoda"
},
"search": {
- "placeholder": "Možete me pitati o sojevima kanabisa...",
- "recording": "Snimanje u toku..."
+ "placeholder": "Možete me pitati o sortama kanabisa...",
+ "recording": "Snima se...",
+ "searchProducts": "Pretraži proizvode..."
+ },
+ "sorting": {
+ "name": "Ime",
+ "searchField": "Ključna reč",
+ "priceLowHigh": "Cena: od niže ka višoj",
+ "priceHighLow": "Cena: od višе ka nižој"
},
"chat": {
- "privacyRead": "Pročitano i prihvaćeno"
+ "privacyRead": "Pročitao i prihvatio"
},
"delivery": {
"methods": {
"dhl": "DHL",
"dpd": "DPD",
- "sperrgut": "Krupna roba",
- "pickup": "Preuzimanje u filijali"
+ "sperrgut": "Masovne robe",
+ "pickup": "Preuzimanje u prodavnici"
},
"descriptions": {
- "standard": "Standardna dostava",
- "standardFree": "Standardna dostava - BESPLATNO od 100€ vrednosti robe!",
- "notAvailable": "nije moguće odabrati jer jedan ili više proizvoda može samo da se preuzme",
- "bulky": "Za velike i teške proizvode"
+ "standard": "Standardna isporuka",
+ "standardFree": "Standardna isporuka - BESPLATNO od robe u vrednosti od 100 €!",
+ "notAvailable": "nije dostupno za odabir jer jedna ili više stavki mogu samo lično preuzeti",
+ "bulky": "Za velike i teške artikle"
},
"prices": {
"free": "besplatno",
- "dhl": "6,99 €",
- "dpd": "4,90 €",
- "sperrgut": "28,99 €"
+ "freeFrom100": "(besplatno od 100 €)",
+ "dhl": "€6.99",
+ "dpd": "€4.90",
+ "sperrgut": "€28.99"
},
"times": {
"cutting14Days": "Vreme isporuke: 14 dana",
@@ -101,21 +128,21 @@ export default {
}
},
"checkout": {
- "invoiceAddress": "Adresa za račun",
+ "invoiceAddress": "Adresa za fakturisanje",
"deliveryAddress": "Adresa za dostavu",
- "saveForFuture": "Sačuvati za buduće porudžbine",
- "pickupDate": "Za koji termin želite preuzimanje sadnica?",
+ "saveForFuture": "Sačuvaj za buduće porudžbine",
+ "pickupDate": "Za koji datum je željeno preuzimanje sečeva?",
"note": "Napomena",
- "sameAddress": "Adresa za dostavu je identična sa adresom za račun",
- "termsAccept": "Pročitao sam Opšte uslove, Izjavu o privatnosti i uslove prava na odustajanje"
+ "sameAddress": "Adresa za dostavu je ista kao adresa za fakturisanje",
+ "termsAccept": "Pročitao sam i prihvatam uslove korišćenja, politiku privatnosti i politiku otkazivanja"
},
"payment": {
"successful": "Plaćanje uspešno!",
- "failed": "Plaćanje neuspešno",
- "orderCompleted": "🎉 Vaša porudžbina je uspešno završena! Sada možete da pogledate svoje porudžbine.",
- "orderProcessing": "Vaše plaćanje je uspešno obrađeno. Porudžbina će se automatski završiti.",
- "paymentError": "Vaše plaćanje nije moglo biti obrađeno. Molimo pokušajte ponovo ili odaberite drugi način plaćanja.",
- "viewOrders": "Pogledaj moje porudžbine"
+ "failed": "Plaćanje nije uspelo",
+ "orderCompleted": "🎉 Vaša porudžbina je uspešno završena! Sada možete pregledati vaše porudžbine.",
+ "orderProcessing": "Vaše plaćanje je uspešno obrađeno. Porudžbina će biti automatski završena.",
+ "paymentError": "Plaćanje nije bilo moguće obraditi. Molimo pokušajte ponovo ili izaberite drugo metod plaćanja.",
+ "viewOrders": "Prikaži moje porudžbine"
},
"filters": {
"sorting": "Sortiranje",
@@ -124,81 +151,81 @@ export default {
"manufacturer": "Proizvođač"
},
"tax": {
- "vat": "Porez na dodatu vrednost",
+ "vat": "PDV",
"vat7": "7% PDV",
"vat19": "19% PDV",
- "vat19WithShipping": "19% PDV (uključuje dostavu)",
+ "vat19WithShipping": "19% PDV (uključujući isporuku)",
"totalNet": "Ukupna neto cena",
- "totalGross": "Ukupna bruto cena bez dostave",
- "subtotal": "Međuzbroj"
+ "totalGross": "Ukupna bruto cena bez troškova isporuke",
+ "subtotal": "Međuzbir"
},
"footer": {
"hours": "Sub 11-19",
"address": "Trachenberger Straße 14 - Dresden",
- "location": "Između stanice Pieschen i Trachenberger Platz",
- "allPricesIncl": "* Sve cene uključuju zakonski PDV, plus dostava",
+ "location": "Između Pieschen stajališta i Trachenberger Platz",
+ "allPricesIncl": "* Sve cene uključuju zakonski PDV, plus troškove isporuke",
"copyright": "© {{year}} GrowHeads.de",
"legal": {
- "datenschutz": "Zaštita podataka",
- "agb": "Opšti uslovi",
+ "datenschutz": "Politika privatnosti",
+ "agb": "Uslovi korišćenja",
"sitemap": "Mapa sajta",
- "impressum": "Impressum",
- "batteriegesetzhinweise": "Napomene o zakonu o baterijama",
+ "impressum": "Impresum",
+ "batteriegesetzhinweise": "Napomene o regulativi za baterije",
"widerrufsrecht": "Pravo na odustajanje"
}
},
"titles": {
- "home": "Kanabis seme i sadnice",
- "aktionen": "Trenutne akcije i ponude",
- "filiale": "Naša filijala u Drezdenu"
+ "home": "ine anabis eeds & uttings",
+ "aktionen": "tuelle ktionen & gebote",
+ "filiale": "ur iliale in resden"
},
"sections": {
- "seeds": "Semena",
- "stecklinge": "Sadnice",
- "oilPress": "Iznajmiti presu za ulje",
- "thcTest": "THC test",
+ "seeds": "Seme",
+ "stecklinge": "Sečevi",
+ "oilPress": "Iznajmljivanje presa za ulje",
+ "thcTest": "Test THC",
"address1": "Trachenberger Straße 14",
"address2": "01129 Dresden"
},
"pages": {
"oilPress": {
- "title": "Iznajmiti presu za ulje",
+ "title": "Iznajmljivanje presa za ulje",
"comingSoon": "Sadržaj uskoro..."
},
"thcTest": {
- "title": "THC test",
+ "title": "Test THC",
"comingSoon": "Sadržaj uskoro..."
}
},
"orders": {
"status": {
- "new": "u obradi",
- "pending": "Novo",
- "processing": "u obradi",
+ "new": "U toku",
+ "pending": "Novi",
+ "processing": "U pripremi",
"cancelled": "Otkazano",
- "shipped": "Poslano",
+ "shipped": "Poslato",
"delivered": "Dostavljeno",
- "return": "Vraćeno",
- "partialReturn": "Delimično vraćeno",
- "partialDelivered": "Delimično dostavljeno"
+ "return": "Vraćanje",
+ "partialReturn": "Delimično vraćanje",
+ "partialDelivered": "Delimično isporučeno"
}
},
"common": {
"loading": "Učitava se...",
"error": "Greška",
- "close": "Zatvoriti",
- "save": "Sačuvati",
- "cancel": "Otkazati",
- "ok": "OK",
+ "close": "Zatvori",
+ "save": "Sačuvaj",
+ "cancel": "Otkaži",
+ "ok": "U redu",
"yes": "Da",
"no": "Ne",
- "next": "Dalje",
+ "next": "Sledeće",
"back": "Nazad",
- "edit": "Urediti",
- "delete": "Obrisati",
- "add": "Dodati",
- "remove": "Ukloniti",
+ "edit": "Izmeni",
+ "delete": "Obriši",
+ "add": "Dodaj",
+ "remove": "Ukloni",
"products": "Proizvodi",
"product": "Proizvod"
}
-}
\ No newline at end of file
+};
diff --git a/src/i18n/locales/sv/translation.js b/src/i18n/locales/sv/translation.js
new file mode 100644
index 0000000..09acd5a
--- /dev/null
+++ b/src/i18n/locales/sv/translation.js
@@ -0,0 +1,231 @@
+export default {
+ "locale": {
+ "code": "sv-SE"
+ },
+ "navigation": {
+ "home": "Hem",
+ "aktionen": "Åtgärder",
+ "filiale": "Filial",
+ "categories": "Kategorier",
+ "categoriesOpen": "Öppna kategorier",
+ "categoriesClose": "Stäng kategorier",
+ "otherCategories": "Andra kategorier"
+ },
+ "auth": {
+ "login": "Logga in",
+ "register": "Registrera",
+ "logout": "Logga ut",
+ "profile": "Profil",
+ "email": "E-post",
+ "password": "Lösenord",
+ "confirmPassword": "Bekräfta lösenord",
+ "forgotPassword": "Glömt lösenord?",
+ "loginWithGoogle": "Logga in med Google",
+ "or": "ELLER",
+ "privacyAccept": "Genom att klicka på \"Logga in med Google\" accepterar jag",
+ "privacyPolicy": "Integritetspolicy",
+ "passwordMinLength": "Lösenordet måste vara minst 8 tecken långt",
+ "newPasswordMinLength": "Det nya lösenordet måste vara minst 8 tecken långt",
+ "menu": {
+ "profile": "Profil",
+ "checkout": "Kassa",
+ "orders": "Beställningar",
+ "settings": "Inställningar",
+ "adminDashboard": "Admin Dashboard",
+ "adminUsers": "Admin Användare"
+ }
+ },
+ "cart": {
+ "title": "Varukorg",
+ "empty": "tom",
+ "addToCart": "Lägg i kundvagn",
+ "preorderCutting": "Förbeställ som klipp",
+ "continueShopping": "Fortsätt handla",
+ "proceedToCheckout": "Gå till kassan",
+ "productCount": "{{count}} {{count, plural, one {produkt} other {produkter}}}",
+ "removeFromCart": "Ta bort från kundvagn",
+ "openCart": "Öppna kundvagn",
+ "availableFrom": "Från {{date}}",
+ "backToOrder": "← Tillbaka till beställning",
+ "sync": {
+ "title": "Korgs synkronisering",
+ "description": "Du har en sparad kundvagn i ditt konto. Vänligen välj hur du vill gå vidare:",
+ "deleteServer": "Ta bort serverkundvagn",
+ "useServer": "Använd serverkundvagn",
+ "merge": "Foga samman kundvagnarna",
+ "currentCart": "Din aktuella kundvagn",
+ "serverCart": "Sparad kundvagn i din profil"
+ }
+ },
+ "product": {
+ "loading": "Laddar produkten...",
+ "notFound": "Produkten hittades inte",
+ "notFoundDescription": "Den sökta produkten finns inte eller har tagits bort.",
+ "backToHome": "Tillbaka till startsidan",
+ "error": "Fel",
+ "articleNumber": "Artikelnummer",
+ "manufacturer": "Tillverkare",
+ "inclVat": "inklusive {{vat}}% moms",
+ "priceUnit": "{{price}}/{{unit}}",
+ "new": "Ny",
+ "arriving": "Ankomst:",
+ "inclVatFooter": "inklusive {{vat}}% moms, *",
+ "availability": "Tillgänglighet",
+ "inStock": "I lager",
+ "comingSoon": "Kommer snart",
+ "deliveryTime": "Leveranstid",
+ "inclShort": "inkl.",
+ "vatShort": "moms",
+ "countDisplay": {
+ "noProducts": "0 produkter",
+ "oneProduct": "1 produkt",
+ "multipleProducts": "{{count}} produkter",
+ "filteredProducts": "{{filtered}} av {{total}} produkter",
+ "filteredOneProduct": "{{filtered}} av 1 produkt"
+ },
+ "removeFiltersToSee": "Ta bort filter för att visa produkter",
+ "outOfStock": "Slut i lager",
+ "fromXProducts": "från {{count}} produkter"
+ },
+ "search": {
+ "placeholder": "Du kan fråga mig om cannabisstammar...",
+ "recording": "Spelar in...",
+ "searchProducts": "Sök produkter..."
+ },
+ "sorting": {
+ "name": "Namn",
+ "searchField": "Sökterm",
+ "priceLowHigh": "Pris: Lågt till Högt",
+ "priceHighLow": "Pris: Högt till Lågt"
+ },
+ "chat": {
+ "privacyRead": "Läst & Accepterat"
+ },
+ "delivery": {
+ "methods": {
+ "dhl": "DHL",
+ "dpd": "DPD",
+ "sperrgut": "Skrymmande gods",
+ "pickup": "Hämta i butik"
+ },
+ "descriptions": {
+ "standard": "Standardfrakt",
+ "standardFree": "Standardfrakt - GRATIS vid köp för minst €100!",
+ "notAvailable": "ej tillgängligt eftersom en eller flera varor endast kan hämtas",
+ "bulky": "För stora och tunga varor"
+ },
+ "prices": {
+ "free": "gratis",
+ "freeFrom100": "(gratis vid köp för minst €100)",
+ "dhl": "€6.99",
+ "dpd": "€4.90",
+ "sperrgut": "€28.99"
+ },
+ "times": {
+ "cutting14Days": "Leveranstid: 14 dagar",
+ "standard2to3Days": "Leveranstid: 2-3 dagar",
+ "supplier7to9Days": "Leveranstid: 7-9 dagar"
+ }
+ },
+ "checkout": {
+ "invoiceAddress": " Faktureringsadress",
+ "deliveryAddress": "Leveransadress",
+ "saveForFuture": "Spara för framtida beställningar",
+ "pickupDate": "För vilken datum önskas hämtning av klipp",
+ "note": "Notering",
+ "sameAddress": "Leveransadress är densamma som faktureringsadress",
+ "termsAccept": "Jag har läst och godkänner villkoren, integritetspolicyn och avbokningsreglerna"
+ },
+ "payment": {
+ "successful": "Betalning lyckades!",
+ "failed": "Betalningen misslyckades",
+ "orderCompleted": "🎉 Din beställning har slutförts! Du kan nu se dina beställningar.",
+ "orderProcessing": "Din betalning har lyckats behandlas. Beställningen kommer att slutföras automatiskt.",
+ "paymentError": "Din betalning kunde inte behandlas. Vänligen försök igen eller välj en annan betalningsmetod.",
+ "viewOrders": "Visa mina beställningar"
+ },
+ "filters": {
+ "sorting": "Sortering",
+ "perPage": "per sida",
+ "availability": "Tillgänglighet",
+ "manufacturer": "Tillverkare"
+ },
+ "tax": {
+ "vat": "moms",
+ "vat7": "7% moms",
+ "vat19": "19% moms",
+ "vat19WithShipping": "19% moms (inkl. frakt)",
+ "totalNet": "Total netto pris",
+ "totalGross": "Total bruttopriser utan frakt",
+ "subtotal": "Delsumma"
+ },
+ "footer": {
+ "hours": "Lör 11-19",
+ "address": "Trachenberger Straße 14 - Dresden",
+ "location": "Mellan Pieschen hållplats och Trachenberger Platz",
+ "allPricesIncl": "* Alla priser inkluderar lagstadgad moms, plus frakt",
+ "copyright": "© {{year}} GrowHeads.se",
+ "legal": {
+ "datenschutz": "Integritetspolicy",
+ "agb": "Villkor",
+ "sitemap": "Kartschema",
+ "impressum": "Impressum",
+ "batteriegesetzhinweise": "Batteriföreskrifter",
+ "widerrufsrecht": "Ångerrätt"
+ }
+ },
+ "titles": {
+ "home": "ine anabis eeds & uttings",
+ "aktionen": "tuelle ktionen & gebote",
+ "filiale": "ur iliale i resden"
+ },
+ "sections": {
+ "seeds": "Frön",
+ "stecklinge": "Klipp",
+ "oilPress": "Oljepressuthyrning",
+ "thcTest": "THC-test",
+ "address1": "Trachenberger Straße 14",
+ "address2": "01129 Dresden"
+ },
+ "pages": {
+ "oilPress": {
+ "title": "Oljepressuthyrning",
+ "comingSoon": "Innehåll kommer snart..."
+ },
+ "thcTest": {
+ "title": "THC-test",
+ "comingSoon": "Innehåll kommer snart..."
+ }
+ },
+ "orders": {
+ "status": {
+ "new": "Under behandling",
+ "pending": "Nytt",
+ "processing": "Under behandling",
+ "cancelled": "Avbruten",
+ "shipped": "Skickad",
+ "delivered": "Levererad",
+ "return": "Returnera",
+ "partialReturn": "Delvis retur",
+ "partialDelivered": "Delvis levererad"
+ }
+ },
+ "common": {
+ "loading": "Läser in...",
+ "error": "Fel",
+ "close": "Stäng",
+ "save": "Spara",
+ "cancel": "Avbryt",
+ "ok": "OK",
+ "yes": "Ja",
+ "no": "Nej",
+ "next": "Nästa",
+ "back": "Tillbaka",
+ "edit": "Redigera",
+ "delete": "Radera",
+ "add": "Lägg till",
+ "remove": "Ta bort",
+ "products": "Produkter",
+ "product": "Produkt"
+ }
+};
diff --git a/src/i18n/locales/tr/translation.js b/src/i18n/locales/tr/translation.js
new file mode 100644
index 0000000..7ca0132
--- /dev/null
+++ b/src/i18n/locales/tr/translation.js
@@ -0,0 +1,231 @@
+export default {
+ "locale": {
+ "code": "tr-TR"
+ },
+ "navigation": {
+ "home": "Anasayfa",
+ "aktionen": "İşlemler",
+ "filiale": "Şube",
+ "categories": "Kategoriler",
+ "categoriesOpen": "Açık kategoriler",
+ "categoriesClose": "Kapat kategorileri",
+ "otherCategories": "Diğer kategoriler"
+ },
+ "auth": {
+ "login": "Giriş yap",
+ "register": "Kayıt ol",
+ "logout": "Çıkış yap",
+ "profile": "Profil",
+ "email": "E-posta",
+ "password": "Şifre",
+ "confirmPassword": "Şifreyi onayla",
+ "forgotPassword": "Şifrenizi mi unuttunuz?",
+ "loginWithGoogle": "Google ile giriş yap",
+ "or": "VEYA",
+ "privacyAccept": "\"Google ile giriş yap\" kutusuna tıklayarak, kabul ediyorum",
+ "privacyPolicy": "Gizlilik Politikası",
+ "passwordMinLength": "Şifre en az 8 karakter olmalı",
+ "newPasswordMinLength": "Yeni şifre en az 8 karakter olmalı",
+ "menu": {
+ "profile": "Profil",
+ "checkout": "Ödeme",
+ "orders": "Siparişler",
+ "settings": "Ayarlar",
+ "adminDashboard": "Yönetici Paneli",
+ "adminUsers": "Yönetici Kullanıcılar"
+ }
+ },
+ "cart": {
+ "title": "Sepet",
+ "empty": "boş",
+ "addToCart": "Sepete ekle",
+ "preorderCutting": "Kesimler ön sipariş",
+ "continueShopping": "Alışverişe devam et",
+ "proceedToCheckout": "Ödemeye geç",
+ "productCount": "{{count}} {{count, plural, one {ürün} other {ürünler}}}",
+ "removeFromCart": "Sepetten çıkar",
+ "openCart": "Sepeti aç",
+ "availableFrom": "'dan {{date}}",
+ "backToOrder": "← Siparişe dön",
+ "sync": {
+ "title": "Sepet senkronizasyonu",
+ "description": "Hesabınızda kaydedilmiş bir sepet var. Devam etme seçeneklerini seçiniz:",
+ "deleteServer": "Sunucu sepetini sil",
+ "useServer": "Sunucu sepetini kullan",
+ "merge": "Sepetleri birleştir",
+ "currentCart": "Mevcut sepetiniz",
+ "serverCart": "Profilinizde kaydedilmiş sepet"
+ }
+ },
+ "product": {
+ "loading": "Ürün yükleniyor...",
+ "notFound": "Ürün bulunamadı",
+ "notFoundDescription": "Aranan ürün mevcut değil veya kaldırılmıştır.",
+ "backToHome": "Ana sayfaya dön",
+ "error": "Hata",
+ "articleNumber": "Ürün numarası",
+ "manufacturer": "Üretici",
+ "inclVat": "vergiler dahil {{vat}}%",
+ "priceUnit": "{{price}}/{{unit}}",
+ "new": "Yeni",
+ "arriving": "Geliş:",
+ "inclVatFooter": "vergiler dahil {{vat}}%, *",
+ "availability": "Mevki durumu",
+ "inStock": "Stokta var",
+ "comingSoon": "Yakında geliyor",
+ "deliveryTime": "Teslimat süresi",
+ "inclShort": "dahil.",
+ "vatShort": "KDV",
+ "countDisplay": {
+ "noProducts": "0 ürün",
+ "oneProduct": "1 ürün",
+ "multipleProducts": "{{count}} ürün",
+ "filteredProducts": "{{filtered}}/{{total}} ürün filtrelendi",
+ "filteredOneProduct": "{{filtered}}/{{total}} ürün filtrelendi"
+ },
+ "removeFiltersToSee": "Ürünleri görmek için filtreleri kaldırın",
+ "outOfStock": "Stokta yok",
+ "fromXProducts": "{{count}} ürün ve üzeri"
+ },
+ "search": {
+ "placeholder": "Kenevir türleri hakkında bana sorabilirsiniz...",
+ "recording": "Kaydediliyor...",
+ "searchProducts": "Ürünleri ara..."
+ },
+ "sorting": {
+ "name": "İsim",
+ "searchField": "Arama terimi",
+ "priceLowHigh": "Fiyat: Düşükten yükseğe",
+ "priceHighLow": "Fiyat: Yüksekten düşüğe"
+ },
+ "chat": {
+ "privacyRead": "Okundu & Kabul edildi"
+ },
+ "delivery": {
+ "methods": {
+ "dhl": "DHL",
+ "dpd": "DPD",
+ "sperrgut": "Hacimli ürünler",
+ "pickup": "Mağazadan teslim alın"
+ },
+ "descriptions": {
+ "standard": "Standart gönderim",
+ "standardFree": "Standart gönderim - Ürün değeri 100 € ve üzeri ÜCRETSİZ!",
+ "notAvailable": "bir veya daha fazla ürün sadece teslim alınabilir olduğu için seçilebilir değil",
+ "bulky": "Büyük ve ağır ürünler için"
+ },
+ "prices": {
+ "free": "ücretsiz",
+ "freeFrom100": "(100 € ve üzeri ücretsiz)",
+ "dhl": "€6.99",
+ "dpd": "€4.90",
+ "sperrgut": "€28.99"
+ },
+ "times": {
+ "cutting14Days": "Teslimat süresi: 14 gün",
+ "standard2to3Days": "Teslimat süresi: 2-3 gün",
+ "supplier7to9Days": "Teslimat süresi: 7-9 gün"
+ }
+ },
+ "checkout": {
+ "invoiceAddress": "Fatura adresi",
+ "deliveryAddress": "Teslimat adresi",
+ "saveForFuture": "Gelecek siparişler için kaydet",
+ "pickupDate": "Kesimlerin alınacağı tarih nedir?",
+ "note": "Not",
+ "sameAddress": "Teslimat adresi, fatura adresi ile aynı",
+ "termsAccept": "Şartlar ve koşulları, gizlilik politikasını ve iptal politikasını okudum"
+ },
+ "payment": {
+ "successful": "Ödeme başarılı!",
+ "failed": "Ödeme başarısız",
+ "orderCompleted": "🎉 Siparişiniz başarıyla tamamlandı! Siparişlerinizi görüntüleyebilirsiniz.",
+ "orderProcessing": "Ödemeniz başarıyla işlendi. Sipariş otomatik olarak tamamlanacaktır.",
+ "paymentError": "Ödemeniz işlenemedi. Lütfen tekrar deneyin veya başka bir ödeme yöntemi seçin.",
+ "viewOrders": "Siparişlerimi görüntüle"
+ },
+ "filters": {
+ "sorting": "Sıralama",
+ "perPage": "sayfa başına",
+ "availability": "Mevki durumu",
+ "manufacturer": "Üretici"
+ },
+ "tax": {
+ "vat": "KDV",
+ "vat7": "Yüzde 7 KDV",
+ "vat19": "Yüzde 19 KDV",
+ "vat19WithShipping": "Yüzde 19 KDV (kargo dahil)",
+ "totalNet": "Toplam net fiyat",
+ "totalGross": "Kargo hariç toplam brüt fiyat",
+ "subtotal": "Ara toplam"
+ },
+ "footer": {
+ "hours": "Cum 11-19",
+ "address": "Trachenberger Straße 14 - Dresden",
+ "location": "Pieschen durağı ile Trachenbergerplatz arası",
+ "allPricesIncl": "* Tüm fiyatlara yasal KDV ve kargo dahildir",
+ "copyright": "© {{year}} GrowHeads.de",
+ "legal": {
+ "datenschutz": "Gizlilik Politikası",
+ "agb": "Şartlar ve Koşullar",
+ "sitemap": "Site Haritası",
+ "impressum": "Yasal Uyarı",
+ "batteriegesetzhinweise": "Pil düzenlemesine ilişkin notlar",
+ "widerrufsrecht": "İptal hakkı"
+ }
+ },
+ "titles": {
+ "home": "ine anabis eeds & uttings",
+ "aktionen": "tuelle ktionen & gebote",
+ "filiale": "ur iliale in resden"
+ },
+ "sections": {
+ "seeds": "Tohumlar",
+ "stecklinge": "Kesimler",
+ "oilPress": "Yağ presi kiralama",
+ "thcTest": "THC testi",
+ "address1": "Trachenberger Straße 14",
+ "address2": "01129 Dresden"
+ },
+ "pages": {
+ "oilPress": {
+ "title": "Yağ presi kiralama",
+ "comingSoon": "İçerik yakında geliyor..."
+ },
+ "thcTest": {
+ "title": "THC Testi",
+ "comingSoon": "İçerik yakında geliyor..."
+ }
+ },
+ "orders": {
+ "status": {
+ "new": "İşleme alındı",
+ "pending": "Yeni",
+ "processing": "İşleniyor",
+ "cancelled": "İptal edildi",
+ "shipped": "Gönderildi",
+ "delivered": "Teslim edildi",
+ "return": "İade",
+ "partialReturn": "Kısmi iade",
+ "partialDelivered": "Kısmi teslim"
+ }
+ },
+ "common": {
+ "loading": "Yükleniyor...",
+ "error": "Hata",
+ "close": "Kapat",
+ "save": "Kaydet",
+ "cancel": "İptal",
+ "ok": "Tamam",
+ "yes": "Evet",
+ "no": "Hayır",
+ "next": "İleri",
+ "back": "Geri",
+ "edit": "Düzenle",
+ "delete": "Sil",
+ "add": "Ekle",
+ "remove": "Kaldır",
+ "products": "Ürünler",
+ "product": "Ürün"
+ }
+};
diff --git a/src/i18n/locales/uk/translation.js b/src/i18n/locales/uk/translation.js
index 5f7e9cd..4d81ba6 100644
--- a/src/i18n/locales/uk/translation.js
+++ b/src/i18n/locales/uk/translation.js
@@ -1,30 +1,34 @@
export default {
+ "locale": {
+ "code": "uk-UA"
+ },
"navigation": {
"home": "Головна",
"aktionen": "Акції",
"filiale": "Філія",
"categories": "Категорії",
"categoriesOpen": "Відкрити категорії",
- "categoriesClose": "Закрити категорії"
+ "categoriesClose": "Закрити категорії",
+ "otherCategories": "Інші категорії"
},
"auth": {
"login": "Увійти",
- "register": "Зареєструватися",
+ "register": "Реєстрація",
"logout": "Вийти",
"profile": "Профіль",
"email": "Електронна пошта",
"password": "Пароль",
"confirmPassword": "Підтвердити пароль",
"forgotPassword": "Забули пароль?",
- "loginWithGoogle": "Увійти через Google",
+ "loginWithGoogle": "Увійти з Google",
"or": "АБО",
- "privacyAccept": "Натискаючи \"Увійти через Google\", я приймаю",
- "privacyPolicy": "Політику конфіденційності",
- "passwordMinLength": "Пароль повинен містити мінімум 8 символів",
- "newPasswordMinLength": "Новий пароль повинен містити мінімум 8 символів",
+ "privacyAccept": "Натискаючи \"Увійти з Google\", я погоджуюсь із",
+ "privacyPolicy": "Політикою конфіденційності",
+ "passwordMinLength": "Пароль має містити щонайменше 8 символів",
+ "newPasswordMinLength": "Новий пароль має містити щонайменше 8 символів",
"menu": {
"profile": "Профіль",
- "checkout": "Оформлення замовлення",
+ "checkout": "Оформлення",
"orders": "Замовлення",
"settings": "Налаштування",
"adminDashboard": "Панель адміністратора",
@@ -32,149 +36,172 @@ export default {
}
},
"cart": {
- "title": "Кошик",
+ "title": "Кошик для покупок",
"empty": "порожній",
"addToCart": "Додати до кошика",
- "preorderCutting": "Попередньо замовити живці",
+ "preorderCutting": "Передзамовлення у вигляді черенків",
"continueShopping": "Продовжити покупки",
- "proceedToCheckout": "Перейти до каси",
+ "proceedToCheckout": "Перейти до оформлення",
+ "productCount": "{{count}} {{count, plural, one {товар} other {товари}}}",
+ "removeFromCart": "Видалити з кошика",
+ "openCart": "Відкрити кошик",
+ "availableFrom": "З {{date}}",
+ "backToOrder": "← Назад до замовлення",
"sync": {
"title": "Синхронізація кошика",
- "description": "У вашому обліковому записі є збережений кошик. Оберіть, як ви хочете продовжити:",
- "deleteServer": "Видалити кошик з сервера",
+ "description": "У вашому обліковому записі збережено кошик. Оберіть спосіб дії:",
+ "deleteServer": "Видалити кошик на сервері",
"useServer": "Використати кошик з сервера",
- "merge": "Об'єднати кошики",
+ "merge": "Об’єднати кошики",
"currentCart": "Ваш поточний кошик",
- "serverCart": "Кошик, збережений у вашому профілі"
+ "serverCart": "Збережений кошик у профілі"
}
},
"product": {
- "loading": "Завантаження продукту...",
- "notFound": "Продукт не знайдено",
- "notFoundDescription": "Шуканий продукт не існує або був видалений.",
- "backToHome": "Повернутися на головну",
+ "loading": "Завантаження товару...",
+ "notFound": "Товар не знайдено",
+ "notFoundDescription": "Шукаваний товар не існує або був видалений.",
+ "backToHome": "Повернутись на головну",
"error": "Помилка",
"articleNumber": "Артикул",
"manufacturer": "Виробник",
- "inclVat": "включаючи {{vat}}% ПДВ",
+ "inclVat": "з урахуванням {{vat}}% ПДВ",
"priceUnit": "{{price}}/{{unit}}",
"new": "Новий",
"arriving": "Прибуття:",
- "inclVatFooter": "включаючи {{vat}}% ПДВ,*",
- "availability": "Наявність",
- "inStock": "в наявності",
- "comingSoon": "Скоро буде доступно",
- "deliveryTime": "Час доставки",
- "inclShort": "включ.",
- "vatShort": "ПДВ"
+ "inclVatFooter": "з урахуванням {{vat}}% ПДВ, *",
+ "availability": "Доступність",
+ "inStock": "В наявності",
+ "comingSoon": "Незабаром",
+ "deliveryTime": "Термін доставки",
+ "inclShort": "вкл.",
+ "vatShort": "ПДВ",
+ "countDisplay": {
+ "noProducts": "0 товарів",
+ "oneProduct": "1 товар",
+ "multipleProducts": "{{count}} товарів",
+ "filteredProducts": "{{filtered}} із {{total}} товарів",
+ "filteredOneProduct": "{{filtered}} із 1 товару"
+ },
+ "removeFiltersToSee": "Зняти фільтри для перегляду товарів",
+ "outOfStock": "Немає в наявності",
+ "fromXProducts": "від {{count}} товарів"
},
"search": {
- "placeholder": "Ви можете запитати мене про сорти канабісу...",
- "recording": "Запис триває..."
+ "placeholder": "Можете запитати мене про сорти канабісу...",
+ "recording": "Запис...",
+ "searchProducts": "Пошук товарів..."
+ },
+ "sorting": {
+ "name": "Назва",
+ "searchField": "Пошуковий запит",
+ "priceLowHigh": "Ціна: від найнижчої до найвищої",
+ "priceHighLow": "Ціна: від найвищої до найнижчої"
},
"chat": {
- "privacyRead": "Прочитано та прийнято"
+ "privacyRead": "Читати & Прийняти"
},
"delivery": {
"methods": {
"dhl": "DHL",
- "dpd": "DPD",
- "sperrgut": "Великогабаритний вантаж",
- "pickup": "Самовивіз з філії"
+ "dpd": "DПД",
+ "sperrgut": "Об’ємні товари",
+ "pickup": "Забрати в магазині"
},
"descriptions": {
"standard": "Стандартна доставка",
- "standardFree": "Стандартна доставка - БЕЗКОШТОВНО від 100€!",
- "notAvailable": "недоступно, оскільки один або більше товарів можна лише забрати",
- "bulky": "Для великих і важких товарів"
+ "standardFree": "Стандартна доставка - БЕЗКОШТОВНО від €100 вартості товару!",
+ "notAvailable": "не доступний через обмеження, оскільки один або кілька товарів можна забрати лише особисто",
+ "bulky": "Для великих та важких товарів"
},
"prices": {
"free": "безкоштовно",
- "dhl": "6,99 €",
- "dpd": "4,90 €",
- "sperrgut": "28,99 €"
+ "freeFrom100": "(безкоштовно від €100)",
+ "dhl": "€6.99",
+ "dpd": "€4.90",
+ "sperrgut": "€28.99"
},
"times": {
- "cutting14Days": "Час доставки: 14 днів",
- "standard2to3Days": "Час доставки: 2-3 дні",
- "supplier7to9Days": "Час доставки: 7-9 днів"
+ "cutting14Days": "Термін доставки: 14 днів",
+ "standard2to3Days": "Термін доставки: 2-3 дні",
+ "supplier7to9Days": "Термін доставки: 7-9 днів"
}
},
"checkout": {
- "invoiceAddress": "Адреса рахунку",
+ "invoiceAddress": "Б kindoly аку",
"deliveryAddress": "Адреса доставки",
"saveForFuture": "Зберегти для майбутніх замовлень",
- "pickupDate": "На який термін потрібне отримання живців?",
+ "pickupDate": "На яку дату бажано забрати черенки?",
"note": "Примітка",
- "sameAddress": "Адреса доставки збігається з адресою рахунку",
- "termsAccept": "Я прочитав умови використання, політику конфіденційності та умови відмови"
+ "sameAddress": "Адреса доставки співпадає з адресою оплати",
+ "termsAccept": "Я ознайомлений із умовами та політикою конфіденційності та анулювання."
},
"payment": {
- "successful": "Платіж успішний!",
- "failed": "Платіж не вдався",
- "orderCompleted": "🎉 Ваше замовлення успішно завершено! Тепер ви можете переглянути свої замовлення.",
- "orderProcessing": "Ваш платіж успішно оброблено. Замовлення буде автоматично завершено.",
- "paymentError": "Ваш платіж не вдалося обробити. Спробуйте знову або оберіть інший спосіб оплати.",
+ "successful": "Оплата успішна!",
+ "failed": "Помилка оплати",
+ "orderCompleted": "🎉 Ваше замовлення успішно оформлено! Тепер ви можете переглянути свої замовлення.",
+ "orderProcessing": "Ваша оплата обробляється. Замовлення буде завершено автоматично.",
+ "paymentError": "Не вдалося опрацювати оплату. Будь ласка, спробуйте ще раз або оберіть інший спосіб оплати.",
"viewOrders": "Переглянути мої замовлення"
},
"filters": {
"sorting": "Сортування",
"perPage": "на сторінці",
- "availability": "Наявність",
+ "availability": "Доступність",
"manufacturer": "Виробник"
},
"tax": {
- "vat": "Податок на додану вартість",
+ "vat": "ПДВ",
"vat7": "7% ПДВ",
"vat19": "19% ПДВ",
- "vat19WithShipping": "19% ПДВ (включаючи доставку)",
- "totalNet": "Загальна чиста ціна",
- "totalGross": "Загальна брутто-ціна без доставки",
+ "vat19WithShipping": "19% ПДВ (з доставкою)",
+ "totalNet": "Загальна сума без ПДВ",
+ "totalGross": "Загальна сума з ПДВ без доставки",
"subtotal": "Проміжна сума"
},
"footer": {
"hours": "Сб 11-19",
- "address": "Тrachenberger Straße 14 - Дрезден",
- "location": "Між зупинкою Пішен і площею Траченберг",
- "allPricesIncl": "* Всі ціни включають законний ПДВ, плюс доставка",
+ "address": "Trachenberger Straße 14 - Дрезден",
+ "location": "Між зупинкою Пієшен і Trachenberger Platz",
+ "allPricesIncl": "* Всі ціни включають законний ПДВ, плюс доставку",
"copyright": "© {{year}} GrowHeads.de",
"legal": {
- "datenschutz": "Конфіденційність",
- "agb": "Умови використання",
+ "datenschutz": "Політика конфіденційності",
+ "agb": "Умови та положення",
"sitemap": "Карта сайту",
- "impressum": "Відомості про сайт",
- "batteriegesetzhinweise": "Інформація про закон про батареї",
- "widerrufsrecht": "Право на відмову"
+ "impressum": "Імпрессум",
+ "batteriegesetzhinweise": "Інструкції щодо батарей",
+ "widerrufsrecht": "Право відкликання"
}
},
"titles": {
- "home": "Насіння і живці канабісу",
- "aktionen": "Поточні акції та пропозиції",
- "filiale": "Наша філія в Дрездені"
+ "home": "ine anabis eeds & uttings",
+ "aktionen": "tuальні кції & gebote",
+ "filiale": "ur iliale in resden"
},
"sections": {
"seeds": "Насіння",
- "stecklinge": "Живці",
- "oilPress": "Оренда пресу для олії",
- "thcTest": "Тест на ТГК",
- "address1": "Тrachenberger Straße 14",
+ "stecklinge": "Черенки",
+ "oilPress": "Олійний прес напрокат",
+ "thcTest": "Тест на THC",
+ "address1": "Trachenberger Straße 14",
"address2": "01129 Дрезден"
},
"pages": {
"oilPress": {
- "title": "Оренда пресу для олії",
- "comingSoon": "Контент скоро буде..."
+ "title": "Олійний прес напрокат",
+ "comingSoon": "Зміст незабаром..."
},
"thcTest": {
- "title": "Тест на ТГК",
- "comingSoon": "Контент скоро буде..."
+ "title": "Тест на THC",
+ "comingSoon": "Зміст незабаром..."
}
},
"orders": {
"status": {
- "new": "в обробці",
+ "new": "В процесі",
"pending": "Новий",
- "processing": "в обробці",
+ "processing": "Обробляється",
"cancelled": "Скасовано",
"shipped": "Відправлено",
"delivered": "Доставлено",
@@ -189,10 +216,10 @@ export default {
"close": "Закрити",
"save": "Зберегти",
"cancel": "Скасувати",
- "ok": "OK",
+ "ok": "Добре",
"yes": "Так",
"no": "Ні",
- "next": "Далі",
+ "next": "Наступне",
"back": "Назад",
"edit": "Редагувати",
"delete": "Видалити",
@@ -201,4 +228,4 @@ export default {
"products": "Товари",
"product": "Товар"
}
-}
\ No newline at end of file
+};
diff --git a/src/i18n/locales/zh/translation.js b/src/i18n/locales/zh/translation.js
index dd68469..7adf219 100644
--- a/src/i18n/locales/zh/translation.js
+++ b/src/i18n/locales/zh/translation.js
@@ -1,204 +1,231 @@
export default {
- "navigation": {
- "home": "首页",
- "aktionen": "活动",
- "filiale": "分店",
- "categories": "分类",
- "categoriesOpen": "打开分类",
- "categoriesClose": "关闭分类"
- },
- "auth": {
- "login": "登录",
- "register": "注册",
- "logout": "退出",
+ "locale": {
+ "code": "zh-CN"
+ },
+ "navigation": {
+ "home": "首页",
+ "aktionen": "促销",
+ "filiale": "门店",
+ "categories": "分类",
+ "categoriesOpen": "打开分类",
+ "categoriesClose": "关闭分类",
+ "otherCategories": "其他分类"
+ },
+ "auth": {
+ "login": "登录",
+ "register": "注册",
+ "logout": "退出登录",
+ "profile": "个人资料",
+ "email": "电子邮箱",
+ "password": "密码",
+ "confirmPassword": "确认密码",
+ "forgotPassword": "忘记密码?",
+ "loginWithGoogle": "使用Google登录",
+ "or": "或者",
+ "privacyAccept": "点击“使用Google登录”即表示我接受",
+ "privacyPolicy": "隐私政策",
+ "passwordMinLength": "密码长度至少为8个字符",
+ "newPasswordMinLength": "新密码长度至少为8个字符",
+ "menu": {
"profile": "个人资料",
- "email": "邮箱",
- "password": "密码",
- "confirmPassword": "确认密码",
- "forgotPassword": "忘记密码?",
- "loginWithGoogle": "用Google登录",
- "or": "或者",
- "privacyAccept": "点击\"用Google登录\"即表示我接受",
- "privacyPolicy": "隐私政策",
- "passwordMinLength": "密码必须至少8个字符",
- "newPasswordMinLength": "新密码必须至少8个字符",
- "menu": {
- "profile": "个人资料",
- "checkout": "结账",
- "orders": "订单",
- "settings": "设置",
- "adminDashboard": "管理员面板",
- "adminUsers": "管理员用户"
- }
- },
- "cart": {
- "title": "购物车",
- "empty": "空",
- "addToCart": "加入购物车",
- "preorderCutting": "预订扦插",
- "continueShopping": "继续购物",
- "proceedToCheckout": "前往结账",
- "sync": {
- "title": "购物车同步",
- "description": "您在账户中有保存的购物车。请选择您想要如何继续:",
- "deleteServer": "删除服务器购物车",
- "useServer": "使用服务器购物车",
- "merge": "合并购物车",
- "currentCart": "您当前的购物车",
- "serverCart": "您个人资料中保存的购物车"
- }
- },
- "product": {
- "loading": "产品加载中...",
- "notFound": "产品未找到",
- "notFoundDescription": "所搜索的产品不存在或已被删除。",
- "backToHome": "返回首页",
- "error": "错误",
- "articleNumber": "商品编号",
- "manufacturer": "制造商",
- "inclVat": "含{{vat}}%增值税",
- "priceUnit": "{{price}}/{{unit}}",
- "new": "新品",
- "arriving": "到达:",
- "inclVatFooter": "含{{vat}}%增值税,*",
- "availability": "可用性",
- "inStock": "现货",
- "comingSoon": "即将推出",
- "deliveryTime": "交货时间",
- "inclShort": "含",
- "vatShort": "增值税"
- },
- "search": {
- "placeholder": "您可以询问我大麻品种...",
- "recording": "录音中..."
- },
- "chat": {
- "privacyRead": "已阅读并接受"
- },
- "delivery": {
- "methods": {
- "dhl": "DHL",
- "dpd": "DPD",
- "sperrgut": "大件货物",
- "pickup": "门店自提"
- },
- "descriptions": {
- "standard": "标准配送",
- "standardFree": "标准配送 - 满100€免费!",
- "notAvailable": "不可选择,因为一个或多个商品只能自提",
- "bulky": "适用于大件和重型商品"
- },
- "prices": {
- "free": "免费",
- "dhl": "6,99 €",
- "dpd": "4,90 €",
- "sperrgut": "28,99 €"
- },
- "times": {
- "cutting14Days": "交货时间:14天",
- "standard2to3Days": "交货时间:2-3天",
- "supplier7to9Days": "交货时间:7-9天"
- }
- },
- "checkout": {
- "invoiceAddress": "账单地址",
- "deliveryAddress": "配送地址",
- "saveForFuture": "保存用于未来订单",
- "pickupDate": "您希望在什么时间取货扦插?",
- "note": "备注",
- "sameAddress": "配送地址与账单地址相同",
- "termsAccept": "我已阅读条款和条件、隐私政策和退货权条款"
- },
- "payment": {
- "successful": "付款成功!",
- "failed": "付款失败",
- "orderCompleted": "🎉 您的订单已成功完成!您现在可以查看您的订单。",
- "orderProcessing": "您的付款已成功处理。订单将自动完成。",
- "paymentError": "无法处理您的付款。请重试或选择其他付款方式。",
- "viewOrders": "查看我的订单"
- },
- "filters": {
- "sorting": "排序",
- "perPage": "每页",
- "availability": "可用性",
- "manufacturer": "制造商"
- },
- "tax": {
- "vat": "增值税",
- "vat7": "7%增值税",
- "vat19": "19%增值税",
- "vat19WithShipping": "19%增值税(含运费)",
- "totalNet": "总净价",
- "totalGross": "总毛价(不含运费)",
- "subtotal": "小计"
- },
- "footer": {
- "hours": "周六 11-19",
- "address": "Trachenberger Straße 14 - 德累斯顿",
- "location": "在Pieschen站点和Trachenberger Platz之间",
- "allPricesIncl": "* 所有价格含法定增值税,另加运费",
- "copyright": "© {{year}} GrowHeads.de",
- "legal": {
- "datenschutz": "数据保护",
- "agb": "条款和条件",
- "sitemap": "网站地图",
- "impressum": "法律信息",
- "batteriegesetzhinweise": "电池法律信息",
- "widerrufsrecht": "退货权"
- }
- },
- "titles": {
- "home": "大麻种子和扦插",
- "aktionen": "当前活动和优惠",
- "filiale": "我们在德累斯顿的分店"
- },
- "sections": {
- "seeds": "种子",
- "stecklinge": "扦插",
- "oilPress": "榨油机租赁",
- "thcTest": "THC测试",
- "address1": "Trachenberger Straße 14",
- "address2": "01129 德累斯顿"
- },
- "pages": {
- "oilPress": {
- "title": "榨油机租赁",
- "comingSoon": "内容即将推出..."
- },
- "thcTest": {
- "title": "THC测试",
- "comingSoon": "内容即将推出..."
- }
- },
- "orders": {
- "status": {
- "new": "处理中",
- "pending": "新订单",
- "processing": "处理中",
- "cancelled": "已取消",
- "shipped": "已发货",
- "delivered": "已送达",
- "return": "退货",
- "partialReturn": "部分退货",
- "partialDelivered": "部分送达"
- }
- },
- "common": {
- "loading": "加载中...",
- "error": "错误",
- "close": "关闭",
- "save": "保存",
- "cancel": "取消",
- "ok": "确定",
- "yes": "是",
- "no": "否",
- "next": "下一步",
- "back": "返回",
- "edit": "编辑",
- "delete": "删除",
- "add": "添加",
- "remove": "移除",
- "products": "产品",
- "product": "产品"
+ "checkout": "结账",
+ "orders": "订单",
+ "settings": "设置",
+ "adminDashboard": "管理员后台",
+ "adminUsers": "管理员用户"
}
- }
\ No newline at end of file
+ },
+ "cart": {
+ "title": "购物车",
+ "empty": "空",
+ "addToCart": "加入购物车",
+ "preorderCutting": "预订为切割苗",
+ "continueShopping": "继续购物",
+ "proceedToCheckout": "前往结算",
+ "productCount": "{{count}} {{count, plural, one {个产品} other {个产品}}}",
+ "removeFromCart": "从购物车删除",
+ "openCart": "打开购物车",
+ "availableFrom": "自{{date}}起",
+ "backToOrder": "← 返回订单",
+ "sync": {
+ "title": "购物车同步",
+ "description": "你在账户中有已保存的购物车。请选择下一步操作:",
+ "deleteServer": "删除服务器购物车",
+ "useServer": "使用服务器购物车",
+ "merge": "合并购物车",
+ "currentCart": "你当前的购物车",
+ "serverCart": "你个人资料中的已保存购物车"
+ }
+ },
+ "product": {
+ "loading": "加载中...",
+ "notFound": "未找到产品",
+ "notFoundDescription": "搜索的产品不存在或已被移除。",
+ "backToHome": "返回首页",
+ "error": "错误",
+ "articleNumber": "商品编号",
+ "manufacturer": "制造商",
+ "inclVat": "含{{vat}}%增值税",
+ "priceUnit": "{{price}}/{{unit}}",
+ "new": "新品",
+ "arriving": "到货:",
+ "inclVatFooter": "含{{vat}}%增值税,*",
+ "availability": "库存情况",
+ "inStock": "有现货",
+ "comingSoon": "即将上市",
+ "deliveryTime": "交货时间",
+ "inclShort": "含",
+ "vatShort": "增值税",
+ "countDisplay": {
+ "noProducts": "0 个产品",
+ "oneProduct": "1 个产品",
+ "multipleProducts": "{{count}} 个产品",
+ "filteredProducts": "{{filtered}} / {{total}} 个产品",
+ "filteredOneProduct": "{{filtered}} / 1 个产品"
+ },
+ "removeFiltersToSee": "移除筛选以查看产品",
+ "outOfStock": "缺货",
+ "fromXProducts": "来自 {{count}} 个产品"
+ },
+ "search": {
+ "placeholder": "你可以告诉我大麻品系...",
+ "recording": "正在录音...",
+ "searchProducts": "搜索产品..."
+ },
+ "sorting": {
+ "name": "名称",
+ "searchField": "搜索内容",
+ "priceLowHigh": "价格:由低到高",
+ "priceHighLow": "价格:由高到低"
+ },
+ "chat": {
+ "privacyRead": "已阅读 & 已接受"
+ },
+ "delivery": {
+ "methods": {
+ "dhl": "DHL",
+ "dpd": "DHL",
+ "sperrgut": "大件货物",
+ "pickup": "自提"
+ },
+ "descriptions": {
+ "standard": "标准配送",
+ "standardFree": "标准配送 - 满100欧元免费!",
+ "notAvailable": "不可选择,因为一项或多项商品只能自提",
+ "bulky": "大型和重型商品"
+ },
+ "prices": {
+ "free": "免费",
+ "freeFrom100": "(满100欧元免费)",
+ "dhl": "€6.99",
+ "dpd": "€4.90",
+ "sperrgut": "€28.99"
+ },
+ "times": {
+ "cutting14Days": "交货时间:14天",
+ "standard2to3Days": "交货时间:2-3天",
+ "supplier7to9Days": "交货时间:7-9天"
+ }
+ },
+ "checkout": {
+ "invoiceAddress": "账单地址",
+ "deliveryAddress": "送货地址",
+ "saveForFuture": "保存以便将来订单",
+ "pickupDate": "您希望何时提货?",
+ "note": "备注",
+ "sameAddress": "送货地址与账单地址相同",
+ "termsAccept": "我已阅读条款条件、隐私政策及退货政策"
+ },
+ "payment": {
+ "successful": "支付成功!",
+ "failed": "支付失败",
+ "orderCompleted": "🎉 您的订单已成功完成!您可以查看您的订单。",
+ "orderProcessing": "您的付款已成功处理,订单将自动完成。",
+ "paymentError": "您的付款未能成功,请重试或选择其他支付方式。",
+ "viewOrders": "查看我的订单"
+ },
+ "filters": {
+ "sorting": "排序",
+ "perPage": "每页",
+ "availability": "库存状态",
+ "manufacturer": "制造商"
+ },
+ "tax": {
+ "vat": "增值税",
+ "vat7": "7%增值税",
+ "vat19": "19%增值税",
+ "vat19WithShipping": "19%增值税(含运费)",
+ "totalNet": "总净价",
+ "totalGross": "总毛价(不含运费)",
+ "subtotal": "小计"
+ },
+ "footer": {
+ "hours": "周六 11-19点",
+ "address": "Trachenberger Straße 14 - 德累斯顿",
+ "location": "Pieschen站与Trachenberger Platz之间",
+ "allPricesIncl": "* 所有价格均含法定增值税,另加运费",
+ "copyright": "© {{year}} GrowHeads.de",
+ "legal": {
+ "datenschutz": "隐私政策",
+ "agb": "条款与条件",
+ "sitemap": "网站地图",
+ "impressum": "法律声明",
+ "batteriegesetzhinweise": "电池法规公告",
+ "widerrufsrecht": "退货权"
+ }
+ },
+ "titles": {
+ "home": "大麻种子 & 苗供应",
+ "aktionen": "促销活动 & 优惠",
+ "filiale": "位于 德累斯顿的分店"
+ },
+ "sections": {
+ "seeds": "种子",
+ "stecklinge": "切割苗",
+ "oilPress": "榨油机租赁",
+ "thcTest": "THC测试",
+ "address1": "Trachenberger Straße 14",
+ "address2": "01129 德累斯顿"
+ },
+ "pages": {
+ "oilPress": {
+ "title": "榨油机租赁",
+ "comingSoon": "内容即将上线..."
+ },
+ "thcTest": {
+ "title": "THC检测",
+ "comingSoon": "内容即将上线..."
+ }
+ },
+ "orders": {
+ "status": {
+ "new": "处理中",
+ "pending": "新订单",
+ "processing": "处理中",
+ "cancelled": "已取消",
+ "shipped": "已发货",
+ "delivered": "已送达",
+ "return": "退货",
+ "partialReturn": "部分退货",
+ "partialDelivered": "部分已送达"
+ }
+ },
+ "common": {
+ "loading": "加载中...",
+ "error": "错误",
+ "close": "关闭",
+ "save": "保存",
+ "cancel": "取消",
+ "ok": "确定",
+ "yes": "是",
+ "no": "否",
+ "next": "下一步",
+ "back": "返回",
+ "edit": "编辑",
+ "delete": "删除",
+ "add": "添加",
+ "remove": "移除",
+ "products": "产品",
+ "product": "产品"
+ }
+};
diff --git a/translate-i18n.js b/translate-i18n.js
new file mode 100755
index 0000000..cdb2f2d
--- /dev/null
+++ b/translate-i18n.js
@@ -0,0 +1,340 @@
+#!/usr/bin/env node
+
+const fs = require('fs');
+const path = require('path');
+const OpenAI = require('openai');
+
+// Configuration
+const OPENAI_API_KEY = process.env.OPENAI_API_KEY;
+const LOCALES_DIR = './src/i18n/locales';
+const GERMAN_FILE = path.join(LOCALES_DIR, 'de/translation.js');
+const ENGLISH_FILE = path.join(LOCALES_DIR, 'en/translation.js');
+
+// Model configuration
+const GERMAN_TO_ENGLISH_MODEL = 'gpt-4.1'; // High-quality model for German -> English (critical step)
+const ENGLISH_TO_OTHER_MODEL = 'gpt-4.1-mini'; // Faster/cheaper model for English -> Other languages
+
+// Supported languages for translation
+const TARGET_LANGUAGES = {
+ 'bg': 'Bulgarian',
+ 'cs': 'Czech',
+ 'es': 'Spanish',
+ 'fr': 'French',
+ 'el': 'Greek',
+ 'hr': 'Croatian',
+ 'hu': 'Hungarian',
+ 'it': 'Italian',
+ 'pl': 'Polish',
+ 'ro': 'Romanian',
+ 'ru': 'Russian',
+ 'sk': 'Slovak',
+ 'sl': 'Slovenian',
+ 'sr': 'Serbian',
+ 'sv': 'Swedish',
+ 'tr': 'Turkish',
+ 'uk': 'Ukrainian',
+ 'ar': 'Arabic (Egyptian)',
+ 'zh': 'Chinese (Simplified)'
+};
+
+// Initialize OpenAI client
+const openai = new OpenAI({
+ apiKey: OPENAI_API_KEY,
+});
+
+// System prompt for German to English translation
+const GERMAN_TO_ENGLISH_SYSTEM_PROMPT = `
+You MUST translate German strings to English AND add the original German text as a comment after EVERY translated string.
+
+CRITICAL REQUIREMENT: Every translated string must have the original German text as a comment.
+
+Rules:
+1. Translate all German strings to English
+2. MANDATORY: Add the original German text as a comment after EVERY translated string using // format
+3. Preserve all existing comments from the German version
+4. Maintain the exact JavaScript object structure and formatting
+5. Keep all interpolation variables like {{count}}, {{vat}}, etc. unchanged
+6. Keep locale codes appropriate for English
+7. For the locale section, use "en-US" as code
+8. Do not translate technical terms that are already in English
+9. Preserve any special formatting or HTML entities
+10. Return a valid JavaScript object (not JSON) that can be exported
+
+MANDATORY FORMAT for every string:
+"englishTranslation": "English Translation", // Original German Text
+
+Examples:
+"login": "Login", // Anmelden
+"email": "Email", // E-Mail
+"password": "Password", // Passwort
+"home": "Home", // Startseite
+
+DO NOT output any string without its German comment. Every single translated string needs the German original as a comment.
+`;
+
+// System prompt template for English to other languages (file content will be inserted)
+const ENGLISH_TO_OTHER_SYSTEM_PROMPT_TEMPLATE = `
+Translate the English strings in the following file to {{targetLanguage}}, preserving the German comments.
+
+Rules:
+1. Translate only the English strings to {{targetLanguage}}
+2. Keep all German comments unchanged
+3. Maintain the exact JavaScript object structure and formatting
+4. Keep all interpolation variables like {{count}}, {{vat}}, etc. unchanged
+5. Update locale code appropriately for the target language
+6. Do not translate technical terms, API keys, or code-related strings
+7. Preserve any special formatting or HTML entities
+8. Keep existing comments from the English version
+9. Return a valid JavaScript object (not JSON) that can be exported
+
+Here is the English translation file to translate:
+
+{{englishFileContent}}
+`;
+
+// Function to read and parse JavaScript export file
+function readTranslationFile(filePath) {
+ try {
+ const content = fs.readFileSync(filePath, 'utf8');
+ // Remove the export default and evaluate the object
+ const objectContent = content.replace(/^export default\s*/, '').replace(/;\s*$/, '');
+ return eval(`(${objectContent})`);
+ } catch (error) {
+ console.error(`Error reading ${filePath}:`, error.message);
+ return null;
+ }
+}
+
+// Function to write translation file (preserving comments as string)
+function writeTranslationFile(filePath, translationString) {
+ try {
+ // Ensure directory exists
+ const dir = path.dirname(filePath);
+ if (!fs.existsSync(dir)) {
+ fs.mkdirSync(dir, { recursive: true });
+ }
+
+ // Ensure the string has proper export format
+ const content = translationString.startsWith('export default')
+ ? translationString
+ : `export default ${translationString}`;
+
+ // Ensure it ends with semicolon and newline
+ const finalContent = content.endsWith(';\n') ? content : content.replace(/;?\s*$/, ';\n');
+
+ fs.writeFileSync(filePath, finalContent, 'utf8');
+ console.log(`✅ Successfully wrote ${filePath}`);
+ } catch (error) {
+ console.error(`Error writing ${filePath}:`, error.message);
+ }
+}
+
+// Function to translate content using OpenAI (for German to English)
+async function translateContent(content, systemPrompt, targetLanguage = null, model = 'gpt-4') {
+ try {
+ const prompt = targetLanguage
+ ? systemPrompt.replace(/{{targetLanguage}}/g, targetLanguage)
+ : systemPrompt;
+
+ const response = await openai.chat.completions.create({
+ model: model,
+ messages: [
+ { role: 'system', content: prompt },
+ { role: 'user', content: `Please translate this translation file content:\n\n${content}` }
+ ],
+ temperature: 0.1,
+ max_tokens: 4000
+ });
+
+ return response.choices[0].message.content;
+ } catch (error) {
+ console.error('OpenAI API error:', error.message);
+ throw error;
+ }
+}
+
+// Function to translate English to other languages (optimized for caching)
+async function translateToTargetLanguage(englishContent, targetLanguage, model = 'gpt-4o-mini') {
+ try {
+ // Create system prompt with file content (cacheable)
+ const systemPrompt = ENGLISH_TO_OTHER_SYSTEM_PROMPT_TEMPLATE
+ .replace(/{{targetLanguage}}/g, targetLanguage)
+ .replace(/{{englishFileContent}}/g, englishContent);
+
+ const response = await openai.chat.completions.create({
+ model: model,
+ messages: [
+ { role: 'system', content: systemPrompt },
+ { role: 'user', content: `Please translate to ${targetLanguage}` }
+ ],
+ temperature: 0.1,
+ max_tokens: 4000
+ });
+
+ return response.choices[0].message.content;
+ } catch (error) {
+ console.error('OpenAI API error:', error.message);
+ throw error;
+ }
+}
+
+// Function to extract JavaScript object string from OpenAI response (preserving comments)
+function extractJSObjectString(response) {
+ try {
+ // Remove code block markers if present
+ let cleaned = response.replace(/```javascript|```json|```/g, '').trim();
+
+ // Try to find the object in the response
+ const objectMatch = cleaned.match(/\{[\s\S]*\}/);
+ if (objectMatch) {
+ return objectMatch[0];
+ }
+
+ // If no object found, return the cleaned response
+ return cleaned;
+ } catch (error) {
+ console.error('Error parsing OpenAI response:', error.message);
+ console.log('Response was:', response);
+ return null;
+ }
+}
+
+// Main translation function
+async function translateToEnglish() {
+ console.log(`🔄 Step 1: Translating German to English using ${GERMAN_TO_ENGLISH_MODEL}...`);
+
+ // Read German translation file
+ const germanContent = fs.readFileSync(GERMAN_FILE, 'utf8');
+
+ try {
+ const translatedContent = await translateContent(germanContent, GERMAN_TO_ENGLISH_SYSTEM_PROMPT, null, GERMAN_TO_ENGLISH_MODEL);
+ const englishObjectString = extractJSObjectString(translatedContent);
+
+ if (englishObjectString) {
+ writeTranslationFile(ENGLISH_FILE, englishObjectString);
+ console.log('✅ German to English translation completed');
+ return englishObjectString;
+ } else {
+ throw new Error('Failed to parse English translation');
+ }
+ } catch (error) {
+ console.error('❌ Error translating to English:', error.message);
+ return null;
+ }
+}
+
+// Function to translate English to other languages
+async function translateToOtherLanguages(englishObjectString) {
+ console.log(`🔄 Step 2: Translating English to other languages using ${ENGLISH_TO_OTHER_MODEL}...`);
+
+ const englishContent = `export default ${englishObjectString};`;
+
+ for (const [langCode, langName] of Object.entries(TARGET_LANGUAGES)) {
+ try {
+ console.log(`🔄 Translating to ${langName} (${langCode})...`);
+
+ const translatedContent = await translateToTargetLanguage(
+ englishContent,
+ langName,
+ ENGLISH_TO_OTHER_MODEL
+ );
+
+ const translatedObjectString = extractJSObjectString(translatedContent);
+
+ if (translatedObjectString) {
+ // Update locale code in the string
+ const updatedString = translatedObjectString.replace(
+ /"code":\s*"[^"]*"/,
+ `"code": "${getLocaleCode(langCode)}"`
+ );
+
+ const targetFile = path.join(LOCALES_DIR, `${langCode}/translation.js`);
+ writeTranslationFile(targetFile, updatedString);
+ console.log(`✅ ${langName} translation completed`);
+ } else {
+ console.error(`❌ Failed to parse ${langName} translation`);
+ }
+
+ // Add delay to avoid rate limiting
+ await new Promise(resolve => setTimeout(resolve, 1000));
+
+ } catch (error) {
+ console.error(`❌ Error translating to ${langName}:`, error.message);
+ }
+ }
+}
+
+// Helper function to get locale codes
+function getLocaleCode(langCode) {
+ const localeCodes = {
+ 'bg': 'bg-BG',
+ 'cs': 'cs-CZ',
+ 'es': 'es-ES',
+ 'fr': 'fr-FR',
+ 'el': 'el-GR',
+ 'hr': 'hr-HR',
+ 'hu': 'hu-HU',
+ 'it': 'it-IT',
+ 'pl': 'pl-PL',
+ 'ro': 'ro-RO',
+ 'ru': 'ru-RU',
+ 'sk': 'sk-SK',
+ 'sl': 'sl-SI',
+ 'sr': 'sr-RS',
+ 'sv': 'sv-SE',
+ 'tr': 'tr-TR',
+ 'uk': 'uk-UA',
+ 'ar': 'ar-EG',
+ 'zh': 'zh-CN'
+ };
+ return localeCodes[langCode] || `${langCode}-${langCode.toUpperCase()}`;
+}
+
+
+
+// Main execution
+async function main() {
+ console.log('🚀 Starting translation process...');
+
+ // Check if OpenAI API key is set
+ if (!OPENAI_API_KEY) {
+ console.error('❌ OPENAI_API_KEY environment variable is not set');
+ console.log('Please set your OpenAI API key: export OPENAI_API_KEY="your-api-key-here"');
+ process.exit(1);
+ }
+
+ // Check if German file exists
+ if (!fs.existsSync(GERMAN_FILE)) {
+ console.error(`❌ German translation file not found: ${GERMAN_FILE}`);
+ process.exit(1);
+ }
+
+ try {
+ // Step 1: Translate German to English
+ const englishObjectString = await translateToEnglish();
+
+ if (englishObjectString) {
+ // Step 2: Translate English to other languages
+ await translateToOtherLanguages(englishObjectString);
+ console.log('🎉 All translations completed successfully!');
+ } else {
+ console.error('❌ Failed to create English translation, stopping process');
+ }
+
+ } catch (error) {
+ console.error('❌ Translation process failed:', error.message);
+ process.exit(1);
+ }
+}
+
+// Run the script
+if (require.main === module) {
+ main();
+}
+
+module.exports = {
+ translateToEnglish,
+ translateToOtherLanguages,
+ readTranslationFile,
+ writeTranslationFile
+};
\ No newline at end of file