diff --git a/src/components/Product.js b/src/components/Product.js index 2cee78f..4a38e0d 100644 --- a/src/components/Product.js +++ b/src/components/Product.js @@ -173,7 +173,7 @@ class Product extends Component { zIndex: 1000 }} > - NEU + {this.props.t ? this.props.t('product.new') : 'NEU'} )} @@ -240,7 +240,7 @@ class Product extends Component { transformOrigin: 'top left' }} > - {floweringWeeks} Wochen + {floweringWeeks} {this.props.t ? this.props.t('product.weeks') : 'Wochen'} )} diff --git a/src/components/ProductList.js b/src/components/ProductList.js index e1a93d9..6484ca0 100644 --- a/src/components/ProductList.js +++ b/src/components/ProductList.js @@ -476,6 +476,7 @@ class ProductList extends Component { pictureList={product.pictureList} availableSupplier={product.availableSupplier} komponenten={product.komponenten} + t={this.props.t} /> ))} diff --git a/src/i18n/locales/ar/auth.js b/src/i18n/locales/ar/auth.js new file mode 100644 index 0000000..e03f0ee --- /dev/null +++ b/src/i18n/locales/ar/auth.js @@ -0,0 +1,25 @@ +export default { + "login": "تسجيل الدخول", // Anmelden + "register": "تسجيل", // Registrieren + "logout": "تسجيل خروج", // Abmelden + "profile": "الملف الشخصي", // Profil + "email": "البريد الإلكتروني", // E-Mail + "password": "كلمة المرور", // Passwort + "confirmPassword": "تأكيد كلمة المرور", // Passwort bestätigen + "forgotPassword": "هل نسيت كلمة المرور؟", // Passwort vergessen? + "loginWithGoogle": "تسجيل الدخول باستخدام Google", // Mit Google anmelden + "or": "أو", // ODER + "privacyAccept": "بالنقر على \"تسجيل الدخول باستخدام Google\" أوافق على", // Mit dem Click auf "Mit Google anmelden" akzeptiere ich die + "privacyPolicy": "سياسة الخصوصية", // Datenschutzbestimmungen + "passwordMinLength": "يجب أن تكون كلمة المرور مكونة من 8 أحرف على الأقل", // Das Passwort muss mindestens 8 Zeichen lang sein + "newPasswordMinLength": "يجب أن تكون كلمة المرور الجديدة مكونة من 8 أحرف على الأقل", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "menu": { + "profile": "الملف الشخصي", // Profil + "myProfile": "ملفي الشخصي", // Mein Profil + "checkout": "إتمام الشراء", // Bestellabschluss + "orders": "الطلبات", // Bestellungen + "settings": "الإعدادات", // Einstellungen + "adminDashboard": "لوحة تحكم المسؤول", // Admin Dashboard + "adminUsers": "مستخدمو المسؤول" // Admin Users + } +}; diff --git a/src/i18n/locales/ar/cart.js b/src/i18n/locales/ar/cart.js new file mode 100644 index 0000000..08fbff8 --- /dev/null +++ b/src/i18n/locales/ar/cart.js @@ -0,0 +1,24 @@ +export default { + "title": "العربة", // Warenkorb + "empty": "فارغ", // leer + "addToCart": "أضف إلى العربة", // In den Korb + "preorderCutting": "اطلب مسبقًا كشتلة", // Als Steckling vorbestellen + "continueShopping": "تابع التسوق", // Weiter einkaufen + "proceedToCheckout": "المتابعة إلى الدفع", // Weiter zur Kasse + "productCount": "{{count}} {{count, plural, one {منتج} other {منتجات}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} + "productSingular": "منتج", // Produkt + "productPlural": "منتجات", // Produkte + "removeFromCart": "إزالة من العربة", // Aus dem Warenkorb entfernen + "openCart": "افتح العربة", // Warenkorb öffnen + "availableFrom": "متوفر من {{date}}", // Ab {{date}} + "backToOrder": "← العودة إلى الطلب", // ← Zurück zur Bestellung + "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 + } +}; diff --git a/src/i18n/locales/ar/chat.js b/src/i18n/locales/ar/chat.js new file mode 100644 index 0000000..f5a269c --- /dev/null +++ b/src/i18n/locales/ar/chat.js @@ -0,0 +1,3 @@ +export default { + "privacyRead": "تم القراءة والموافقة", // Gelesen & Akzeptiert +}; diff --git a/src/i18n/locales/ar/checkout.js b/src/i18n/locales/ar/checkout.js new file mode 100644 index 0000000..44982b0 --- /dev/null +++ b/src/i18n/locales/ar/checkout.js @@ -0,0 +1,13 @@ +export default { + "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 + "selectDeliveryMethod": "اختر طريقة الشحن", // Versandart wählen + "selectPaymentMethod": "اختر طريقة الدفع", // Zahlungsart wählen + "orderSummary": "ملخص الطلب", // Bestellübersicht + "addressValidationError": "يرجى التحقق من بياناتك في حقول العنوان." // Bitte überprüfen Sie Ihre Eingaben in den Adressfeldern. +}; diff --git a/src/i18n/locales/ar/common.js b/src/i18n/locales/ar/common.js new file mode 100644 index 0000000..89b5994 --- /dev/null +++ b/src/i18n/locales/ar/common.js @@ -0,0 +1,19 @@ +export default { + "loading": "جارٍ التحميل...", // Lädt... + "error": "خطأ", // Fehler + "close": "إغلاق", // Schließen + "save": "حفظ", // Speichern + "cancel": "إلغاء", // Abbrechen + "ok": "موافق", // OK + "yes": "نعم", // Ja + "no": "لا", // Nein + "next": "التالي", // Weiter + "back": "رجوع", // Zurück + "edit": "تعديل", // Bearbeiten + "delete": "حذف", // Löschen + "add": "إضافة", // Hinzufügen + "remove": "إزالة", // Entfernen + "products": "منتجات", // Produkte + "product": "منتج", // Produkt + "days": "أيام" // Tage +}; diff --git a/src/i18n/locales/ar/delivery.js b/src/i18n/locales/ar/delivery.js new file mode 100644 index 0000000..3b04dbe --- /dev/null +++ b/src/i18n/locales/ar/delivery.js @@ -0,0 +1,27 @@ +export default { + "methods": { + "dhl": "DHL", // DHL + "dpd": "DPD", // DPD + "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 + "bulky": "للعناصر الكبيرة والثقيلة", // Für große und schwere Artikel + "pickupOnly": "الاستلام فقط" // nur Abholung + }, + "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 + } +}; diff --git a/src/i18n/locales/ar/filters.js b/src/i18n/locales/ar/filters.js new file mode 100644 index 0000000..4a14f6a --- /dev/null +++ b/src/i18n/locales/ar/filters.js @@ -0,0 +1,7 @@ +export default { + "sorting": "الترتيب", // Sortierung + "perPage": "لكل صفحة", // pro Seite + "availability": "التوفر", // Verfügbarkeit + "manufacturer": "الشركة المصنعة", // Hersteller + "all": "الكل", // Alle +}; diff --git a/src/i18n/locales/ar/footer.js b/src/i18n/locales/ar/footer.js new file mode 100644 index 0000000..8258268 --- /dev/null +++ b/src/i18n/locales/ar/footer.js @@ -0,0 +1,15 @@ +export default { + "hours": "السبت 11 صباحًا - 7 مساءً", // Sa 11-19 + "address": "شارع تراشنبرجر 14 - دريسدن", // Trachenberger Straße 14 - Dresden + "location": "بين محطة بيسشن وساحة تراشنبرجر", // Zwischen Haltepunkt Pieschen und Trachenberger Platz + "allPricesIncl": "* جميع الأسعار تشمل ضريبة القيمة المضافة القانونية، بالإضافة إلى الشحن", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand + "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de + "legal": { + "datenschutz": "سياسة الخصوصية", // Datenschutz + "agb": "الشروط والأحكام", // AGB + "sitemap": "خريطة الموقع", // Sitemap + "impressum": "الإشعار القانوني", // Impressum + "batteriegesetzhinweise": "معلومات قانون البطاريات", // Batteriegesetzhinweise + "widerrufsrecht": "حق الانسحاب" // Widerrufsrecht + } +}; diff --git a/src/i18n/locales/ar/index.js b/src/i18n/locales/ar/index.js new file mode 100644 index 0000000..1dd359f --- /dev/null +++ b/src/i18n/locales/ar/index.js @@ -0,0 +1,43 @@ +import locale from './locale.js'; +import navigation from './navigation.js'; +import auth from './auth.js'; +import cart from './cart.js'; +import product from './product.js'; +import search from './search.js'; +import sorting from './sorting.js'; +import chat from './chat.js'; +import delivery from './delivery.js'; +import checkout from './checkout.js'; +import payment from './payment.js'; +import filters from './filters.js'; +import tax from './tax.js'; +import footer from './footer.js'; +import titles from './titles.js'; +import sections from './sections.js'; +import pages from './pages.js'; +import orders from './orders.js'; +import settings from './settings.js'; +import common from './common.js'; + +export default { + "locale": locale, + "navigation": navigation, + "auth": auth, + "cart": cart, + "product": product, + "search": search, + "sorting": sorting, + "chat": chat, + "delivery": delivery, + "checkout": checkout, + "payment": payment, + "filters": filters, + "tax": tax, + "footer": footer, + "titles": titles, + "sections": sections, + "pages": pages, + "orders": orders, + "settings": settings, + "common": common +}; \ No newline at end of file diff --git a/src/i18n/locales/ar/locale.js b/src/i18n/locales/ar/locale.js new file mode 100644 index 0000000..61b13de --- /dev/null +++ b/src/i18n/locales/ar/locale.js @@ -0,0 +1,3 @@ +export default { + "code": "ar-EG" // de-DE +}; diff --git a/src/i18n/locales/ar/navigation.js b/src/i18n/locales/ar/navigation.js new file mode 100644 index 0000000..3ce9abe --- /dev/null +++ b/src/i18n/locales/ar/navigation.js @@ -0,0 +1,9 @@ +export default { + "home": "الرئيسية", // Startseite + "aktionen": "العروض", // Aktionen + "filiale": "الفرع", // Filiale + "categories": "الفئات", // Kategorien + "categoriesOpen": "فتح الفئات", // Kategorien öffnen + "categoriesClose": "إغلاق الفئات", // Kategorien schließen + "otherCategories": "فئات أخرى" // Andere Kategorien +}; diff --git a/src/i18n/locales/ar/orders.js b/src/i18n/locales/ar/orders.js new file mode 100644 index 0000000..bfdb03a --- /dev/null +++ b/src/i18n/locales/ar/orders.js @@ -0,0 +1,23 @@ +export default { + "status": { + "new": "قيد التنفيذ", // in Bearbeitung + "pending": "جديد", // Neu + "processing": "قيد التنفيذ", // in Bearbeitung + "cancelled": "ملغي", // Storniert + "shipped": "تم الشحن", // Verschickt + "delivered": "تم التوصيل", // Geliefert + "return": "إرجاع", // Retoure + "partialReturn": "إرجاع جزئي", // Teil Retoure + "partialDelivered": "تم التوصيل جزئياً" // Teil geliefert + }, + "table": { + "orderNumber": "رقم الطلب", // Bestellnummer + "date": "التاريخ", // Datum + "status": "الحالة", // Status + "items": "العناصر", // Artikel + "total": "الإجمالي", // Summe + "actions": "الإجراءات", // Aktionen + "viewDetails": "عرض التفاصيل" // Details anzeigen + }, + "noOrders": "لم تقم بوضع أي طلبات بعد." // Sie haben noch keine Bestellungen aufgegeben. +}; diff --git a/src/i18n/locales/ar/pages.js b/src/i18n/locales/ar/pages.js new file mode 100644 index 0000000..af0007d --- /dev/null +++ b/src/i18n/locales/ar/pages.js @@ -0,0 +1,10 @@ +export default { + "oilPress": { + "title": "استعارة مكبس الزيت", // Ölpresse ausleihen + "comingSoon": "المحتوى قادم قريباً...", // Inhalt kommt bald... + }, + "thcTest": { + "title": "اختبار THC", // THC Test + "comingSoon": "المحتوى قادم قريباً...", // Inhalt kommt bald... + } +}; diff --git a/src/i18n/locales/ar/payment.js b/src/i18n/locales/ar/payment.js new file mode 100644 index 0000000..c086aa0 --- /dev/null +++ b/src/i18n/locales/ar/payment.js @@ -0,0 +1,8 @@ +export default { + "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 +}; diff --git a/src/i18n/locales/ar/product.js b/src/i18n/locales/ar/product.js new file mode 100644 index 0000000..877bb5b --- /dev/null +++ b/src/i18n/locales/ar/product.js @@ -0,0 +1,32 @@ +export default { + "loading": "جارٍ تحميل المنتج...", // Produkt wird geladen... + "notFound": "المنتج غير موجود", // Produkt nicht gefunden + "notFoundDescription": "المنتج الذي تبحث عنه غير موجود أو تم إزالته.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. + "backToHome": "العودة إلى الصفحة الرئيسية", // Zurück zur Startseite + "error": "خطأ", // Fehler + "articleNumber": "رقم الصنف", // Artikelnummer + "manufacturer": "الشركة المصنعة", // Hersteller + "inclVat": "شامل {{vat}}% ضريبة القيمة المضافة", // inkl. {{vat}}% MwSt. + "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} + "new": "جديد", // Neu + "weeks": "أسابيع", // Wochen + "arriving": "الوصول:", // Ankunft: + "inclVatFooter": "شامل {{vat}}% ضريبة القيمة المضافة,*", // inkl. {{vat}}% MwSt.,* + "availability": "التوفر", // Verfügbarkeit + "inStock": "متوفر في المخزون", // auf Lager + "comingSoon": "قريباً", // Bald verfügbar + "deliveryTime": "مدة التوصيل", // Lieferzeit + "inclShort": "شامل", // inkl. + "vatShort": "ضريبة القيمة المضافة", // MwSt. + "countDisplay": { + "noProducts": "0 منتجات", // 0 Produkte + "oneProduct": "منتج واحد", // 1 Produkt + "multipleProducts": "{{count}} منتجات", // {{count}} Produkte + "filteredProducts": "{{filtered}} من {{total}} منتجات", // {{filtered}} von {{total}} Produkten + "filteredOneProduct": "{{filtered}} من منتج واحد", // {{filtered}} von 1 Produkt + "xOfYProducts": "{{x}} من {{y}} منتجات" // {{x}} von {{y}} Produkten + }, + "removeFiltersToSee": "أزل الفلاتر لرؤية المنتجات", // Entferne Filter um Produkte zu sehen + "outOfStock": "غير متوفر في المخزون", // Out of Stock + "fromXProducts": "من {{count}} منتجات" // ab {{count}} Produkten +}; diff --git a/src/i18n/locales/ar/search.js b/src/i18n/locales/ar/search.js new file mode 100644 index 0000000..d374cdc --- /dev/null +++ b/src/i18n/locales/ar/search.js @@ -0,0 +1,5 @@ +export default { + "placeholder": "ممكن تسألني عن أنواع الحشيش...", // Du kannst mich nach Cannabissorten fragen... + "recording": "جاري التسجيل...", // Aufnahme läuft... + "searchProducts": "ابحث عن المنتجات...", // Produkte suchen... +}; diff --git a/src/i18n/locales/ar/sections.js b/src/i18n/locales/ar/sections.js new file mode 100644 index 0000000..e5b069f --- /dev/null +++ b/src/i18n/locales/ar/sections.js @@ -0,0 +1,8 @@ +export default { + "seeds": "بذور", // Seeds + "stecklinge": "قصاصات", // Stecklinge + "oilPress": "استعارة معصرة زيت", // Ölpresse ausleihen + "thcTest": "اختبار THC", // THC Test + "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 + "address2": "01129 Dresden" // 01129 Dresden +}; diff --git a/src/i18n/locales/ar/settings.js b/src/i18n/locales/ar/settings.js new file mode 100644 index 0000000..047453f --- /dev/null +++ b/src/i18n/locales/ar/settings.js @@ -0,0 +1,34 @@ +export default { + "changePassword": "تغيير كلمة المرور", // Passwort ändern + "currentPassword": "كلمة المرور الحالية", // Aktuelles Passwort + "newPassword": "كلمة المرور الجديدة", // Neues Passwort + "confirmNewPassword": "تأكيد كلمة المرور الجديدة", // Neues Passwort bestätigen + "updatePassword": "تحديث كلمة المرور", // Passwort aktualisieren + "changeEmail": "تغيير عنوان البريد الإلكتروني", // E-Mail-Adresse ändern + "password": "كلمة المرور", // Passwort + "newEmail": "عنوان البريد الإلكتروني الجديد", // Neue E-Mail-Adresse + "updateEmail": "تحديث البريد الإلكتروني", // E-Mail aktualisieren + "apiKey": "مفتاح API", // API-Schlüssel + "apiKeyDescription": "استخدم مفتاح API الخاص بك للتكامل مع التطبيقات الخارجية.", // Verwenden Sie Ihren API-Schlüssel für die Integration mit externen Anwendungen. + "apiDocumentation": "توثيق API:", // API-Dokumentation: + "copyToClipboard": "نسخ إلى الحافظة", // In Zwischenablage kopieren + "generate": "إنشاء", // Generieren + "regenerate": "إعادة إنشاء", // Regenerieren + "apiKeyCopied": "تم نسخ مفتاح API إلى الحافظة", // API-Schlüssel in Zwischenablage kopiert + "errors": { + "fillAllFields": "يرجى ملء جميع الحقول", // Bitte füllen Sie alle Felder aus + "passwordsNotMatch": "كلمات المرور الجديدة غير متطابقة", // Die neuen Passwörter stimmen nicht überein + "passwordTooShort": "يجب أن تكون كلمة المرور الجديدة 8 أحرف على الأقل", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "passwordUpdateError": "حدث خطأ أثناء تحديث كلمة المرور", // Fehler beim Aktualisieren des Passworts + "invalidEmail": "يرجى إدخال عنوان بريد إلكتروني صالح", // Bitte geben Sie eine gültige E-Mail-Adresse ein + "emailUpdateError": "حدث خطأ أثناء تحديث عنوان البريد الإلكتروني", // Fehler beim Aktualisieren der E-Mail-Adresse + "userNotFound": "المستخدم غير موجود", // Benutzer nicht gefunden + "apiKeyGenerationError": "حدث خطأ أثناء إنشاء مفتاح API" // Fehler beim Generieren des API-Schlüssels + }, + "success": { + "passwordUpdated": "تم تحديث كلمة المرور بنجاح", // Passwort erfolgreich aktualisiert + "emailUpdated": "تم تحديث عنوان البريد الإلكتروني بنجاح", // E-Mail-Adresse erfolgreich aktualisiert + "apiKeyGenerated": "تم إنشاء مفتاح API بنجاح", // API-Schlüssel erfolgreich generiert + "apiKeyWarning": "احفظ هذا المفتاح بأمان. لأسباب أمنية، سيتم إخفاؤه خلال 10 ثوانٍ." // Speichern Sie diesen Schlüssel sicher. Er wird aus Sicherheitsgründen in 10 Sekunden ausgeblendet. + } +}; diff --git a/src/i18n/locales/ar/sorting.js b/src/i18n/locales/ar/sorting.js new file mode 100644 index 0000000..2a7b01c --- /dev/null +++ b/src/i18n/locales/ar/sorting.js @@ -0,0 +1,6 @@ +export default { + "name": "الاسم", // Name + "searchField": "كلمة البحث", // Suchbegriff + "priceLowHigh": "السعر: من الأقل للأعلى", // Preis: Niedrig zu Hoch + "priceHighLow": "السعر: من الأعلى للأقل" // Preis: Hoch zu Niedrig +}; diff --git a/src/i18n/locales/ar/tax.js b/src/i18n/locales/ar/tax.js new file mode 100644 index 0000000..01aca10 --- /dev/null +++ b/src/i18n/locales/ar/tax.js @@ -0,0 +1,12 @@ +export default { + "vat": "ضريبة القيمة المضافة", // Mehrwertsteuer + "vat7": "ضريبة القيمة المضافة 7%", // 7% Mehrwertsteuer + "vat19": "ضريبة القيمة المضافة 19%", // 19% Mehrwertsteuer + "vat19WithShipping": "ضريبة القيمة المضافة 19% (شاملة الشحن)", // 19% Mehrwertsteuer (inkl. Versand) + "totalNet": "إجمالي السعر الصافي", // Gesamtnettopreis + "totalGross": "إجمالي السعر الإجمالي بدون الشحن", // Gesamtbruttopreis ohne Versand + "subtotal": "المجموع الفرعي", // Zwischensumme + "incl7Vat": "شاملة ضريبة القيمة المضافة 7%", // inkl. 7% MwSt. + "inclVatWithFooter": "(شاملة {{vat}}% ضريبة القيمة المضافة،*)", // (incl. {{vat}}% USt.,*) + "inclVatAmount": "شاملة {{amount}} € ضريبة القيمة المضافة ({{rate}}%)" // nkl. {{amount}} € MwSt. ({{rate}}%) +}; diff --git a/src/i18n/locales/ar/titles.js b/src/i18n/locales/ar/titles.js new file mode 100644 index 0000000..53972a3 --- /dev/null +++ b/src/i18n/locales/ar/titles.js @@ -0,0 +1,5 @@ +export default { + "home": "بذور وقصاصات القنب الممتازة", // Fine Cannabis Seeds & Cuttings + "aktionen": "العروض والتخفيضات الحالية", // Aktuelle Aktionen & Angebote + "filiale": "متجرنا في دريسدن" // Unsere Filiale in Dresden +}; diff --git a/src/i18n/locales/ar/translation.js b/src/i18n/locales/ar/translation.js index e6bc3bf..820476a 100644 --- a/src/i18n/locales/ar/translation.js +++ b/src/i18n/locales/ar/translation.js @@ -1,231 +1,3 @@ -export default { - "locale": { - "code": "ar-EG" // de-DE - }, - "navigation": { - "home": "الرئيسية", // Startseite - "aktionen": "العروض", // Aktionen - "filiale": "الفرع", // Filiale - "categories": "الفئات", // Kategorien - "categoriesOpen": "فتح الفئات", // Kategorien öffnen - "categoriesClose": "إغلاق الفئات", // Kategorien schließen - "otherCategories": "فئات أخرى" // Andere Kategorien - }, - "auth": { - "login": "تسجيل الدخول", // Anmelden - "register": "تسجيل", // Registrieren - "logout": "تسجيل خروج", // Abmelden - "profile": "الملف الشخصي", // Profil - "email": "البريد الإلكتروني", // E-Mail - "password": "كلمة المرور", // Passwort - "confirmPassword": "تأكيد كلمة المرور", // Passwort bestätigen - "forgotPassword": "هل نسيت كلمة المرور؟", // Passwort vergessen? - "loginWithGoogle": "تسجيل الدخول باستخدام جوجل", // Mit Google anmelden - "or": "أو", // ODER - "privacyAccept": "بالضغط على \"تسجيل الدخول باستخدام جوجل\" أوافق على", // 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 - "orders": "الطلبات", // Bestellungen - "settings": "الإعدادات", // Einstellungen - "adminDashboard": "لوحة تحكم المسؤول", // Admin Dashboard - "adminUsers": "مستخدمو المسؤول" // Admin Users - } - }, - "cart": { - "title": "عربة التسوق", // Warenkorb - "empty": "فارغة", // leer - "addToCart": "أضف إلى العربة", // In den Korb - "preorderCutting": "اطلب القطع مسبقًا", // Als Steckling vorbestellen - "continueShopping": "متابعة التسوق", // Weiter einkaufen - "proceedToCheckout": "المتابعة إلى الدفع", // Weiter zur Kasse - "productCount": "{{count}} {{count, plural, one {منتج} other {منتجات}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} - "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 - } - }, - "product": { - "loading": "جارٍ تحميل المنتج...", // Produkt wird geladen... - "notFound": "المنتج غير موجود", // Produkt nicht gefunden - "notFoundDescription": "المنتج الذي تبحث عنه غير موجود أو تم إزالته.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. - "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: - "inclVatFooter": "شامل {{vat}}% ضريبة القيمة المضافة,*", // incl. {{vat}}% USt.,* - "availability": "التوفر", // Verfügbarkeit - "inStock": "متوفر في المخزون", // auf Lager - "comingSoon": "قريبًا", // Bald verfügbar - "deliveryTime": "مدة التوصيل", // Lieferzeit - "inclShort": "شامل", // inkl. - "vatShort": "ضريبة القيمة المضافة", // MwSt. - "countDisplay": { - "noProducts": "0 منتجات", // 0 Produkte - "oneProduct": "منتج واحد", // 1 Produkt - "multipleProducts": "{{count}} منتجات", // {{count}} Produkte - "filteredProducts": "{{filtered}} من {{total}} منتجات", // {{filtered}} von {{total}} Produkten - "filteredOneProduct": "{{filtered}} من منتج واحد" // {{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... - "searchProducts": "ابحث عن المنتجات..." // Produkte suchen... - }, - "sorting": { - "name": "الاسم", // Name - "searchField": "مصطلح البحث", // Suchbegriff - "priceLowHigh": "السعر: من الأقل للأعلى", // Preis: Niedrig zu Hoch - "priceHighLow": "السعر: من الأعلى للأقل" // Preis: Hoch zu Niedrig - }, - "chat": { - "privacyRead": "تمت القراءة والموافقة" // Gelesen & Akzeptiert - }, - "delivery": { - "methods": { - "dhl": "DHL", // DHL - "dpd": "DPD", // DPD - "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 - "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 - } - }, - "checkout": { - "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 - }, - "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. - "viewOrders": "عرض طلباتي" // Zu meinen Bestellungen - }, - "filters": { - "sorting": "الترتيب", // Sortierung - "perPage": "لكل صفحة", // pro Seite - "availability": "التوفر", // Verfügbarkeit - "manufacturer": "الشركة المصنعة" // Hersteller - }, - "tax": { - "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": "شارع تراشنبرجر 14 - دريسدن", // Trachenberger Straße 14 - Dresden - "location": "بين محطة بيسشن وميدان تراشنبرجر", // Zwischen Haltepunkt Pieschen und Trachenberger Platz - "allPricesIncl": "* جميع الأسعار تشمل ضريبة القيمة المضافة القانونية، بالإضافة إلى الشحن", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand - "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de - "legal": { - "datenschutz": "الخصوصية", // Datenschutz - "agb": "الشروط والأحكام", // AGB - "sitemap": "خريطة الموقع", // Sitemap - "impressum": "معلومات قانونية", // Impressum - "batteriegesetzhinweise": "ملاحظات قانون البطاريات", // Batteriegesetzhinweise - "widerrufsrecht": "حق الانسحاب" // Widerrufsrecht - } - }, - "titles": { - "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 - "thcTest": "اختبار THC", // THC Test - "address1": "شارع تراشنبرجر 14", // Trachenberger Straße 14 - "address2": "01129 دريسدن" // 01129 Dresden - }, - "pages": { - "oilPress": { - "title": "استعارة مكبس الزيت", // Ölpresse ausleihen - "comingSoon": "المحتوى قادم قريبًا..." // Inhalt kommt bald... - }, - "thcTest": { - "title": "اختبار THC", // THC Test - "comingSoon": "المحتوى قادم قريبًا..." // Inhalt kommt bald... - } - }, - "orders": { - "status": { - "new": "قيد المعالجة", // in Bearbeitung - "pending": "جديد", // Neu - "processing": "قيد المعالجة", // in Bearbeitung - "cancelled": "ملغي", // Storniert - "shipped": "تم الشحن", // Verschickt - "delivered": "تم التوصيل", // Geliefert - "return": "إرجاع", // Retoure - "partialReturn": "إرجاع جزئي", // Teil Retoure - "partialDelivered": "تم التوصيل جزئيًا" // Teil geliefert - } - }, - "common": { - "loading": "جارٍ التحميل...", // Lädt... - "error": "خطأ", // Fehler - "close": "إغلاق", // Schließen - "save": "حفظ", // Speichern - "cancel": "إلغاء", // Abbrechen - "ok": "موافق", // OK - "yes": "نعم", // Ja - "no": "لا", // Nein - "next": "التالي", // Weiter - "back": "عودة", // Zurück - "edit": "تعديل", // Bearbeiten - "delete": "حذف", // Löschen - "add": "إضافة", // Hinzufügen - "remove": "إزالة", // Entfernen - "products": "منتجات", // Produkte - "product": "منتج" // Produkt - } -}; +import translations from './index.js'; + +export default translations; \ No newline at end of file diff --git a/src/i18n/locales/bg/auth.js b/src/i18n/locales/bg/auth.js new file mode 100644 index 0000000..36673a5 --- /dev/null +++ b/src/i18n/locales/bg/auth.js @@ -0,0 +1,25 @@ +export default { + "login": "Вход", // Anmelden + "register": "Регистрация", // Registrieren + "logout": "Изход", // Abmelden + "profile": "Профил", // Profil + "email": "Имейл", // E-Mail + "password": "Парола", // Passwort + "confirmPassword": "Потвърдете паролата", // Passwort bestätigen + "forgotPassword": "Забравена парола?", // Passwort vergessen? + "loginWithGoogle": "Вход с Google", // Mit Google anmelden + "or": "ИЛИ", // ODER + "privacyAccept": "С натискането на „Вход с Google“ приемам", // Mit dem Click auf "Mit Google anmelden" akzeptiere ich die + "privacyPolicy": "Политиката за поверителност", // Datenschutzbestimmungen + "passwordMinLength": "Паролата трябва да е поне 8 символа", // Das Passwort muss mindestens 8 Zeichen lang sein + "newPasswordMinLength": "Новата парола трябва да е поне 8 символа", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "menu": { + "profile": "Профил", // Profil + "myProfile": "Моят профил", // Mein Profil + "checkout": "Плащане", // Bestellabschluss + "orders": "Поръчки", // Bestellungen + "settings": "Настройки", // Einstellungen + "adminDashboard": "Админ панел", // Admin Dashboard + "adminUsers": "Админ потребители" // Admin Users + } +}; diff --git a/src/i18n/locales/bg/cart.js b/src/i18n/locales/bg/cart.js new file mode 100644 index 0000000..e5521a8 --- /dev/null +++ b/src/i18n/locales/bg/cart.js @@ -0,0 +1,24 @@ +export default { + "title": "Количка", // Warenkorb + "empty": "празна", // leer + "addToCart": "Добави в количката", // In den Korb + "preorderCutting": "Предварителна поръчка като резник", // Als Steckling vorbestellen + "continueShopping": "Продължи пазаруването", // Weiter einkaufen + "proceedToCheckout": "Продължи към плащане", // Weiter zur Kasse + "productCount": "{{count}} {{count, plural, one {продукт} other {продукта}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} + "productSingular": "продукт", // Produkt + "productPlural": "продукта", // Produkte + "removeFromCart": "Премахни от количката", // Aus dem Warenkorb entfernen + "openCart": "Отвори количката", // Warenkorb öffnen + "availableFrom": "Наличен от {{date}}", // Ab {{date}} + "backToOrder": "← Обратно към поръчката", // ← Zurück zur Bestellung + "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 + } +}; diff --git a/src/i18n/locales/bg/chat.js b/src/i18n/locales/bg/chat.js new file mode 100644 index 0000000..97611a6 --- /dev/null +++ b/src/i18n/locales/bg/chat.js @@ -0,0 +1,3 @@ +export default { + "privacyRead": "Прочетено и прието", // Gelesen & Akzeptiert +}; diff --git a/src/i18n/locales/bg/checkout.js b/src/i18n/locales/bg/checkout.js new file mode 100644 index 0000000..bfd23ea --- /dev/null +++ b/src/i18n/locales/bg/checkout.js @@ -0,0 +1,13 @@ +export default { + "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 + "selectDeliveryMethod": "Изберете метод на доставка", // Versandart wählen + "selectPaymentMethod": "Изберете метод на плащане", // Zahlungsart wählen + "orderSummary": "Обобщение на поръчката", // Bestellübersicht + "addressValidationError": "Моля, проверете въведените данни в полетата за адрес." // Bitte überprüfen Sie Ihre Eingaben in den Adressfeldern. +}; diff --git a/src/i18n/locales/bg/common.js b/src/i18n/locales/bg/common.js new file mode 100644 index 0000000..1d26bf0 --- /dev/null +++ b/src/i18n/locales/bg/common.js @@ -0,0 +1,19 @@ +export default { + "loading": "Зареждане...", // Lädt... + "error": "Грешка", // Fehler + "close": "Затвори", // Schließen + "save": "Запази", // Speichern + "cancel": "Отказ", // Abbrechen + "ok": "OK", // OK + "yes": "Да", // Ja + "no": "Не", // Nein + "next": "Напред", // Weiter + "back": "Назад", // Zurück + "edit": "Редактирай", // Bearbeiten + "delete": "Изтрий", // Löschen + "add": "Добави", // Hinzufügen + "remove": "Премахни", // Entfernen + "products": "Продукти", // Produkte + "product": "Продукт", // Produkt + "days": "Дни" // Tage +}; diff --git a/src/i18n/locales/bg/delivery.js b/src/i18n/locales/bg/delivery.js new file mode 100644 index 0000000..a4f62c3 --- /dev/null +++ b/src/i18n/locales/bg/delivery.js @@ -0,0 +1,27 @@ +export default { + "methods": { + "dhl": "DHL", // DHL + "dpd": "DPD", // DPD + "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 + "bulky": "За големи и тежки артикули", // Für große und schwere Artikel + "pickupOnly": "Само вземане" // nur Abholung + }, + "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 + } +}; diff --git a/src/i18n/locales/bg/filters.js b/src/i18n/locales/bg/filters.js new file mode 100644 index 0000000..aa80c37 --- /dev/null +++ b/src/i18n/locales/bg/filters.js @@ -0,0 +1,7 @@ +export default { + "sorting": "Сортиране", // Sortierung + "perPage": "на страница", // pro Seite + "availability": "Наличност", // Verfügbarkeit + "manufacturer": "Производител", // Hersteller + "all": "Всички", // Alle +}; diff --git a/src/i18n/locales/bg/footer.js b/src/i18n/locales/bg/footer.js new file mode 100644 index 0000000..e2865bd --- /dev/null +++ b/src/i18n/locales/bg/footer.js @@ -0,0 +1,15 @@ +export default { + "hours": "Съб 11:00-19:00", // Sa 11-19 + "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 + "agb": "Общи условия", // AGB + "sitemap": "Карта на сайта", // Sitemap + "impressum": "Правен адрес", // Impressum + "batteriegesetzhinweise": "Информация за закона за батериите", // Batteriegesetzhinweise + "widerrufsrecht": "Право на отказ" // Widerrufsrecht + } +}; diff --git a/src/i18n/locales/bg/index.js b/src/i18n/locales/bg/index.js new file mode 100644 index 0000000..1dd359f --- /dev/null +++ b/src/i18n/locales/bg/index.js @@ -0,0 +1,43 @@ +import locale from './locale.js'; +import navigation from './navigation.js'; +import auth from './auth.js'; +import cart from './cart.js'; +import product from './product.js'; +import search from './search.js'; +import sorting from './sorting.js'; +import chat from './chat.js'; +import delivery from './delivery.js'; +import checkout from './checkout.js'; +import payment from './payment.js'; +import filters from './filters.js'; +import tax from './tax.js'; +import footer from './footer.js'; +import titles from './titles.js'; +import sections from './sections.js'; +import pages from './pages.js'; +import orders from './orders.js'; +import settings from './settings.js'; +import common from './common.js'; + +export default { + "locale": locale, + "navigation": navigation, + "auth": auth, + "cart": cart, + "product": product, + "search": search, + "sorting": sorting, + "chat": chat, + "delivery": delivery, + "checkout": checkout, + "payment": payment, + "filters": filters, + "tax": tax, + "footer": footer, + "titles": titles, + "sections": sections, + "pages": pages, + "orders": orders, + "settings": settings, + "common": common +}; \ No newline at end of file diff --git a/src/i18n/locales/bg/locale.js b/src/i18n/locales/bg/locale.js new file mode 100644 index 0000000..fd9f31b --- /dev/null +++ b/src/i18n/locales/bg/locale.js @@ -0,0 +1,3 @@ +export default { + "code": "bg-BG" // de-DE +}; diff --git a/src/i18n/locales/bg/navigation.js b/src/i18n/locales/bg/navigation.js new file mode 100644 index 0000000..7a1bca3 --- /dev/null +++ b/src/i18n/locales/bg/navigation.js @@ -0,0 +1,9 @@ +export default { + "home": "Начало", // Startseite + "aktionen": "Промоции", // Aktionen + "filiale": "Клон", // Filiale + "categories": "Категории", // Kategorien + "categoriesOpen": "Отвори категории", // Kategorien öffnen + "categoriesClose": "Затвори категории", // Kategorien schließen + "otherCategories": "Други категории" // Andere Kategorien +}; diff --git a/src/i18n/locales/bg/orders.js b/src/i18n/locales/bg/orders.js new file mode 100644 index 0000000..b680880 --- /dev/null +++ b/src/i18n/locales/bg/orders.js @@ -0,0 +1,23 @@ +export default { + "status": { + "new": "В процес", // in Bearbeitung + "pending": "Ново", // Neu + "processing": "В процес", // in Bearbeitung + "cancelled": "Отменено", // Storniert + "shipped": "Изпратено", // Verschickt + "delivered": "Доставено", // Geliefert + "return": "Връщане", // Retoure + "partialReturn": "Частично връщане", // Teil Retoure + "partialDelivered": "Частично доставено" // Teil geliefert + }, + "table": { + "orderNumber": "Номер на поръчка", // Bestellnummer + "date": "Дата", // Datum + "status": "Статус", // Status + "items": "Артикули", // Artikel + "total": "Общо", // Summe + "actions": "Действия", // Aktionen + "viewDetails": "Виж подробности" // Details anzeigen + }, + "noOrders": "Все още не сте направили поръчки." // Sie haben noch keine Bestellungen aufgegeben. +}; diff --git a/src/i18n/locales/bg/pages.js b/src/i18n/locales/bg/pages.js new file mode 100644 index 0000000..014de85 --- /dev/null +++ b/src/i18n/locales/bg/pages.js @@ -0,0 +1,10 @@ +export default { + "oilPress": { + "title": "Наемане на маслобойка", // Ölpresse ausleihen + "comingSoon": "Съдържанието ще бъде налично скоро...", // Inhalt kommt bald... + }, + "thcTest": { + "title": "THC тест", // THC Test + "comingSoon": "Съдържанието ще бъде налично скоро...", // Inhalt kommt bald... + } +}; diff --git a/src/i18n/locales/bg/payment.js b/src/i18n/locales/bg/payment.js new file mode 100644 index 0000000..92caf64 --- /dev/null +++ b/src/i18n/locales/bg/payment.js @@ -0,0 +1,8 @@ +export default { + "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 +}; diff --git a/src/i18n/locales/bg/product.js b/src/i18n/locales/bg/product.js new file mode 100644 index 0000000..e17791d --- /dev/null +++ b/src/i18n/locales/bg/product.js @@ -0,0 +1,32 @@ +export default { + "loading": "Зареждане на продукта...", // Produkt wird geladen... + "notFound": "Продуктът не е намерен", // Produkt nicht gefunden + "notFoundDescription": "Продуктът, който търсите, не съществува или е бил премахнат.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. + "backToHome": "Обратно към началната страница", // Zurück zur Startseite + "error": "Грешка", // Fehler + "articleNumber": "Номер на артикул", // Artikelnummer + "manufacturer": "Производител", // Hersteller + "inclVat": "вкл. {{vat}}% ДДС", // inkl. {{vat}}% MwSt. + "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} + "new": "Нов", // Neu + "weeks": "седмици", // Wochen + "arriving": "Пристига:", // Ankunft: + "inclVatFooter": "вкл. {{vat}}% ДДС,*", // inkl. {{vat}}% MwSt.,* + "availability": "Наличност", // Verfügbarkeit + "inStock": "налично на склад", // auf Lager + "comingSoon": "Очаквайте скоро", // Bald verfügbar + "deliveryTime": "Срок на доставка", // Lieferzeit + "inclShort": "вкл.", // inkl. + "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 + "xOfYProducts": "{{x}} от {{y}} продукта" // {{x}} von {{y}} Produkten + }, + "removeFiltersToSee": "Премахнете филтрите, за да видите продуктите", // Entferne Filter um Produkte zu sehen + "outOfStock": "Изчерпано количество", // Out of Stock + "fromXProducts": "от {{count}} продукта" // ab {{count}} Produkten +}; diff --git a/src/i18n/locales/bg/search.js b/src/i18n/locales/bg/search.js new file mode 100644 index 0000000..d5db684 --- /dev/null +++ b/src/i18n/locales/bg/search.js @@ -0,0 +1,5 @@ +export default { + "placeholder": "Можете да ме попитате за сортове канабис...", // Du kannst mich nach Cannabissorten fragen... + "recording": "Записът е в ход...", // Aufnahme läuft... + "searchProducts": "Търсене на продукти...", // Produkte suchen... +}; diff --git a/src/i18n/locales/bg/sections.js b/src/i18n/locales/bg/sections.js new file mode 100644 index 0000000..44b8537 --- /dev/null +++ b/src/i18n/locales/bg/sections.js @@ -0,0 +1,8 @@ +export default { + "seeds": "Семена", // Seeds + "stecklinge": "Резници", // Stecklinge + "oilPress": "Наемане на маслопреса", // Ölpresse ausleihen + "thcTest": "THC тест", // THC Test + "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 + "address2": "01129 Dresden" // 01129 Dresden +}; diff --git a/src/i18n/locales/bg/settings.js b/src/i18n/locales/bg/settings.js new file mode 100644 index 0000000..7968688 --- /dev/null +++ b/src/i18n/locales/bg/settings.js @@ -0,0 +1,34 @@ +export default { + "changePassword": "Смяна на парола", // Passwort ändern + "currentPassword": "Текуща парола", // Aktuelles Passwort + "newPassword": "Нова парола", // Neues Passwort + "confirmNewPassword": "Потвърдете новата парола", // Neues Passwort bestätigen + "updatePassword": "Актуализиране на паролата", // Passwort aktualisieren + "changeEmail": "Смяна на имейл адрес", // E-Mail-Adresse ändern + "password": "Парола", // Passwort + "newEmail": "Нов имейл адрес", // Neue E-Mail-Adresse + "updateEmail": "Актуализиране на имейла", // E-Mail aktualisieren + "apiKey": "API ключ", // API-Schlüssel + "apiKeyDescription": "Използвайте своя API ключ за интеграция с външни приложения.", // Verwenden Sie Ihren API-Schlüssel für die Integration mit externen Anwendungen. + "apiDocumentation": "API документация:", // API-Dokumentation: + "copyToClipboard": "Копиране в клипборда", // In Zwischenablage kopieren + "generate": "Генериране", // Generieren + "regenerate": "Генериране отново", // Regenerieren + "apiKeyCopied": "API ключът е копиран в клипборда", // API-Schlüssel in Zwischenablage kopiert + "errors": { + "fillAllFields": "Моля, попълнете всички полета", // Bitte füllen Sie alle Felder aus + "passwordsNotMatch": "Новите пароли не съвпадат", // Die neuen Passwörter stimmen nicht überein + "passwordTooShort": "Новата парола трябва да е поне 8 знака", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "passwordUpdateError": "Грешка при актуализиране на паролата", // Fehler beim Aktualisieren des Passworts + "invalidEmail": "Моля, въведете валиден имейл адрес", // Bitte geben Sie eine gültige E-Mail-Adresse ein + "emailUpdateError": "Грешка при актуализиране на имейл адреса", // Fehler beim Aktualisieren der E-Mail-Adresse + "userNotFound": "Потребителят не е намерен", // Benutzer nicht gefunden + "apiKeyGenerationError": "Грешка при генериране на API ключ" // Fehler beim Generieren des API-Schlüssels + }, + "success": { + "passwordUpdated": "Паролата е успешно актуализирана", // Passwort erfolgreich aktualisiert + "emailUpdated": "Имейл адресът е успешно актуализиран", // E-Mail-Adresse erfolgreich aktualisiert + "apiKeyGenerated": "API ключът е успешно генериран", // API-Schlüssel erfolgreich generiert + "apiKeyWarning": "Съхранявайте този ключ на сигурно място. По съображения за сигурност той ще бъде скрит след 10 секунди." // Speichern Sie diesen Schlüssel sicher. Er wird aus Sicherheitsgründen in 10 Sekunden ausgeblendet. + } +}; diff --git a/src/i18n/locales/bg/sorting.js b/src/i18n/locales/bg/sorting.js new file mode 100644 index 0000000..7d4240f --- /dev/null +++ b/src/i18n/locales/bg/sorting.js @@ -0,0 +1,6 @@ +export default { + "name": "Име", // Name + "searchField": "Търсене", // Suchbegriff + "priceLowHigh": "Цена: от ниска към висока", // Preis: Niedrig zu Hoch + "priceHighLow": "Цена: от висока към ниска" // Preis: Hoch zu Niedrig +}; diff --git a/src/i18n/locales/bg/tax.js b/src/i18n/locales/bg/tax.js new file mode 100644 index 0000000..d14ed6e --- /dev/null +++ b/src/i18n/locales/bg/tax.js @@ -0,0 +1,12 @@ +export default { + "vat": "Данък върху добавената стойност", // Mehrwertsteuer + "vat7": "7% Данък върху добавената стойност", // 7% Mehrwertsteuer + "vat19": "19% Данък върху добавената стойност", // 19% Mehrwertsteuer + "vat19WithShipping": "19% Данък върху добавената стойност (вкл. доставка)", // 19% Mehrwertsteuer (inkl. Versand) + "totalNet": "Обща нетна цена", // Gesamtnettopreis + "totalGross": "Обща брутна цена без доставка", // Gesamtbruttopreis ohne Versand + "subtotal": "Междинна сума", // Zwischensumme + "incl7Vat": "вкл. 7% ДДС", // inkl. 7% MwSt. + "inclVatWithFooter": "(вкл. {{vat}}% ДДС,*)", // (incl. {{vat}}% USt.,*) + "inclVatAmount": "вкл. {{amount}} € ДДС ({{rate}}%)" // nkl. {{amount}} € MwSt. ({{rate}}%) +}; diff --git a/src/i18n/locales/bg/titles.js b/src/i18n/locales/bg/titles.js new file mode 100644 index 0000000..362281c --- /dev/null +++ b/src/i18n/locales/bg/titles.js @@ -0,0 +1,5 @@ +export default { + "home": "Фини семена и резници от канабис", // Fine Cannabis Seeds & Cuttings + "aktionen": "Текущи промоции и оферти", // Aktuelle Aktionen & Angebote + "filiale": "Нашият магазин в Дрезден" // Unsere Filiale in Dresden +}; diff --git a/src/i18n/locales/bg/translation.js b/src/i18n/locales/bg/translation.js index b9fe4db..820476a 100644 --- a/src/i18n/locales/bg/translation.js +++ b/src/i18n/locales/bg/translation.js @@ -1,231 +1,3 @@ -export default { - "locale": { - "code": "bg-BG" // de-DE - }, - "navigation": { - "home": "Начало", // Startseite - "aktionen": "Промоции", // Aktionen - "filiale": "Клон", // Filiale - "categories": "Категории", // Kategorien - "categoriesOpen": "Отвори категории", // Kategorien öffnen - "categoriesClose": "Затвори категории", // Kategorien schließen - "otherCategories": "Други категории" // Andere Kategorien - }, - "auth": { - "login": "Вход", // Anmelden - "register": "Регистрация", // Registrieren - "logout": "Изход", // Abmelden - "profile": "Профил", // Profil - "email": "Имейл", // E-Mail - "password": "Парола", // Passwort - "confirmPassword": "Потвърди паролата", // Passwort bestätigen - "forgotPassword": "Забравена парола?", // Passwort vergessen? - "loginWithGoogle": "Влез с Google", // Mit Google anmelden - "or": "ИЛИ", // ODER - "privacyAccept": "С натискането на \"Влез с Google\" приемам", // Mit dem Click auf \"Mit Google anmelden\" akzeptiere ich die - "privacyPolicy": "Политиката за поверителност", // Datenschutzbestimmungen - "passwordMinLength": "Паролата трябва да е поне 8 символа", // Das Passwort muss mindestens 8 Zeichen lang sein - "newPasswordMinLength": "Новата парола трябва да е поне 8 символа", // Das neue Passwort muss mindestens 8 Zeichen lang sein - "menu": { - "profile": "Профил", // Profil - "checkout": "Плащане", // Bestellabschluss - "orders": "Поръчки", // Bestellungen - "settings": "Настройки", // Einstellungen - "adminDashboard": "Админ табло", // Admin Dashboard - "adminUsers": "Админ потребители" // Admin Users - } - }, - "cart": { - "title": "Кошница", // Warenkorb - "empty": "празна", // leer - "addToCart": "Добави в кошницата", // In den Korb - "preorderCutting": "Предварителна поръчка на резник", // Als Steckling vorbestellen - "continueShopping": "Продължи пазаруването", // Weiter einkaufen - "proceedToCheckout": "Продължи към плащане", // Weiter zur Kasse - "productCount": "{{count}} {{count, plural, one {Продукт} other {Продукта}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} - "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 - } - }, - "product": { - "loading": "Зареждане на продукта...", // Produkt wird geladen... - "notFound": "Продуктът не е намерен", // Produkt nicht gefunden - "notFoundDescription": "Търсеният продукт не съществува или е премахнат.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. - "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: - "inclVatFooter": "вкл. {{vat}}% ДДС,*", // incl. {{vat}}% USt.,* - "availability": "Наличност", // Verfügbarkeit - "inStock": "налично", // auf Lager - "comingSoon": "Очаквайте скоро", // Bald verfügbar - "deliveryTime": "Срок на доставка", // Lieferzeit - "inclShort": "вкл.", // inkl. - "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... - "searchProducts": "Търсене на продукти..." // Produkte suchen... - }, - "sorting": { - "name": "Име", // Name - "searchField": "Търсена дума", // Suchbegriff - "priceLowHigh": "Цена: от ниска към висока", // Preis: Niedrig zu Hoch - "priceHighLow": "Цена: от висока към ниска" // Preis: Hoch zu Niedrig - }, - "chat": { - "privacyRead": "Прочетено & Прието" // Gelesen & Akzeptiert - }, - "delivery": { - "methods": { - "dhl": "DHL", // DHL - "dpd": "DPD", // DPD - "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 - "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 - } - }, - "checkout": { - "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 - }, - "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. - "viewOrders": "Виж моите поръчки" // Zu meinen Bestellungen - }, - "filters": { - "sorting": "Сортиране", // Sortierung - "perPage": "на страница", // pro Seite - "availability": "Наличност", // Verfügbarkeit - "manufacturer": "Производител" // Hersteller - }, - "tax": { - "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 - 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 - "agb": "Общи условия", // AGB - "sitemap": "Карта на сайта", // Sitemap - "impressum": "Отпечатък", // Impressum - "batteriegesetzhinweise": "Бележки за закона за батериите", // Batteriegesetzhinweise - "widerrufsrecht": "Право на отказ" // Widerrufsrecht - } - }, - "titles": { - "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 - "thcTest": "THC тест", // THC Test - "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 - "address2": "01129 Dresden" // 01129 Dresden - }, - "pages": { - "oilPress": { - "title": "Наеми преса за масло", // Ölpresse ausleihen - "comingSoon": "Съдържанието ще бъде налично скоро..." // Inhalt kommt bald... - }, - "thcTest": { - "title": "THC тест", // THC Test - "comingSoon": "Съдържанието ще бъде налично скоро..." // Inhalt kommt bald... - } - }, - "orders": { - "status": { - "new": "Обработка", // in Bearbeitung - "pending": "Нова", // Neu - "processing": "Обработка", // in Bearbeitung - "cancelled": "Отменена", // Storniert - "shipped": "Изпратена", // Verschickt - "delivered": "Доставена", // Geliefert - "return": "Връщане", // Retoure - "partialReturn": "Частично връщане", // Teil Retoure - "partialDelivered": "Частично доставена" // Teil geliefert - } - }, - "common": { - "loading": "Зареждане...", // Lädt... - "error": "Грешка", // Fehler - "close": "Затвори", // Schließen - "save": "Запази", // Speichern - "cancel": "Отказ", // Abbrechen - "ok": "OK", // OK - "yes": "Да", // Ja - "no": "Не", // Nein - "next": "Напред", // Weiter - "back": "Назад", // Zurück - "edit": "Редактирай", // Bearbeiten - "delete": "Изтрий", // Löschen - "add": "Добави", // Hinzufügen - "remove": "Премахни", // Entfernen - "products": "Продукти", // Produkte - "product": "Продукт" // Produkt - } -}; +import translations from './index.js'; + +export default translations; \ No newline at end of file diff --git a/src/i18n/locales/cs/auth.js b/src/i18n/locales/cs/auth.js new file mode 100644 index 0000000..4ecf1e8 --- /dev/null +++ b/src/i18n/locales/cs/auth.js @@ -0,0 +1,25 @@ +export default { + "login": "Přihlásit se", // Anmelden + "register": "Registrovat se", // Registrieren + "logout": "Odhlásit se", // Abmelden + "profile": "Profil", // Profil + "email": "Email", // E-Mail + "password": "Heslo", // Passwort + "confirmPassword": "Potvrdit heslo", // Passwort bestätigen + "forgotPassword": "Zapomněli jste heslo?", // Passwort vergessen? + "loginWithGoogle": "Přihlásit se přes Google", // Mit Google anmelden + "or": "NEBO", // ODER + "privacyAccept": "Kliknutím na „Přihlásit se přes Google“ souhlasím s", // Mit dem Click auf "Mit Google anmelden" akzeptiere ich die + "privacyPolicy": "Zásadami ochrany osobních údajů", // Datenschutzbestimmungen + "passwordMinLength": "Heslo musí mít alespoň 8 znaků", // Das Passwort muss mindestens 8 Zeichen lang sein + "newPasswordMinLength": "Nové heslo musí mít alespoň 8 znaků", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "menu": { + "profile": "Profil", // Profil + "myProfile": "Můj profil", // Mein Profil + "checkout": "Dokončení objednávky", // Bestellabschluss + "orders": "Objednávky", // Bestellungen + "settings": "Nastavení", // Einstellungen + "adminDashboard": "Administrátorský panel", // Admin Dashboard + "adminUsers": "Administrátoři" // Admin Users + } +}; diff --git a/src/i18n/locales/cs/cart.js b/src/i18n/locales/cs/cart.js new file mode 100644 index 0000000..6f913c5 --- /dev/null +++ b/src/i18n/locales/cs/cart.js @@ -0,0 +1,24 @@ +export default { + "title": "Košík", // Warenkorb + "empty": "prázdný", // leer + "addToCart": "Přidat do košíku", // In den Korb + "preorderCutting": "Předobjednat jako řízek", // Als Steckling vorbestellen + "continueShopping": "Pokračovat v nákupu", // Weiter einkaufen + "proceedToCheckout": "Přejít k pokladně", // Weiter zur Kasse + "productCount": "{{count}} {{count, plural, one {produkt} other {produkty}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} + "productSingular": "produkt", // Produkt + "productPlural": "produkty", // Produkte + "removeFromCart": "Odstranit z košíku", // Aus dem Warenkorb entfernen + "openCart": "Otevřít košík", // Warenkorb öffnen + "availableFrom": "Dostupné od {{date}}", // Ab {{date}} + "backToOrder": "← Zpět k objednávce", // ← Zurück zur Bestellung + "sync": { + "title": "Synchronizace košíku", // Warenkorb-Synchronisierung + "description": "Máte uložený košík ve svém účtu. Vyberte, jak chcete pokračovat:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten: + "deleteServer": "Smazat košík na serveru", // Server-Warenkorb löschen + "useServer": "Použít košík ze serveru", // Server-Warenkorb übernehmen + "merge": "Sloučit košíky", // Warenkörbe zusammenführen + "currentCart": "Váš aktuální košík", // Ihr aktueller Warenkorb + "serverCart": "Košík uložený ve vašem profilu" // In Ihrem Profil gespeicherter Warenkorb + } +}; diff --git a/src/i18n/locales/cs/chat.js b/src/i18n/locales/cs/chat.js new file mode 100644 index 0000000..9171a56 --- /dev/null +++ b/src/i18n/locales/cs/chat.js @@ -0,0 +1,3 @@ +export default { + "privacyRead": "Přečteno a přijato", // Gelesen & Akzeptiert +}; diff --git a/src/i18n/locales/cs/checkout.js b/src/i18n/locales/cs/checkout.js new file mode 100644 index 0000000..dd1e8b3 --- /dev/null +++ b/src/i18n/locales/cs/checkout.js @@ -0,0 +1,13 @@ +export default { + "invoiceAddress": "Fakturační adresa", // Rechnungsadresse + "deliveryAddress": "Dodací adresa", // Lieferadresse + "saveForFuture": "Uložit pro budoucí objednávky", // Für zukünftige Bestellungen speichern + "pickupDate": "Na který datum je požadován odběr řízků?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht? + "note": "Poznámka", // Anmerkung + "sameAddress": "Dodací adresa je shodná s fakturační adresou", // Lieferadresse ist identisch mit Rechnungsadresse + "termsAccept": "Přečetl(a) jsem si obchodní podmínky, zásady ochrany osobních údajů a ustanovení o právu na odstoupení od smlouvy", // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen + "selectDeliveryMethod": "Vyberte způsob doručení", // Versandart wählen + "selectPaymentMethod": "Vyberte způsob platby", // Zahlungsart wählen + "orderSummary": "Souhrn objednávky", // Bestellübersicht + "addressValidationError": "Zkontrolujte prosím své údaje v polích adresy." // Bitte überprüfen Sie Ihre Eingaben in den Adressfeldern. +}; diff --git a/src/i18n/locales/cs/common.js b/src/i18n/locales/cs/common.js new file mode 100644 index 0000000..ff1a04b --- /dev/null +++ b/src/i18n/locales/cs/common.js @@ -0,0 +1,19 @@ +export default { + "loading": "Načítání...", // Lädt... + "error": "Chyba", // Fehler + "close": "Zavřít", // Schließen + "save": "Uložit", // Speichern + "cancel": "Zrušit", // Abbrechen + "ok": "OK", // OK + "yes": "Ano", // Ja + "no": "Ne", // Nein + "next": "Další", // Weiter + "back": "Zpět", // Zurück + "edit": "Upravit", // Bearbeiten + "delete": "Smazat", // Löschen + "add": "Přidat", // Hinzufügen + "remove": "Odebrat", // Entfernen + "products": "Produkty", // Produkte + "product": "Produkt", // Produkt + "days": "Dny" // Tage +}; diff --git a/src/i18n/locales/cs/delivery.js b/src/i18n/locales/cs/delivery.js new file mode 100644 index 0000000..5819572 --- /dev/null +++ b/src/i18n/locales/cs/delivery.js @@ -0,0 +1,27 @@ +export default { + "methods": { + "dhl": "DHL", // DHL + "dpd": "DPD", // DPD + "sperrgut": "Objemné zboží", // Sperrgut + "pickup": "Osobní odběr v obchodě" // Abholung in der Filiale + }, + "descriptions": { + "standard": "Standardní doprava", // Standardversand + "standardFree": "Standardní doprava - ZDARMA od objednávky nad 100€!", // Standardversand - KOSTENLOS ab 100€ Warenwert! + "notAvailable": "Nelze vybrat, protože jeden nebo více produktů lze pouze vyzvednout", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können + "bulky": "Pro velké a těžké předměty", // Für große und schwere Artikel + "pickupOnly": "Pouze osobní odběr" // nur Abholung + }, + "prices": { + "free": "zdarma", // kostenlos + "freeFrom100": "(zdarma od 100€)", // (kostenlos ab 100€) + "dhl": "6,99 €", // 6,99 € + "dpd": "4,90 €", // 4,90 € + "sperrgut": "28,99 €" // 28,99 € + }, + "times": { + "cutting14Days": "Doba dodání: 14 dní", // Lieferzeit: 14 Tage + "standard2to3Days": "Doba dodání: 2-3 dny", // Lieferzeit: 2-3 Tage + "supplier7to9Days": "Doba dodání: 7-9 dní" // Lieferzeit: 7-9 Tage + } +}; diff --git a/src/i18n/locales/cs/filters.js b/src/i18n/locales/cs/filters.js new file mode 100644 index 0000000..a92d316 --- /dev/null +++ b/src/i18n/locales/cs/filters.js @@ -0,0 +1,7 @@ +export default { + "sorting": "Řazení", // Sortierung + "perPage": "na stránku", // pro Seite + "availability": "Dostupnost", // Verfügbarkeit + "manufacturer": "Výrobce", // Hersteller + "all": "Vše", // Alle +}; diff --git a/src/i18n/locales/cs/footer.js b/src/i18n/locales/cs/footer.js new file mode 100644 index 0000000..e8d1195 --- /dev/null +++ b/src/i18n/locales/cs/footer.js @@ -0,0 +1,15 @@ +export default { + "hours": "So 11:00–19:00", // Sa 11-19 + "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden + "location": "Mezi zastávkou Pieschen a Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz + "allPricesIncl": "* Všechny ceny včetně zákonné DPH, plus doprava", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand + "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de + "legal": { + "datenschutz": "Zásady ochrany osobních údajů", // Datenschutz + "agb": "Obchodní podmínky", // AGB + "sitemap": "Mapa stránek", // Sitemap + "impressum": "Právní upozornění", // Impressum + "batteriegesetzhinweise": "Informace o zákoně o bateriích", // Batteriegesetzhinweise + "widerrufsrecht": "Právo na odstoupení od smlouvy" // Widerrufsrecht + } +}; diff --git a/src/i18n/locales/cs/index.js b/src/i18n/locales/cs/index.js new file mode 100644 index 0000000..1dd359f --- /dev/null +++ b/src/i18n/locales/cs/index.js @@ -0,0 +1,43 @@ +import locale from './locale.js'; +import navigation from './navigation.js'; +import auth from './auth.js'; +import cart from './cart.js'; +import product from './product.js'; +import search from './search.js'; +import sorting from './sorting.js'; +import chat from './chat.js'; +import delivery from './delivery.js'; +import checkout from './checkout.js'; +import payment from './payment.js'; +import filters from './filters.js'; +import tax from './tax.js'; +import footer from './footer.js'; +import titles from './titles.js'; +import sections from './sections.js'; +import pages from './pages.js'; +import orders from './orders.js'; +import settings from './settings.js'; +import common from './common.js'; + +export default { + "locale": locale, + "navigation": navigation, + "auth": auth, + "cart": cart, + "product": product, + "search": search, + "sorting": sorting, + "chat": chat, + "delivery": delivery, + "checkout": checkout, + "payment": payment, + "filters": filters, + "tax": tax, + "footer": footer, + "titles": titles, + "sections": sections, + "pages": pages, + "orders": orders, + "settings": settings, + "common": common +}; \ No newline at end of file diff --git a/src/i18n/locales/cs/locale.js b/src/i18n/locales/cs/locale.js new file mode 100644 index 0000000..b005c79 --- /dev/null +++ b/src/i18n/locales/cs/locale.js @@ -0,0 +1,3 @@ +export default { + "code": "cs-CZ" // de-DE +}; diff --git a/src/i18n/locales/cs/navigation.js b/src/i18n/locales/cs/navigation.js new file mode 100644 index 0000000..b971b41 --- /dev/null +++ b/src/i18n/locales/cs/navigation.js @@ -0,0 +1,9 @@ +export default { + "home": "Domů", // Startseite + "aktionen": "Akce", // Aktionen + "filiale": "Pobočka", // Filiale + "categories": "Kategorie", // Kategorien + "categoriesOpen": "Otevřít kategorie", // Kategorien öffnen + "categoriesClose": "Zavřít kategorie", // Kategorien schließen + "otherCategories": "Jiné kategorie" // Andere Kategorien +}; diff --git a/src/i18n/locales/cs/orders.js b/src/i18n/locales/cs/orders.js new file mode 100644 index 0000000..f768183 --- /dev/null +++ b/src/i18n/locales/cs/orders.js @@ -0,0 +1,23 @@ +export default { + "status": { + "new": "Probíhá", // in Bearbeitung + "pending": "Nové", // Neu + "processing": "Probíhá", // in Bearbeitung + "cancelled": "Zrušeno", // Storniert + "shipped": "Odesláno", // Verschickt + "delivered": "Doručeno", // Geliefert + "return": "Vrácení", // Retoure + "partialReturn": "Částečné vrácení", // Teil Retoure + "partialDelivered": "Částečně doručeno" // Teil geliefert + }, + "table": { + "orderNumber": "Číslo objednávky", // Bestellnummer + "date": "Datum", // Datum + "status": "Stav", // Status + "items": "Položky", // Artikel + "total": "Celkem", // Summe + "actions": "Akce", // Aktionen + "viewDetails": "Zobrazit detaily" // Details anzeigen + }, + "noOrders": "Ještě jste neprovedli žádné objednávky." // Sie haben noch keine Bestellungen aufgegeben. +}; diff --git a/src/i18n/locales/cs/pages.js b/src/i18n/locales/cs/pages.js new file mode 100644 index 0000000..7a99a0a --- /dev/null +++ b/src/i18n/locales/cs/pages.js @@ -0,0 +1,10 @@ +export default { + "oilPress": { + "title": "Půjčit lis na olej", // Ölpresse ausleihen + "comingSoon": "Obsah brzy k dispozici...", // Inhalt kommt bald... + }, + "thcTest": { + "title": "THC test", // THC Test + "comingSoon": "Obsah brzy k dispozici...", // Inhalt kommt bald... + } +}; diff --git a/src/i18n/locales/cs/payment.js b/src/i18n/locales/cs/payment.js new file mode 100644 index 0000000..9f68d43 --- /dev/null +++ b/src/i18n/locales/cs/payment.js @@ -0,0 +1,8 @@ +export default { + "successful": "Platba byla úspěšná!", // Zahlung erfolgreich! + "failed": "Platba selhala", // Zahlung fehlgeschlagen + "orderCompleted": "🎉 Vaše objednávka byla úspěšně dokončena! Nyní si můžete prohlédnout své objednávky.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. + "orderProcessing": "Vaše platba byla úspěšně zpracována. Objednávka bude automaticky dokončena.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. + "paymentError": "Vaši platbu nebylo možné zpracovat. Zkuste to prosím znovu nebo zvolte jiný způsob platby.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. + "viewOrders": "Přejít na mé objednávky" // Zu meinen Bestellungen +}; diff --git a/src/i18n/locales/cs/product.js b/src/i18n/locales/cs/product.js new file mode 100644 index 0000000..e725e63 --- /dev/null +++ b/src/i18n/locales/cs/product.js @@ -0,0 +1,32 @@ +export default { + "loading": "Načítání produktu...", // Produkt wird geladen... + "notFound": "Produkt nenalezen", // Produkt nicht gefunden + "notFoundDescription": "Produkt, který hledáte, neexistuje nebo byl odstraněn.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. + "backToHome": "Zpět na domovskou stránku", // Zurück zur Startseite + "error": "Chyba", // Fehler + "articleNumber": "Číslo článku", // Artikelnummer + "manufacturer": "Výrobce", // Hersteller + "inclVat": "včetně {{vat}}% DPH", // inkl. {{vat}}% MwSt. + "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} + "new": "Nové", // Neu + "weeks": "týdnů", // Wochen + "arriving": "Příchod:", // Ankunft: + "inclVatFooter": "včetně {{vat}}% DPH,*", // inkl. {{vat}}% MwSt.,* + "availability": "Dostupnost", // Verfügbarkeit + "inStock": "skladem", // auf Lager + "comingSoon": "Brzy k dispozici", // Bald verfügbar + "deliveryTime": "Doba dodání", // Lieferzeit + "inclShort": "vč.", // inkl. + "vatShort": "DPH", // MwSt. + "countDisplay": { + "noProducts": "0 produktů", // 0 Produkte + "oneProduct": "1 produkt", // 1 Produkt + "multipleProducts": "{{count}} produktů", // {{count}} Produkte + "filteredProducts": "{{filtered}} z {{total}} produktů", // {{filtered}} von {{total}} Produkten + "filteredOneProduct": "{{filtered}} z 1 produktu", // {{filtered}} von 1 Produkt + "xOfYProducts": "{{x}} z {{y}} produktů" // {{x}} von {{y}} Produkten + }, + "removeFiltersToSee": "Odstraňte filtry pro zobrazení produktů", // Entferne Filter um Produkte zu sehen + "outOfStock": "Není skladem", // Out of Stock + "fromXProducts": "od {{count}} produktů" // ab {{count}} Produkten +}; diff --git a/src/i18n/locales/cs/search.js b/src/i18n/locales/cs/search.js new file mode 100644 index 0000000..baca13e --- /dev/null +++ b/src/i18n/locales/cs/search.js @@ -0,0 +1,5 @@ +export default { + "placeholder": "Můžeš se mě zeptat na odrůdy konopí...", // Du kannst mich nach Cannabissorten fragen... + "recording": "Probíhá nahrávání...", // Aufnahme läuft... + "searchProducts": "Hledat produkty...", // Produkte suchen... +}; diff --git a/src/i18n/locales/cs/sections.js b/src/i18n/locales/cs/sections.js new file mode 100644 index 0000000..6269807 --- /dev/null +++ b/src/i18n/locales/cs/sections.js @@ -0,0 +1,8 @@ +export default { + "seeds": "Semena", // Seeds + "stecklinge": "Řízky", // Stecklinge + "oilPress": "Půjčit lis na olej", // Ölpresse ausleihen + "thcTest": "THC test", // THC Test + "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 + "address2": "01129 Dresden" // 01129 Dresden +}; diff --git a/src/i18n/locales/cs/settings.js b/src/i18n/locales/cs/settings.js new file mode 100644 index 0000000..8d461f2 --- /dev/null +++ b/src/i18n/locales/cs/settings.js @@ -0,0 +1,34 @@ +export default { + "changePassword": "Změnit heslo", // Passwort ändern + "currentPassword": "Aktuální heslo", // Aktuelles Passwort + "newPassword": "Nové heslo", // Neues Passwort + "confirmNewPassword": "Potvrdit nové heslo", // Neues Passwort bestätigen + "updatePassword": "Aktualizovat heslo", // Passwort aktualisieren + "changeEmail": "Změnit e-mailovou adresu", // E-Mail-Adresse ändern + "password": "Heslo", // Passwort + "newEmail": "Nová e-mailová adresa", // Neue E-Mail-Adresse + "updateEmail": "Aktualizovat e-mail", // E-Mail aktualisieren + "apiKey": "API klíč", // API-Schlüssel + "apiKeyDescription": "Použijte svůj API klíč pro integraci s externími aplikacemi.", // Verwenden Sie Ihren API-Schlüssel für die Integration mit externen Anwendungen. + "apiDocumentation": "Dokumentace API:", // API-Dokumentation: + "copyToClipboard": "Kopírovat do schránky", // In Zwischenablage kopieren + "generate": "Vygenerovat", // Generieren + "regenerate": "Znovu vygenerovat", // Regenerieren + "apiKeyCopied": "API klíč zkopírován do schránky", // API-Schlüssel in Zwischenablage kopiert + "errors": { + "fillAllFields": "Vyplňte prosím všechna pole", // Bitte füllen Sie alle Felder aus + "passwordsNotMatch": "Nová hesla se neshodují", // Die neuen Passwörter stimmen nicht überein + "passwordTooShort": "Nové heslo musí mít alespoň 8 znaků", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "passwordUpdateError": "Chyba při aktualizaci hesla", // Fehler beim Aktualisieren des Passworts + "invalidEmail": "Zadejte platnou e-mailovou adresu", // Bitte geben Sie eine gültige E-Mail-Adresse ein + "emailUpdateError": "Chyba při aktualizaci e-mailové adresy", // Fehler beim Aktualisieren der E-Mail-Adresse + "userNotFound": "Uživatel nenalezen", // Benutzer nicht gefunden + "apiKeyGenerationError": "Chyba při generování API klíče" // Fehler beim Generieren des API-Schlüssels + }, + "success": { + "passwordUpdated": "Heslo bylo úspěšně aktualizováno", // Passwort erfolgreich aktualisiert + "emailUpdated": "E-mailová adresa byla úspěšně aktualizována", // E-Mail-Adresse erfolgreich aktualisiert + "apiKeyGenerated": "API klíč byl úspěšně vygenerován", // API-Schlüssel erfolgreich generiert + "apiKeyWarning": "Uchovejte tento klíč bezpečně. Z bezpečnostních důvodů bude za 10 sekund skryt." // Speichern Sie diesen Schlüssel sicher. Er wird aus Sicherheitsgründen in 10 Sekunden ausgeblendet. + } +}; diff --git a/src/i18n/locales/cs/sorting.js b/src/i18n/locales/cs/sorting.js new file mode 100644 index 0000000..7e72d24 --- /dev/null +++ b/src/i18n/locales/cs/sorting.js @@ -0,0 +1,6 @@ +export default { + "name": "Jméno", // Name + "searchField": "Hledaný výraz", // Suchbegriff + "priceLowHigh": "Cena: od nejnižší po nejvyšší", // Preis: Niedrig zu Hoch + "priceHighLow": "Cena: od nejvyšší po nejnižší" // Preis: Hoch zu Niedrig +}; diff --git a/src/i18n/locales/cs/tax.js b/src/i18n/locales/cs/tax.js new file mode 100644 index 0000000..d864c30 --- /dev/null +++ b/src/i18n/locales/cs/tax.js @@ -0,0 +1,12 @@ +export default { + "vat": "Daň z přidané hodnoty", // Mehrwertsteuer + "vat7": "7% daň z přidané hodnoty", // 7% Mehrwertsteuer + "vat19": "19% daň z přidané hodnoty", // 19% Mehrwertsteuer + "vat19WithShipping": "19% daň z přidané hodnoty (včetně dopravy)", // 19% Mehrwertsteuer (inkl. Versand) + "totalNet": "Celková cena bez DPH", // Gesamtnettopreis + "totalGross": "Celková cena včetně DPH bez dopravy", // Gesamtbruttopreis ohne Versand + "subtotal": "Mezisoučet", // Zwischensumme + "incl7Vat": "včetně 7% DPH", // inkl. 7% MwSt. + "inclVatWithFooter": "(včetně {{vat}}% DPH,*)", // (incl. {{vat}}% USt.,*) + "inclVatAmount": "včetně {{amount}} € DPH ({{rate}}%)" // nkl. {{amount}} € MwSt. ({{rate}}%) +}; diff --git a/src/i18n/locales/cs/titles.js b/src/i18n/locales/cs/titles.js new file mode 100644 index 0000000..f1497e1 --- /dev/null +++ b/src/i18n/locales/cs/titles.js @@ -0,0 +1,5 @@ +export default { + "home": "Kvalitní semena a řízky konopí", // Fine Cannabis Seeds & Cuttings + "aktionen": "Aktuální akce a nabídky", // Aktuelle Aktionen & Angebote + "filiale": "Náš obchod v Drážďanech" // Unsere Filiale in Dresden +}; diff --git a/src/i18n/locales/cs/translation.js b/src/i18n/locales/cs/translation.js index 35730ff..820476a 100644 --- a/src/i18n/locales/cs/translation.js +++ b/src/i18n/locales/cs/translation.js @@ -1,231 +1,3 @@ -export default { - "locale": { - "code": "cs-CZ" // de-DE - }, - "navigation": { - "home": "Domů", // Startseite - "aktionen": "Akce", // Aktionen - "filiale": "Pobočka", // Filiale - "categories": "Kategorie", // Kategorien - "categoriesOpen": "Otevřít kategorie", // Kategorien öffnen - "categoriesClose": "Zavřít kategorie", // Kategorien schließen - "otherCategories": "Jiné kategorie" // Andere Kategorien - }, - "auth": { - "login": "Přihlásit se", // Anmelden - "register": "Registrovat se", // Registrieren - "logout": "Odhlásit se", // Abmelden - "profile": "Profil", // Profil - "email": "Email", // E-Mail - "password": "Heslo", // Passwort - "confirmPassword": "Potvrdit heslo", // Passwort bestätigen - "forgotPassword": "Zapomněli jste heslo?", // Passwort vergessen? - "loginWithGoogle": "Přihlásit se přes Google", // Mit Google anmelden - "or": "NEBO", // ODER - "privacyAccept": "Kliknutím na „Přihlásit se přes Google“ souhlasím s", // Mit dem Click auf \"Mit Google anmelden\" akzeptiere ich die - "privacyPolicy": "Zásadami ochrany osobních údajů", // Datenschutzbestimmungen - "passwordMinLength": "Heslo musí mít alespoň 8 znaků", // Das Passwort muss mindestens 8 Zeichen lang sein - "newPasswordMinLength": "Nové heslo musí mít alespoň 8 znaků", // Das neue Passwort muss mindestens 8 Zeichen lang sein - "menu": { - "profile": "Profil", // Profil - "checkout": "Pokladna", // Bestellabschluss - "orders": "Objednávky", // Bestellungen - "settings": "Nastavení", // Einstellungen - "adminDashboard": "Administrátorský panel", // Admin Dashboard - "adminUsers": "Administrátoři" // Admin Users - } - }, - "cart": { - "title": "Košík", // Warenkorb - "empty": "prázdný", // leer - "addToCart": "Přidat do košíku", // In den Korb - "preorderCutting": "Předobjednat jako řízek", // Als Steckling vorbestellen - "continueShopping": "Pokračovat v nákupu", // Weiter einkaufen - "proceedToCheckout": "Pokračovat k pokladně", // Weiter zur Kasse - "productCount": "{{count}} {{count, plural, one {Produkt} other {Produkty}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} - "removeFromCart": "Odstranit z košíku", // Aus dem Warenkorb entfernen - "openCart": "Otevřít košík", // Warenkorb öffnen - "availableFrom": "Dostupné od {{date}}", // Ab {{date}} - "backToOrder": "← Zpět k objednávce", // ← Zurück zur Bestellung - "sync": { - "title": "Synchronizace košíku", // Warenkorb-Synchronisierung - "description": "Máte uložený košík ve svém účtu. Vyberte, jak chcete pokračovat:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten: - "deleteServer": "Smazat košík na serveru", // Server-Warenkorb löschen - "useServer": "Použít košík ze serveru", // Server-Warenkorb übernehmen - "merge": "Sloučit košíky", // Warenkörbe zusammenführen - "currentCart": "Váš aktuální košík", // Ihr aktueller Warenkorb - "serverCart": "Košík uložený ve vašem profilu" // In Ihrem Profil gespeicherter Warenkorb - } - }, - "product": { - "loading": "Načítání produktu...", // Produkt wird geladen... - "notFound": "Produkt nenalezen", // Produkt nicht gefunden - "notFoundDescription": "Produkt, který hledáte, neexistuje nebo byl odstraněn.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. - "backToHome": "Zpět na domovskou stránku", // Zurück zur Startseite - "error": "Chyba", // Fehler - "articleNumber": "Číslo artiklu", // Artikelnummer - "manufacturer": "Výrobce", // Hersteller - "inclVat": "včetně {{vat}}% DPH", // inkl. {{vat}}% MwSt. - "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} - "new": "Nové", // Neu - "arriving": "Přichází:", // Ankunft: - "inclVatFooter": "včetně {{vat}}% DPH,*", // incl. {{vat}}% USt.,* - "availability": "Dostupnost", // Verfügbarkeit - "inStock": "skladem", // auf Lager - "comingSoon": "Brzy k dispozici", // Bald verfügbar - "deliveryTime": "Doba dodání", // Lieferzeit - "inclShort": "vč.", // inkl. - "vatShort": "DPH", // MwSt. - "countDisplay": { - "noProducts": "0 produktů", // 0 Produkte - "oneProduct": "1 produkt", // 1 Produkt - "multipleProducts": "{{count}} produktů", // {{count}} Produkte - "filteredProducts": "{{filtered}} z {{total}} produktů", // {{filtered}} von {{total}} Produkten - "filteredOneProduct": "{{filtered}} z 1 produktu" // {{filtered}} von 1 Produkt - }, - "removeFiltersToSee": "Odstraňte filtry pro zobrazení produktů", // Entferne Filter um Produkte zu sehen - "outOfStock": "Není skladem", // Out of Stock - "fromXProducts": "od {{count}} produktů" // ab {{count}} Produkten - }, - "search": { - "placeholder": "Můžete se mě zeptat na odrůdy konopí...", // Du kannst mich nach Cannabissorten fragen... - "recording": "Nahrávání...", // Aufnahme läuft... - "searchProducts": "Hledat produkty..." // Produkte suchen... - }, - "sorting": { - "name": "Název", // Name - "searchField": "Hledaný výraz", // Suchbegriff - "priceLowHigh": "Cena: od nejnižší", // Preis: Niedrig zu Hoch - "priceHighLow": "Cena: od nejvyšší" // Preis: Hoch zu Niedrig - }, - "chat": { - "privacyRead": "Přečteno a přijato" // Gelesen & Akzeptiert - }, - "delivery": { - "methods": { - "dhl": "DHL", // DHL - "dpd": "DPD", // DPD - "sperrgut": "Objemné zboží", // Sperrgut - "pickup": "Osobní odběr na pobočce" // Abholung in der Filiale - }, - "descriptions": { - "standard": "Standardní doprava", // Standardversand - "standardFree": "Standardní doprava - ZDARMA od objednávky nad 100 €!", // Standardversand - KOSTENLOS ab 100€ Warenwert! - "notAvailable": "Nelze vybrat, protože jeden nebo více produktů lze pouze vyzvednout", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können - "bulky": "Pro velké a těžké položky" // Für große und schwere Artikel - }, - "prices": { - "free": "zdarma", // kostenlos - "freeFrom100": "(zdarma od 100 €)", // (kostenlos ab 100€) - "dhl": "6,99 €", // 6,99 € - "dpd": "4,90 €", // 4,90 € - "sperrgut": "28,99 €" // 28,99 € - }, - "times": { - "cutting14Days": "Doba dodání: 14 dní", // Lieferzeit: 14 Tage - "standard2to3Days": "Doba dodání: 2-3 dny", // Lieferzeit: 2-3 Tage - "supplier7to9Days": "Doba dodání: 7-9 dní" // Lieferzeit: 7-9 Tage - } - }, - "checkout": { - "invoiceAddress": "Fakturační adresa", // Rechnungsadresse - "deliveryAddress": "Dodací adresa", // Lieferadresse - "saveForFuture": "Uložit pro budoucí objednávky", // Für zukünftige Bestellungen speichern - "pickupDate": "Na který den chcete vyzvednout řízky?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht? - "note": "Poznámka", // Anmerkung - "sameAddress": "Dodací adresa je stejná jako fakturační adresa", // Lieferadresse ist identisch mit Rechnungsadresse - "termsAccept": "Přečetl(a) jsem si Obchodní podmínky, Zásady ochrany osobních údajů a informace o právu na odstoupení od smlouvy" // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen - }, - "payment": { - "successful": "Platba byla úspěšná!", // Zahlung erfolgreich! - "failed": "Platba selhala", // Zahlung fehlgeschlagen - "orderCompleted": "🎉 Vaše objednávka byla úspěšně dokončena! Nyní můžete zobrazit své objednávky.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. - "orderProcessing": "Vaše platba byla úspěšně zpracována. Objednávka bude automaticky dokončena.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. - "paymentError": "Vaši platbu nebylo možné zpracovat. Zkuste to prosím znovu nebo zvolte jiný způsob platby.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. - "viewOrders": "Zobrazit mé objednávky" // Zu meinen Bestellungen - }, - "filters": { - "sorting": "Řazení", // Sortierung - "perPage": "na stránku", // pro Seite - "availability": "Dostupnost", // Verfügbarkeit - "manufacturer": "Výrobce" // Hersteller - }, - "tax": { - "vat": "Daň z přidané hodnoty", // Mehrwertsteuer - "vat7": "7% daň z přidané hodnoty", // 7% Mehrwertsteuer - "vat19": "19% daň z přidané hodnoty", // 19% Mehrwertsteuer - "vat19WithShipping": "19% daň z přidané hodnoty (včetně dopravy)", // 19% Mehrwertsteuer (inkl. Versand) - "totalNet": "Celková cena bez DPH", // Gesamtnettopreis - "totalGross": "Celková cena včetně DPH bez dopravy", // Gesamtbruttopreis ohne Versand - "subtotal": "Mezisoučet" // Zwischensumme - }, - "footer": { - "hours": "So 11-19", // Sa 11-19 - "address": "Trachenberger Straße 14 - Drážďany", // Trachenberger Straße 14 - Dresden - "location": "Mezi zastávkou Pieschen a Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz - "allPricesIncl": "* Všechny ceny včetně zákonné DPH, plus doprava", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand - "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de - "legal": { - "datenschutz": "Ochrana osobních údajů", // Datenschutz - "agb": "Obchodní podmínky", // AGB - "sitemap": "Mapa stránek", // Sitemap - "impressum": "Impressum", // Impressum - "batteriegesetzhinweise": "Poznámky k zákonu o bateriích", // Batteriegesetzhinweise - "widerrufsrecht": "Právo na odstoupení" // Widerrufsrecht - } - }, - "titles": { - "home": "Kvalitní semena a řízky konopí", // Fine Cannabis Seeds & Cuttings (the text in the string has special characters, translate using the comment) - "aktionen": "Aktuální akce a nabídky", // Aktuelle Aktionen & Angebote (the text in the string has special characters, translate using the comment) - "filiale": "Naše pobočka v Drážďanech" // Unsere Filiale in Dresden (the text in the string has special characters, translate using the comment) - }, - "sections": { - "seeds": "Semena", // Seeds - "stecklinge": "Řízky", // Stecklinge - "oilPress": "Půjčit lis na olej", // Ölpresse ausleihen - "thcTest": "THC test", // THC Test - "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 - "address2": "01129 Drážďany" // 01129 Dresden - }, - "pages": { - "oilPress": { - "title": "Půjčit lis na olej", // Ölpresse ausleihen - "comingSoon": "Obsah brzy k dispozici..." // Inhalt kommt bald... - }, - "thcTest": { - "title": "THC test", // THC Test - "comingSoon": "Obsah brzy k dispozici..." // Inhalt kommt bald... - } - }, - "orders": { - "status": { - "new": "Zpracovává se", // in Bearbeitung - "pending": "Nová", // Neu - "processing": "Zpracovává se", // in Bearbeitung - "cancelled": "Zrušeno", // Storniert - "shipped": "Odesláno", // Verschickt - "delivered": "Doručeno", // Geliefert - "return": "Vrácení", // Retoure - "partialReturn": "Částečné vrácení", // Teil Retoure - "partialDelivered": "Částečně doručeno" // Teil geliefert - } - }, - "common": { - "loading": "Načítání...", // Lädt... - "error": "Chyba", // Fehler - "close": "Zavřít", // Schließen - "save": "Uložit", // Speichern - "cancel": "Zrušit", // Abbrechen - "ok": "OK", // OK - "yes": "Ano", // Ja - "no": "Ne", // Nein - "next": "Další", // Weiter - "back": "Zpět", // Zurück - "edit": "Upravit", // Bearbeiten - "delete": "Smazat", // Löschen - "add": "Přidat", // Hinzufügen - "remove": "Odstranit", // Entfernen - "products": "Produkty", // Produkte - "product": "Produkt" // Produkt - } -}; +import translations from './index.js'; + +export default translations; \ No newline at end of file diff --git a/src/i18n/locales/de/auth.js b/src/i18n/locales/de/auth.js new file mode 100644 index 0000000..79a0617 --- /dev/null +++ b/src/i18n/locales/de/auth.js @@ -0,0 +1,25 @@ +export default { + "login": "Anmelden", + "register": "Registrieren", + "logout": "Abmelden", + "profile": "Profil", + "email": "E-Mail", + "password": "Passwort", + "confirmPassword": "Passwort bestätigen", + "forgotPassword": "Passwort vergessen?", + "loginWithGoogle": "Mit Google anmelden", + "or": "ODER", + "privacyAccept": "Mit dem Click auf \"Mit Google anmelden\" akzeptiere ich die", + "privacyPolicy": "Datenschutzbestimmungen", + "passwordMinLength": "Das Passwort muss mindestens 8 Zeichen lang sein", + "newPasswordMinLength": "Das neue Passwort muss mindestens 8 Zeichen lang sein", + "menu": { + "profile": "Profil", + "myProfile": "Mein Profil", + "checkout": "Bestellabschluss", + "orders": "Bestellungen", + "settings": "Einstellungen", + "adminDashboard": "Admin Dashboard", + "adminUsers": "Admin Users" + } +}; \ No newline at end of file diff --git a/src/i18n/locales/de/cart.js b/src/i18n/locales/de/cart.js new file mode 100644 index 0000000..b66a861 --- /dev/null +++ b/src/i18n/locales/de/cart.js @@ -0,0 +1,24 @@ +export default { + "title": "Warenkorb", + "empty": "leer", + "addToCart": "In den Korb", + "preorderCutting": "Als Steckling vorbestellen", + "continueShopping": "Weiter einkaufen", + "proceedToCheckout": "Weiter zur Kasse", + "productCount": "{{count}} {{count, plural, one {Produkt} other {Produkte}}}", + "productSingular": "Produkt", + "productPlural": "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:", + "deleteServer": "Server-Warenkorb löschen", + "useServer": "Server-Warenkorb übernehmen", + "merge": "Warenkörbe zusammenführen", + "currentCart": "Ihr aktueller Warenkorb", + "serverCart": "In Ihrem Profil gespeicherter Warenkorb" + } +}; \ No newline at end of file diff --git a/src/i18n/locales/de/chat.js b/src/i18n/locales/de/chat.js new file mode 100644 index 0000000..f8df290 --- /dev/null +++ b/src/i18n/locales/de/chat.js @@ -0,0 +1,3 @@ +export default { + "privacyRead": "Gelesen & Akzeptiert" +}; \ No newline at end of file diff --git a/src/i18n/locales/de/checkout.js b/src/i18n/locales/de/checkout.js new file mode 100644 index 0000000..66dddf4 --- /dev/null +++ b/src/i18n/locales/de/checkout.js @@ -0,0 +1,13 @@ +export default { + "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", + "selectDeliveryMethod": "Versandart wählen", + "selectPaymentMethod": "Zahlungsart wählen", + "orderSummary": "Bestellübersicht", + "addressValidationError": "Bitte überprüfen Sie Ihre Eingaben in den Adressfeldern." +}; \ No newline at end of file diff --git a/src/i18n/locales/de/common.js b/src/i18n/locales/de/common.js new file mode 100644 index 0000000..26d23c7 --- /dev/null +++ b/src/i18n/locales/de/common.js @@ -0,0 +1,19 @@ +export default { + "loading": "Lädt...", + "error": "Fehler", + "close": "Schließen", + "save": "Speichern", + "cancel": "Abbrechen", + "ok": "OK", + "yes": "Ja", + "no": "Nein", + "next": "Weiter", + "back": "Zurück", + "edit": "Bearbeiten", + "delete": "Löschen", + "add": "Hinzufügen", + "remove": "Entfernen", + "products": "Produkte", + "product": "Produkt", + "days": "Tage" +}; \ No newline at end of file diff --git a/src/i18n/locales/de/delivery.js b/src/i18n/locales/de/delivery.js new file mode 100644 index 0000000..dc241c0 --- /dev/null +++ b/src/i18n/locales/de/delivery.js @@ -0,0 +1,27 @@ +export default { + "methods": { + "dhl": "DHL", + "dpd": "DPD", + "sperrgut": "Sperrgut", + "pickup": "Abholung in der Filiale" + }, + "descriptions": { + "standard": "Standardversand", + "standardFree": "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", + "pickupOnly": "nur Abholung" + }, + "prices": { + "free": "kostenlos", + "freeFrom100": "(kostenlos ab 100€)", + "dhl": "6,99 €", + "dpd": "4,90 €", + "sperrgut": "28,99 €" + }, + "times": { + "cutting14Days": "Lieferzeit: 14 Tage", + "standard2to3Days": "Lieferzeit: 2-3 Tage", + "supplier7to9Days": "Lieferzeit: 7-9 Tage" + } +}; \ No newline at end of file diff --git a/src/i18n/locales/de/filters.js b/src/i18n/locales/de/filters.js new file mode 100644 index 0000000..5b565b6 --- /dev/null +++ b/src/i18n/locales/de/filters.js @@ -0,0 +1,7 @@ +export default { + "sorting": "Sortierung", + "perPage": "pro Seite", + "availability": "Verfügbarkeit", + "manufacturer": "Hersteller", + "all": "Alle" +}; \ No newline at end of file diff --git a/src/i18n/locales/de/footer.js b/src/i18n/locales/de/footer.js new file mode 100644 index 0000000..fca8863 --- /dev/null +++ b/src/i18n/locales/de/footer.js @@ -0,0 +1,15 @@ +export default { + "hours": "Sa 11-19", + "address": "Trachenberger Straße 14 - Dresden", + "location": "Zwischen Haltepunkt Pieschen und Trachenberger Platz", + "allPricesIncl": "* Alle Preise inkl. gesetzlicher USt., zzgl. Versand", + "copyright": "© {{year}} GrowHeads.de", + "legal": { + "datenschutz": "Datenschutz", + "agb": "AGB", + "sitemap": "Sitemap", + "impressum": "Impressum", + "batteriegesetzhinweise": "Batteriegesetzhinweise", + "widerrufsrecht": "Widerrufsrecht" + } +}; \ No newline at end of file diff --git a/src/i18n/locales/de/index.js b/src/i18n/locales/de/index.js new file mode 100644 index 0000000..1dd359f --- /dev/null +++ b/src/i18n/locales/de/index.js @@ -0,0 +1,43 @@ +import locale from './locale.js'; +import navigation from './navigation.js'; +import auth from './auth.js'; +import cart from './cart.js'; +import product from './product.js'; +import search from './search.js'; +import sorting from './sorting.js'; +import chat from './chat.js'; +import delivery from './delivery.js'; +import checkout from './checkout.js'; +import payment from './payment.js'; +import filters from './filters.js'; +import tax from './tax.js'; +import footer from './footer.js'; +import titles from './titles.js'; +import sections from './sections.js'; +import pages from './pages.js'; +import orders from './orders.js'; +import settings from './settings.js'; +import common from './common.js'; + +export default { + "locale": locale, + "navigation": navigation, + "auth": auth, + "cart": cart, + "product": product, + "search": search, + "sorting": sorting, + "chat": chat, + "delivery": delivery, + "checkout": checkout, + "payment": payment, + "filters": filters, + "tax": tax, + "footer": footer, + "titles": titles, + "sections": sections, + "pages": pages, + "orders": orders, + "settings": settings, + "common": common +}; \ No newline at end of file diff --git a/src/i18n/locales/de/locale.js b/src/i18n/locales/de/locale.js new file mode 100644 index 0000000..d9de7c0 --- /dev/null +++ b/src/i18n/locales/de/locale.js @@ -0,0 +1,3 @@ +export default { + "code": "de-DE" +}; \ No newline at end of file diff --git a/src/i18n/locales/de/navigation.js b/src/i18n/locales/de/navigation.js new file mode 100644 index 0000000..60f017d --- /dev/null +++ b/src/i18n/locales/de/navigation.js @@ -0,0 +1,9 @@ +export default { + "home": "Startseite", + "aktionen": "Aktionen", + "filiale": "Filiale", + "categories": "Kategorien", + "categoriesOpen": "Kategorien öffnen", + "categoriesClose": "Kategorien schließen", + "otherCategories": "Andere Kategorien" +}; \ No newline at end of file diff --git a/src/i18n/locales/de/orders.js b/src/i18n/locales/de/orders.js new file mode 100644 index 0000000..84ca17c --- /dev/null +++ b/src/i18n/locales/de/orders.js @@ -0,0 +1,23 @@ +export default { + "status": { + "new": "in Bearbeitung", + "pending": "Neu", + "processing": "in Bearbeitung", + "cancelled": "Storniert", + "shipped": "Verschickt", + "delivered": "Geliefert", + "return": "Retoure", + "partialReturn": "Teil Retoure", + "partialDelivered": "Teil geliefert" + }, + "table": { + "orderNumber": "Bestellnummer", + "date": "Datum", + "status": "Status", + "items": "Artikel", + "total": "Summe", + "actions": "Aktionen", + "viewDetails": "Details anzeigen" + }, + "noOrders": "Sie haben noch keine Bestellungen aufgegeben." +}; \ No newline at end of file diff --git a/src/i18n/locales/de/pages.js b/src/i18n/locales/de/pages.js new file mode 100644 index 0000000..ca74891 --- /dev/null +++ b/src/i18n/locales/de/pages.js @@ -0,0 +1,10 @@ +export default { + "oilPress": { + "title": "Ölpresse ausleihen", + "comingSoon": "Inhalt kommt bald..." + }, + "thcTest": { + "title": "THC Test", + "comingSoon": "Inhalt kommt bald..." + } +}; \ No newline at end of file diff --git a/src/i18n/locales/de/payment.js b/src/i18n/locales/de/payment.js new file mode 100644 index 0000000..231be2e --- /dev/null +++ b/src/i18n/locales/de/payment.js @@ -0,0 +1,8 @@ +export default { + "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" +}; \ No newline at end of file diff --git a/src/i18n/locales/de/product.js b/src/i18n/locales/de/product.js new file mode 100644 index 0000000..ece278e --- /dev/null +++ b/src/i18n/locales/de/product.js @@ -0,0 +1,32 @@ +export default { + "loading": "Produkt wird geladen...", + "notFound": "Produkt nicht gefunden", + "notFoundDescription": "Das gesuchte Produkt existiert nicht oder wurde entfernt.", + "backToHome": "Zurück zur Startseite", + "error": "Fehler", + "articleNumber": "Artikelnummer", + "manufacturer": "Hersteller", + "inclVat": "inkl. {{vat}}% MwSt.", + "priceUnit": "{{price}}/{{unit}}", + "new": "Neu", + "weeks": "Wochen", + "arriving": "Ankunft:", + "inclVatFooter": "inkl. {{vat}}% MwSt.,*", + "availability": "Verfügbarkeit", + "inStock": "auf Lager", + "comingSoon": "Bald verfügbar", + "deliveryTime": "Lieferzeit", + "inclShort": "inkl.", + "vatShort": "MwSt.", + "countDisplay": { + "noProducts": "0 Produkte", + "oneProduct": "1 Produkt", + "multipleProducts": "{{count}} Produkte", + "filteredProducts": "{{filtered}} von {{total}} Produkten", + "filteredOneProduct": "{{filtered}} von 1 Produkt", + "xOfYProducts": "{{x}} von {{y}} Produkten" + }, + "removeFiltersToSee": "Entferne Filter um Produkte zu sehen", + "outOfStock": "Out of Stock", + "fromXProducts": "ab {{count}} Produkten" +}; \ No newline at end of file diff --git a/src/i18n/locales/de/search.js b/src/i18n/locales/de/search.js new file mode 100644 index 0000000..a899704 --- /dev/null +++ b/src/i18n/locales/de/search.js @@ -0,0 +1,5 @@ +export default { + "placeholder": "Du kannst mich nach Cannabissorten fragen...", + "recording": "Aufnahme läuft...", + "searchProducts": "Produkte suchen..." +}; \ No newline at end of file diff --git a/src/i18n/locales/de/sections.js b/src/i18n/locales/de/sections.js new file mode 100644 index 0000000..4001c4d --- /dev/null +++ b/src/i18n/locales/de/sections.js @@ -0,0 +1,8 @@ +export default { + "seeds": "Seeds", + "stecklinge": "Stecklinge", + "oilPress": "Ölpresse ausleihen", + "thcTest": "THC Test", + "address1": "Trachenberger Straße 14", + "address2": "01129 Dresden" +}; \ No newline at end of file diff --git a/src/i18n/locales/de/settings.js b/src/i18n/locales/de/settings.js new file mode 100644 index 0000000..14e8e33 --- /dev/null +++ b/src/i18n/locales/de/settings.js @@ -0,0 +1,34 @@ +export default { + "changePassword": "Passwort ändern", + "currentPassword": "Aktuelles Passwort", + "newPassword": "Neues Passwort", + "confirmNewPassword": "Neues Passwort bestätigen", + "updatePassword": "Passwort aktualisieren", + "changeEmail": "E-Mail-Adresse ändern", + "password": "Passwort", + "newEmail": "Neue E-Mail-Adresse", + "updateEmail": "E-Mail aktualisieren", + "apiKey": "API-Schlüssel", + "apiKeyDescription": "Verwenden Sie Ihren API-Schlüssel für die Integration mit externen Anwendungen.", + "apiDocumentation": "API-Dokumentation:", + "copyToClipboard": "In Zwischenablage kopieren", + "generate": "Generieren", + "regenerate": "Regenerieren", + "apiKeyCopied": "API-Schlüssel in Zwischenablage kopiert", + "errors": { + "fillAllFields": "Bitte füllen Sie alle Felder aus", + "passwordsNotMatch": "Die neuen Passwörter stimmen nicht überein", + "passwordTooShort": "Das neue Passwort muss mindestens 8 Zeichen lang sein", + "passwordUpdateError": "Fehler beim Aktualisieren des Passworts", + "invalidEmail": "Bitte geben Sie eine gültige E-Mail-Adresse ein", + "emailUpdateError": "Fehler beim Aktualisieren der E-Mail-Adresse", + "userNotFound": "Benutzer nicht gefunden", + "apiKeyGenerationError": "Fehler beim Generieren des API-Schlüssels" + }, + "success": { + "passwordUpdated": "Passwort erfolgreich aktualisiert", + "emailUpdated": "E-Mail-Adresse erfolgreich aktualisiert", + "apiKeyGenerated": "API-Schlüssel erfolgreich generiert", + "apiKeyWarning": "Speichern Sie diesen Schlüssel sicher. Er wird aus Sicherheitsgründen in 10 Sekunden ausgeblendet." + } +}; \ No newline at end of file diff --git a/src/i18n/locales/de/sorting.js b/src/i18n/locales/de/sorting.js new file mode 100644 index 0000000..93bcdd9 --- /dev/null +++ b/src/i18n/locales/de/sorting.js @@ -0,0 +1,6 @@ +export default { + "name": "Name", + "searchField": "Suchbegriff", + "priceLowHigh": "Preis: Niedrig zu Hoch", + "priceHighLow": "Preis: Hoch zu Niedrig" +}; \ No newline at end of file diff --git a/src/i18n/locales/de/tax.js b/src/i18n/locales/de/tax.js new file mode 100644 index 0000000..ca9bd23 --- /dev/null +++ b/src/i18n/locales/de/tax.js @@ -0,0 +1,12 @@ +export default { + "vat": "Mehrwertsteuer", + "vat7": "7% Mehrwertsteuer", + "vat19": "19% Mehrwertsteuer", + "vat19WithShipping": "19% Mehrwertsteuer (inkl. Versand)", + "totalNet": "Gesamtnettopreis", + "totalGross": "Gesamtbruttopreis ohne Versand", + "subtotal": "Zwischensumme", + "incl7Vat": "inkl. 7% MwSt.", + "inclVatWithFooter": "(incl. {{vat}}% USt.,*)", + "inclVatAmount": "nkl. {{amount}} € MwSt. ({{rate}}%)" +}; \ No newline at end of file diff --git a/src/i18n/locales/de/titles.js b/src/i18n/locales/de/titles.js new file mode 100644 index 0000000..7e0adda --- /dev/null +++ b/src/i18n/locales/de/titles.js @@ -0,0 +1,5 @@ +export default { + "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) +}; \ No newline at end of file diff --git a/src/i18n/locales/de/translation.js b/src/i18n/locales/de/translation.js index d3a7e90..820476a 100644 --- a/src/i18n/locales/de/translation.js +++ b/src/i18n/locales/de/translation.js @@ -1,289 +1,3 @@ -export default { - "locale": { - "code": "de-DE" - }, - "navigation": { - "home": "Startseite", - "aktionen": "Aktionen", - "filiale": "Filiale", - "categories": "Kategorien", - "categoriesOpen": "Kategorien öffnen", - "categoriesClose": "Kategorien schließen", - "otherCategories": "Andere Kategorien" - }, - "auth": { - "login": "Anmelden", - "register": "Registrieren", - "logout": "Abmelden", - "profile": "Profil", - "email": "E-Mail", - "password": "Passwort", - "confirmPassword": "Passwort bestätigen", - "forgotPassword": "Passwort vergessen?", - "loginWithGoogle": "Mit Google anmelden", - "or": "ODER", - "privacyAccept": "Mit dem Click auf \"Mit Google anmelden\" akzeptiere ich die", - "privacyPolicy": "Datenschutzbestimmungen", - "passwordMinLength": "Das Passwort muss mindestens 8 Zeichen lang sein", - "newPasswordMinLength": "Das neue Passwort muss mindestens 8 Zeichen lang sein", - "menu": { - "profile": "Profil", - "myProfile": "Mein Profil", - "checkout": "Bestellabschluss", - "orders": "Bestellungen", - "settings": "Einstellungen", - "adminDashboard": "Admin Dashboard", - "adminUsers": "Admin Users" - } - }, - "cart": { - "title": "Warenkorb", - "empty": "leer", - "addToCart": "In den Korb", - "preorderCutting": "Als Steckling vorbestellen", - "continueShopping": "Weiter einkaufen", - "proceedToCheckout": "Weiter zur Kasse", - "productCount": "{{count}} {{count, plural, one {Produkt} other {Produkte}}}", - "productSingular": "Produkt", - "productPlural": "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:", - "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...", - "notFound": "Produkt nicht gefunden", - "notFoundDescription": "Das gesuchte Produkt existiert nicht oder wurde entfernt.", - "backToHome": "Zurück zur Startseite", - "error": "Fehler", - "articleNumber": "Artikelnummer", - "manufacturer": "Hersteller", - "inclVat": "inkl. {{vat}}% MwSt.", - "priceUnit": "{{price}}/{{unit}}", - "new": "Neu", - "arriving": "Ankunft:", - "inclVatFooter": "inkl. {{vat}}% MwSt.,*", - "availability": "Verfügbarkeit", - "inStock": "auf Lager", - "comingSoon": "Bald verfügbar", - "deliveryTime": "Lieferzeit", - "inclShort": "inkl.", - "vatShort": "MwSt.", - "countDisplay": { - "noProducts": "0 Produkte", - "oneProduct": "1 Produkt", - "multipleProducts": "{{count}} Produkte", - "filteredProducts": "{{filtered}} von {{total}} Produkten", - "filteredOneProduct": "{{filtered}} von 1 Produkt", - "xOfYProducts": "{{x}} von {{y}} Produkten" - }, - "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...", - "searchProducts": "Produkte suchen..." - }, - "sorting": { - "name": "Name", - "searchField": "Suchbegriff", - "priceLowHigh": "Preis: Niedrig zu Hoch", - "priceHighLow": "Preis: Hoch zu Niedrig" - }, - "chat": { - "privacyRead": "Gelesen & Akzeptiert" - }, - "delivery": { - "methods": { - "dhl": "DHL", - "dpd": "DPD", - "sperrgut": "Sperrgut", - "pickup": "Abholung in der Filiale" - }, - "descriptions": { - "standard": "Standardversand", - "standardFree": "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", - "pickupOnly": "nur Abholung" - }, - "prices": { - "free": "kostenlos", - "freeFrom100": "(kostenlos ab 100€)", - "dhl": "6,99 €", - "dpd": "4,90 €", - "sperrgut": "28,99 €" - }, - "times": { - "cutting14Days": "Lieferzeit: 14 Tage", - "standard2to3Days": "Lieferzeit: 2-3 Tage", - "supplier7to9Days": "Lieferzeit: 7-9 Tage" - } - }, - "checkout": { - "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", - "selectDeliveryMethod": "Versandart wählen", - "selectPaymentMethod": "Zahlungsart wählen", - "orderSummary": "Bestellübersicht", - "addressValidationError": "Bitte überprüfen Sie Ihre Eingaben in den Adressfeldern." - }, - "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.", - "viewOrders": "Zu meinen Bestellungen" - }, - "filters": { - "sorting": "Sortierung", - "perPage": "pro Seite", - "availability": "Verfügbarkeit", - "manufacturer": "Hersteller", - "all": "Alle" - }, - "tax": { - "vat": "Mehrwertsteuer", - "vat7": "7% Mehrwertsteuer", - "vat19": "19% Mehrwertsteuer", - "vat19WithShipping": "19% Mehrwertsteuer (inkl. Versand)", - "totalNet": "Gesamtnettopreis", - "totalGross": "Gesamtbruttopreis ohne Versand", - "subtotal": "Zwischensumme", - "incl7Vat": "inkl. 7% MwSt.", - "inclVatWithFooter": "(incl. {{vat}}% USt.,*)", - "inclVatAmount": "nkl. {{amount}} € MwSt. ({{rate}}%)" - }, - "footer": { - "hours": "Sa 11-19", - "address": "Trachenberger Straße 14 - Dresden", - "location": "Zwischen Haltepunkt Pieschen und Trachenberger Platz", - "allPricesIncl": "* Alle Preise inkl. gesetzlicher USt., zzgl. Versand", - "copyright": "© {{year}} GrowHeads.de", - "legal": { - "datenschutz": "Datenschutz", - "agb": "AGB", - "sitemap": "Sitemap", - "impressum": "Impressum", - "batteriegesetzhinweise": "Batteriegesetzhinweise", - "widerrufsrecht": "Widerrufsrecht" - } - }, - "titles": { - "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", - "stecklinge": "Stecklinge", - "oilPress": "Ölpresse ausleihen", - "thcTest": "THC Test", - "address1": "Trachenberger Straße 14", - "address2": "01129 Dresden" - }, - "pages": { - "oilPress": { - "title": "Ölpresse ausleihen", - "comingSoon": "Inhalt kommt bald..." - }, - "thcTest": { - "title": "THC Test", - "comingSoon": "Inhalt kommt bald..." - } - }, - "orders": { - "status": { - "new": "in Bearbeitung", - "pending": "Neu", - "processing": "in Bearbeitung", - "cancelled": "Storniert", - "shipped": "Verschickt", - "delivered": "Geliefert", - "return": "Retoure", - "partialReturn": "Teil Retoure", - "partialDelivered": "Teil geliefert" - }, - "table": { - "orderNumber": "Bestellnummer", - "date": "Datum", - "status": "Status", - "items": "Artikel", - "total": "Summe", - "actions": "Aktionen", - "viewDetails": "Details anzeigen" - }, - "noOrders": "Sie haben noch keine Bestellungen aufgegeben." - }, - "settings": { - "changePassword": "Passwort ändern", - "currentPassword": "Aktuelles Passwort", - "newPassword": "Neues Passwort", - "confirmNewPassword": "Neues Passwort bestätigen", - "updatePassword": "Passwort aktualisieren", - "changeEmail": "E-Mail-Adresse ändern", - "password": "Passwort", - "newEmail": "Neue E-Mail-Adresse", - "updateEmail": "E-Mail aktualisieren", - "apiKey": "API-Schlüssel", - "apiKeyDescription": "Verwenden Sie Ihren API-Schlüssel für die Integration mit externen Anwendungen.", - "apiDocumentation": "API-Dokumentation:", - "copyToClipboard": "In Zwischenablage kopieren", - "generate": "Generieren", - "regenerate": "Regenerieren", - "apiKeyCopied": "API-Schlüssel in Zwischenablage kopiert", - "errors": { - "fillAllFields": "Bitte füllen Sie alle Felder aus", - "passwordsNotMatch": "Die neuen Passwörter stimmen nicht überein", - "passwordTooShort": "Das neue Passwort muss mindestens 8 Zeichen lang sein", - "passwordUpdateError": "Fehler beim Aktualisieren des Passworts", - "invalidEmail": "Bitte geben Sie eine gültige E-Mail-Adresse ein", - "emailUpdateError": "Fehler beim Aktualisieren der E-Mail-Adresse", - "userNotFound": "Benutzer nicht gefunden", - "apiKeyGenerationError": "Fehler beim Generieren des API-Schlüssels" - }, - "success": { - "passwordUpdated": "Passwort erfolgreich aktualisiert", - "emailUpdated": "E-Mail-Adresse erfolgreich aktualisiert", - "apiKeyGenerated": "API-Schlüssel erfolgreich generiert", - "apiKeyWarning": "Speichern Sie diesen Schlüssel sicher. Er wird aus Sicherheitsgründen in 10 Sekunden ausgeblendet." - } - }, - "common": { - "loading": "Lädt...", - "error": "Fehler", - "close": "Schließen", - "save": "Speichern", - "cancel": "Abbrechen", - "ok": "OK", - "yes": "Ja", - "no": "Nein", - "next": "Weiter", - "back": "Zurück", - "edit": "Bearbeiten", - "delete": "Löschen", - "add": "Hinzufügen", - "remove": "Entfernen", - "products": "Produkte", - "product": "Produkt", - "days": "Tage" - } -} \ No newline at end of file +import translations from './index.js'; + +export default translations; \ No newline at end of file diff --git a/src/i18n/locales/el/auth.js b/src/i18n/locales/el/auth.js new file mode 100644 index 0000000..5176cc1 --- /dev/null +++ b/src/i18n/locales/el/auth.js @@ -0,0 +1,25 @@ +export default { + "login": "Σύνδεση", // Anmelden + "register": "Εγγραφή", // Registrieren + "logout": "Αποσύνδεση", // Abmelden + "profile": "Προφίλ", // Profil + "email": "Email", // E-Mail + "password": "Κωδικός", // Passwort + "confirmPassword": "Επιβεβαίωση κωδικού", // Passwort bestätigen + "forgotPassword": "Ξεχάσατε τον κωδικό;", // Passwort vergessen? + "loginWithGoogle": "Σύνδεση με Google", // Mit Google anmelden + "or": "Ή", // ODER + "privacyAccept": "Με το πάτημα του \"Σύνδεση με Google\" αποδέχομαι την", // Mit dem Click auf "Mit Google anmelden" akzeptiere ich die + "privacyPolicy": "Πολιτική Απορρήτου", // Datenschutzbestimmungen + "passwordMinLength": "Ο κωδικός πρέπει να έχει τουλάχιστον 8 χαρακτήρες", // Das Passwort muss mindestens 8 Zeichen lang sein + "newPasswordMinLength": "Ο νέος κωδικός πρέπει να έχει τουλάχιστον 8 χαρακτήρες", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "menu": { + "profile": "Προφίλ", // Profil + "myProfile": "Το προφίλ μου", // Mein Profil + "checkout": "Ολοκλήρωση παραγγελίας", // Bestellabschluss + "orders": "Παραγγελίες", // Bestellungen + "settings": "Ρυθμίσεις", // Einstellungen + "adminDashboard": "Πίνακας διαχείρισης", // Admin Dashboard + "adminUsers": "Διαχειριστές" // Admin Users + } +}; diff --git a/src/i18n/locales/el/cart.js b/src/i18n/locales/el/cart.js new file mode 100644 index 0000000..1a9fc06 --- /dev/null +++ b/src/i18n/locales/el/cart.js @@ -0,0 +1,24 @@ +export default { + "title": "Καλάθι", // Warenkorb + "empty": "άδειο", // leer + "addToCart": "Προσθήκη στο καλάθι", // In den Korb + "preorderCutting": "Προπαραγγελία ως μοσχεύμα", // Als Steckling vorbestellen + "continueShopping": "Συνέχεια αγορών", // Weiter einkaufen + "proceedToCheckout": "Προχωρήστε στην ολοκλήρωση αγοράς", // Weiter zur Kasse + "productCount": "{{count}} {{count, plural, one {προϊόν} other {προϊόντα}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} + "productSingular": "προϊόν", // Produkt + "productPlural": "προϊόντα", // Produkte + "removeFromCart": "Αφαίρεση από το καλάθι", // Aus dem Warenkorb entfernen + "openCart": "Άνοιγμα καλαθιού", // Warenkorb öffnen + "availableFrom": "Διαθέσιμο από {{date}}", // Ab {{date}} + "backToOrder": "← Επιστροφή στην παραγγελία", // ← Zurück zur Bestellung + "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 + } +}; diff --git a/src/i18n/locales/el/chat.js b/src/i18n/locales/el/chat.js new file mode 100644 index 0000000..cb48b25 --- /dev/null +++ b/src/i18n/locales/el/chat.js @@ -0,0 +1,3 @@ +export default { + "privacyRead": "Διαβασμένο & Αποδεκτό", // Gelesen & Akzeptiert +}; diff --git a/src/i18n/locales/el/checkout.js b/src/i18n/locales/el/checkout.js new file mode 100644 index 0000000..e3ae62c --- /dev/null +++ b/src/i18n/locales/el/checkout.js @@ -0,0 +1,13 @@ +export default { + "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 + "selectDeliveryMethod": "Επιλέξτε μέθοδο αποστολής", // Versandart wählen + "selectPaymentMethod": "Επιλέξτε μέθοδο πληρωμής", // Zahlungsart wählen + "orderSummary": "Περίληψη παραγγελίας", // Bestellübersicht + "addressValidationError": "Παρακαλώ ελέγξτε τις καταχωρήσεις σας στα πεδία διεύθυνσης." // Bitte überprüfen Sie Ihre Eingaben in den Adressfeldern. +}; diff --git a/src/i18n/locales/el/common.js b/src/i18n/locales/el/common.js new file mode 100644 index 0000000..12a968a --- /dev/null +++ b/src/i18n/locales/el/common.js @@ -0,0 +1,19 @@ +export default { + "loading": "Φόρτωση...", // Lädt... + "error": "Σφάλμα", // Fehler + "close": "Κλείσιμο", // Schließen + "save": "Αποθήκευση", // Speichern + "cancel": "Ακύρωση", // Abbrechen + "ok": "OK", // OK + "yes": "Ναι", // Ja + "no": "Όχι", // Nein + "next": "Επόμενο", // Weiter + "back": "Πίσω", // Zurück + "edit": "Επεξεργασία", // Bearbeiten + "delete": "Διαγραφή", // Löschen + "add": "Προσθήκη", // Hinzufügen + "remove": "Αφαίρεση", // Entfernen + "products": "Προϊόντα", // Produkte + "product": "Προϊόν", // Produkt + "days": "Ημέρες" // Tage +}; diff --git a/src/i18n/locales/el/delivery.js b/src/i18n/locales/el/delivery.js new file mode 100644 index 0000000..19d7458 --- /dev/null +++ b/src/i18n/locales/el/delivery.js @@ -0,0 +1,27 @@ +export default { + "methods": { + "dhl": "DHL", // DHL + "dpd": "DPD", // DPD + "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 + "bulky": "Για μεγάλα και βαριά αντικείμενα", // Für große und schwere Artikel + "pickupOnly": "Μόνο παραλαβή" // nur Abholung + }, + "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 + } +}; diff --git a/src/i18n/locales/el/filters.js b/src/i18n/locales/el/filters.js new file mode 100644 index 0000000..c18f400 --- /dev/null +++ b/src/i18n/locales/el/filters.js @@ -0,0 +1,7 @@ +export default { + "sorting": "Ταξινόμηση", // Sortierung + "perPage": "ανά σελίδα", // pro Seite + "availability": "Διαθεσιμότητα", // Verfügbarkeit + "manufacturer": "Κατασκευαστής", // Hersteller + "all": "Όλα", // Alle +}; diff --git a/src/i18n/locales/el/footer.js b/src/i18n/locales/el/footer.js new file mode 100644 index 0000000..f63390f --- /dev/null +++ b/src/i18n/locales/el/footer.js @@ -0,0 +1,15 @@ +export default { + "hours": "Σάβ 11πμ-7μμ", // Sa 11-19 + "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden + "location": "Μεταξύ στάσης Pieschen και 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 + "agb": "Όροι και Προϋποθέσεις", // AGB + "sitemap": "Χάρτης Ιστοσελίδας", // Sitemap + "impressum": "Νομικές Πληροφορίες", // Impressum + "batteriegesetzhinweise": "Πληροφορίες Νόμου για τις Μπαταρίες", // Batteriegesetzhinweise + "widerrufsrecht": "Δικαίωμα Ανάκλησης" // Widerrufsrecht + } +}; diff --git a/src/i18n/locales/el/index copy.js b/src/i18n/locales/el/index copy.js new file mode 100644 index 0000000..1dd359f --- /dev/null +++ b/src/i18n/locales/el/index copy.js @@ -0,0 +1,43 @@ +import locale from './locale.js'; +import navigation from './navigation.js'; +import auth from './auth.js'; +import cart from './cart.js'; +import product from './product.js'; +import search from './search.js'; +import sorting from './sorting.js'; +import chat from './chat.js'; +import delivery from './delivery.js'; +import checkout from './checkout.js'; +import payment from './payment.js'; +import filters from './filters.js'; +import tax from './tax.js'; +import footer from './footer.js'; +import titles from './titles.js'; +import sections from './sections.js'; +import pages from './pages.js'; +import orders from './orders.js'; +import settings from './settings.js'; +import common from './common.js'; + +export default { + "locale": locale, + "navigation": navigation, + "auth": auth, + "cart": cart, + "product": product, + "search": search, + "sorting": sorting, + "chat": chat, + "delivery": delivery, + "checkout": checkout, + "payment": payment, + "filters": filters, + "tax": tax, + "footer": footer, + "titles": titles, + "sections": sections, + "pages": pages, + "orders": orders, + "settings": settings, + "common": common +}; \ No newline at end of file diff --git a/src/i18n/locales/el/index.js b/src/i18n/locales/el/index.js new file mode 100644 index 0000000..1dd359f --- /dev/null +++ b/src/i18n/locales/el/index.js @@ -0,0 +1,43 @@ +import locale from './locale.js'; +import navigation from './navigation.js'; +import auth from './auth.js'; +import cart from './cart.js'; +import product from './product.js'; +import search from './search.js'; +import sorting from './sorting.js'; +import chat from './chat.js'; +import delivery from './delivery.js'; +import checkout from './checkout.js'; +import payment from './payment.js'; +import filters from './filters.js'; +import tax from './tax.js'; +import footer from './footer.js'; +import titles from './titles.js'; +import sections from './sections.js'; +import pages from './pages.js'; +import orders from './orders.js'; +import settings from './settings.js'; +import common from './common.js'; + +export default { + "locale": locale, + "navigation": navigation, + "auth": auth, + "cart": cart, + "product": product, + "search": search, + "sorting": sorting, + "chat": chat, + "delivery": delivery, + "checkout": checkout, + "payment": payment, + "filters": filters, + "tax": tax, + "footer": footer, + "titles": titles, + "sections": sections, + "pages": pages, + "orders": orders, + "settings": settings, + "common": common +}; \ No newline at end of file diff --git a/src/i18n/locales/el/locale.js b/src/i18n/locales/el/locale.js new file mode 100644 index 0000000..63aba17 --- /dev/null +++ b/src/i18n/locales/el/locale.js @@ -0,0 +1,3 @@ +export default { + "code": "el-GR" // de-DE +}; diff --git a/src/i18n/locales/el/navigation.js b/src/i18n/locales/el/navigation.js new file mode 100644 index 0000000..03b9de7 --- /dev/null +++ b/src/i18n/locales/el/navigation.js @@ -0,0 +1,9 @@ +export default { + "home": "Αρχική", // Startseite + "aktionen": "Προσφορές", // Aktionen + "filiale": "Κατάστημα", // Filiale + "categories": "Κατηγορίες", // Kategorien + "categoriesOpen": "Άνοιγμα κατηγοριών", // Kategorien öffnen + "categoriesClose": "Κλείσιμο κατηγοριών", // Kategorien schließen + "otherCategories": "Άλλες κατηγορίες" // Andere Kategorien +}; diff --git a/src/i18n/locales/el/orders.js b/src/i18n/locales/el/orders.js new file mode 100644 index 0000000..ad4a4ba --- /dev/null +++ b/src/i18n/locales/el/orders.js @@ -0,0 +1,23 @@ +export default { + "status": { + "new": "Σε εξέλιξη", // in Bearbeitung + "pending": "Νέο", // Neu + "processing": "Σε εξέλιξη", // in Bearbeitung + "cancelled": "Ακυρώθηκε", // Storniert + "shipped": "Απεσταλμένο", // Verschickt + "delivered": "Παραδόθηκε", // Geliefert + "return": "Επιστροφή", // Retoure + "partialReturn": "Μερική επιστροφή", // Teil Retoure + "partialDelivered": "Μερικώς παραδοθέν" // Teil geliefert + }, + "table": { + "orderNumber": "Αριθμός παραγγελίας", // Bestellnummer + "date": "Ημερομηνία", // Datum + "status": "Κατάσταση", // Status + "items": "Είδη", // Artikel + "total": "Σύνολο", // Summe + "actions": "Ενέργειες", // Aktionen + "viewDetails": "Προβολή λεπτομερειών" // Details anzeigen + }, + "noOrders": "Δεν έχετε κάνει ακόμα καμία παραγγελία." // Sie haben noch keine Bestellungen aufgegeben. +}; diff --git a/src/i18n/locales/el/pages.js b/src/i18n/locales/el/pages.js new file mode 100644 index 0000000..b234c0d --- /dev/null +++ b/src/i18n/locales/el/pages.js @@ -0,0 +1,10 @@ +export default { + "oilPress": { + "title": "Δανειστείτε πρέσα λαδιού", // Ölpresse ausleihen + "comingSoon": "Το περιεχόμενο έρχεται σύντομα...", // Inhalt kommt bald... + }, + "thcTest": { + "title": "Δοκιμή THC", // THC Test + "comingSoon": "Το περιεχόμενο έρχεται σύντομα...", // Inhalt kommt bald... + } +}; diff --git a/src/i18n/locales/el/payment.js b/src/i18n/locales/el/payment.js new file mode 100644 index 0000000..ed02c04 --- /dev/null +++ b/src/i18n/locales/el/payment.js @@ -0,0 +1,8 @@ +export default { + "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 +}; diff --git a/src/i18n/locales/el/product.js b/src/i18n/locales/el/product.js new file mode 100644 index 0000000..f29dbd6 --- /dev/null +++ b/src/i18n/locales/el/product.js @@ -0,0 +1,32 @@ +export default { + "loading": "Φόρτωση προϊόντος...", // Produkt wird geladen... + "notFound": "Το προϊόν δεν βρέθηκε", // Produkt nicht gefunden + "notFoundDescription": "Το προϊόν που αναζητάτε δεν υπάρχει ή έχει αφαιρεθεί.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. + "backToHome": "Επιστροφή στην αρχική σελίδα", // Zurück zur Startseite + "error": "Σφάλμα", // Fehler + "articleNumber": "Αριθμός άρθρου", // Artikelnummer + "manufacturer": "Κατασκευαστής", // Hersteller + "inclVat": "συμπ. {{vat}}% ΦΠΑ", // inkl. {{vat}}% MwSt. + "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} + "new": "Νέο", // Neu + "weeks": "εβδομάδες", // Wochen + "arriving": "Άφιξη:", // Ankunft: + "inclVatFooter": "συμπ. {{vat}}% ΦΠΑ,*", // inkl. {{vat}}% MwSt.,* + "availability": "Διαθεσιμότητα", // Verfügbarkeit + "inStock": "σε απόθεμα", // auf Lager + "comingSoon": "Έρχεται σύντομα", // Bald verfügbar + "deliveryTime": "Χρόνος παράδοσης", // Lieferzeit + "inclShort": "συμπ.", // inkl. + "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 + "xOfYProducts": "{{x}} από {{y}} προϊόντα" // {{x}} von {{y}} Produkten + }, + "removeFiltersToSee": "Αφαιρέστε τα φίλτρα για να δείτε τα προϊόντα", // Entferne Filter um Produkte zu sehen + "outOfStock": "Εξαντλημένο", // Out of Stock + "fromXProducts": "από {{count}} προϊόντα" // ab {{count}} Produkten +}; diff --git a/src/i18n/locales/el/search.js b/src/i18n/locales/el/search.js new file mode 100644 index 0000000..d78718a --- /dev/null +++ b/src/i18n/locales/el/search.js @@ -0,0 +1,5 @@ +export default { + "placeholder": "Μπορείτε να με ρωτήσετε για ποικιλίες κάνναβης...", // Du kannst mich nach Cannabissorten fragen... + "recording": "Η εγγραφή σε εξέλιξη...", // Aufnahme läuft... + "searchProducts": "Αναζήτηση προϊόντων...", // Produkte suchen... +}; diff --git a/src/i18n/locales/el/sections.js b/src/i18n/locales/el/sections.js new file mode 100644 index 0000000..8aeb552 --- /dev/null +++ b/src/i18n/locales/el/sections.js @@ -0,0 +1,8 @@ +export default { + "seeds": "Σπόροι", // Seeds + "stecklinge": "Μοσχεύματα", // Stecklinge + "oilPress": "Δανεισμός πρέσας λαδιού", // Ölpresse ausleihen + "thcTest": "Έλεγχος THC", // THC Test + "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 + "address2": "01129 Dresden" // 01129 Dresden +}; diff --git a/src/i18n/locales/el/settings.js b/src/i18n/locales/el/settings.js new file mode 100644 index 0000000..771e1fa --- /dev/null +++ b/src/i18n/locales/el/settings.js @@ -0,0 +1,34 @@ +export default { + "changePassword": "Αλλαγή κωδικού πρόσβασης", // Passwort ändern + "currentPassword": "Τρέχων κωδικός πρόσβασης", // Aktuelles Passwort + "newPassword": "Νέος κωδικός πρόσβασης", // Neues Passwort + "confirmNewPassword": "Επιβεβαίωση νέου κωδικού πρόσβασης", // Neues Passwort bestätigen + "updatePassword": "Ενημέρωση κωδικού πρόσβασης", // Passwort aktualisieren + "changeEmail": "Αλλαγή διεύθυνσης email", // E-Mail-Adresse ändern + "password": "Κωδικός πρόσβασης", // Passwort + "newEmail": "Νέα διεύθυνση email", // Neue E-Mail-Adresse + "updateEmail": "Ενημέρωση email", // E-Mail aktualisieren + "apiKey": "API key", // API-Schlüssel + "apiKeyDescription": "Χρησιμοποιήστε το API key σας για ενσωμάτωση με εξωτερικές εφαρμογές.", // Verwenden Sie Ihren API-Schlüssel für die Integration mit externen Anwendungen. + "apiDocumentation": "API documentation:", // API-Dokumentation: + "copyToClipboard": "Αντιγραφή στο πρόχειρο", // In Zwischenablage kopieren + "generate": "Δημιουργία", // Generieren + "regenerate": "Αναδημιουργία", // Regenerieren + "apiKeyCopied": "Το API key αντιγράφηκε στο πρόχειρο", // API-Schlüssel in Zwischenablage kopiert + "errors": { + "fillAllFields": "Παρακαλώ συμπληρώστε όλα τα πεδία", // Bitte füllen Sie alle Felder aus + "passwordsNotMatch": "Οι νέοι κωδικοί δεν ταιριάζουν", // Die neuen Passwörter stimmen nicht überein + "passwordTooShort": "Ο νέος κωδικός πρέπει να έχει τουλάχιστον 8 χαρακτήρες", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "passwordUpdateError": "Σφάλμα κατά την ενημέρωση του κωδικού", // Fehler beim Aktualisieren des Passworts + "invalidEmail": "Παρακαλώ εισάγετε μια έγκυρη διεύθυνση email", // Bitte geben Sie eine gültige E-Mail-Adresse ein + "emailUpdateError": "Σφάλμα κατά την ενημέρωση της διεύθυνσης email", // Fehler beim Aktualisieren der E-Mail-Adresse + "userNotFound": "Ο χρήστης δεν βρέθηκε", // Benutzer nicht gefunden + "apiKeyGenerationError": "Σφάλμα κατά τη δημιουργία του API key" // Fehler beim Generieren des API-Schlüssels + }, + "success": { + "passwordUpdated": "Ο κωδικός ενημερώθηκε με επιτυχία", // Passwort erfolgreich aktualisiert + "emailUpdated": "Η διεύθυνση email ενημερώθηκε με επιτυχία", // E-Mail-Adresse erfolgreich aktualisiert + "apiKeyGenerated": "Το API key δημιουργήθηκε με επιτυχία", // API-Schlüssel erfolgreich generiert + "apiKeyWarning": "Αποθηκεύστε αυτό το κλειδί με ασφάλεια. Για λόγους ασφαλείας, θα κρυφτεί σε 10 δευτερόλεπτα." // Speichern Sie diesen Schlüssel sicher. Er wird aus Sicherheitsgründen in 10 Sekunden ausgeblendet. + } +}; diff --git a/src/i18n/locales/el/sorting.js b/src/i18n/locales/el/sorting.js new file mode 100644 index 0000000..59ce20b --- /dev/null +++ b/src/i18n/locales/el/sorting.js @@ -0,0 +1,6 @@ +export default { + "name": "Όνομα", // Name + "searchField": "Όρος αναζήτησης", // Suchbegriff + "priceLowHigh": "Τιμή: Από το χαμηλότερο στο υψηλότερο", // Preis: Niedrig zu Hoch + "priceHighLow": "Τιμή: Από το υψηλότερο στο χαμηλότερο" // Preis: Hoch zu Niedrig +}; diff --git a/src/i18n/locales/el/tax.js b/src/i18n/locales/el/tax.js new file mode 100644 index 0000000..46b9a70 --- /dev/null +++ b/src/i18n/locales/el/tax.js @@ -0,0 +1,12 @@ +export default { + "vat": "Φόρος Προστιθέμενης Αξίας", // Mehrwertsteuer + "vat7": "Φόρος Προστιθέμενης Αξίας 7%", // 7% Mehrwertsteuer + "vat19": "Φόρος Προστιθέμενης Αξίας 19%", // 19% Mehrwertsteuer + "vat19WithShipping": "Φόρος Προστιθέμενης Αξίας 19% (συμπεριλαμβανομένων των εξόδων αποστολής)", // 19% Mehrwertsteuer (inkl. Versand) + "totalNet": "Συνολική καθαρή τιμή", // Gesamtnettopreis + "totalGross": "Συνολική ακαθάριστη τιμή χωρίς έξοδα αποστολής", // Gesamtbruttopreis ohne Versand + "subtotal": "Μερικό σύνολο", // Zwischensumme + "incl7Vat": "συμπεριλαμβ. 7% ΦΠΑ", // inkl. 7% MwSt. + "inclVatWithFooter": "(συμπεριλαμβ. {{vat}}% ΦΠΑ,*)", // (incl. {{vat}}% USt.,*) + "inclVatAmount": "συμπεριλαμβ. {{amount}} € ΦΠΑ ({{rate}}%)" // nkl. {{amount}} € MwSt. ({{rate}}%) +}; diff --git a/src/i18n/locales/el/titles.js b/src/i18n/locales/el/titles.js new file mode 100644 index 0000000..6f60b1d --- /dev/null +++ b/src/i18n/locales/el/titles.js @@ -0,0 +1,5 @@ +export default { + "home": "Ποιοτικοί Σπόροι & Κλαδιά Κάνναβης", // Fine Cannabis Seeds & Cuttings + "aktionen": "Τρέχουσες Προσφορές & Εκπτώσεις", // Aktuelle Aktionen & Angebote + "filiale": "Το Κατάστημά μας στη Δρέσδη" // Unsere Filiale in Dresden +}; diff --git a/src/i18n/locales/el/translation.js b/src/i18n/locales/el/translation.js index a81fd36..820476a 100644 --- a/src/i18n/locales/el/translation.js +++ b/src/i18n/locales/el/translation.js @@ -1,231 +1,3 @@ -export default { - "locale": { - "code": "el-GR" // de-DE - }, - "navigation": { - "home": "Αρχική", // Startseite - "aktionen": "Προσφορές", // Aktionen - "filiale": "Κατάστημα", // Filiale - "categories": "Κατηγορίες", // Kategorien - "categoriesOpen": "Άνοιγμα κατηγοριών", // Kategorien öffnen - "categoriesClose": "Κλείσιμο κατηγοριών", // Kategorien schließen - "otherCategories": "Άλλες κατηγορίες" // Andere Kategorien - }, - "auth": { - "login": "Σύνδεση", // Anmelden - "register": "Εγγραφή", // Registrieren - "logout": "Αποσύνδεση", // Abmelden - "profile": "Προφίλ", // Profil - "email": "Email", // E-Mail - "password": "Κωδικός", // Passwort - "confirmPassword": "Επιβεβαίωση κωδικού", // Passwort bestätigen - "forgotPassword": "Ξεχάσατε τον κωδικό;", // Passwort vergessen? - "loginWithGoogle": "Σύνδεση με Google", // Mit Google anmelden - "or": "Ή", // ODER - "privacyAccept": "Πατώντας \"Σύνδεση με Google\" αποδέχομαι την", // Mit dem Click auf \"Mit Google anmelden\" akzeptiere ich die - "privacyPolicy": "Πολιτική Απορρήτου", // Datenschutzbestimmungen - "passwordMinLength": "Ο κωδικός πρέπει να έχει τουλάχιστον 8 χαρακτήρες", // Das Passwort muss mindestens 8 Zeichen lang sein - "newPasswordMinLength": "Ο νέος κωδικός πρέπει να έχει τουλάχιστον 8 χαρακτήρες", // Das neue Passwort muss mindestens 8 Zeichen lang sein - "menu": { - "profile": "Προφίλ", // Profil - "checkout": "Ολοκλήρωση αγοράς", // Bestellabschluss - "orders": "Παραγγελίες", // Bestellungen - "settings": "Ρυθμίσεις", // Einstellungen - "adminDashboard": "Πίνακας διαχείρισης", // Admin Dashboard - "adminUsers": "Διαχειριστές" // Admin Users - } - }, - "cart": { - "title": "Καλάθι", // Warenkorb - "empty": "κενό", // leer - "addToCart": "Προσθήκη στο καλάθι", // In den Korb - "preorderCutting": "Προπαραγγελία ως μοσχεύματα", // Als Steckling vorbestellen - "continueShopping": "Συνέχεια αγορών", // Weiter einkaufen - "proceedToCheckout": "Προχωρήστε στην ολοκλήρωση αγοράς", // Weiter zur Kasse - "productCount": "{{count}} {{count, plural, one {Προϊόν} other {Προϊόντα}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} - "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 - } - }, - "product": { - "loading": "Φόρτωση προϊόντος...", // Produkt wird geladen... - "notFound": "Το προϊόν δεν βρέθηκε", // Produkt nicht gefunden - "notFoundDescription": "Το προϊόν που αναζητάτε δεν υπάρχει ή έχει αφαιρεθεί.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. - "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: - "inclVatFooter": "συμπ. {{vat}}% ΦΠΑ,*", // incl. {{vat}}% USt.,* - "availability": "Διαθεσιμότητα", // Verfügbarkeit - "inStock": "σε απόθεμα", // auf Lager - "comingSoon": "Έρχεται σύντομα", // Bald verfügbar - "deliveryTime": "Χρόνος παράδοσης", // Lieferzeit - "inclShort": "συμπ.", // inkl. - "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... - "searchProducts": "Αναζήτηση προϊόντων..." // Produkte suchen... - }, - "sorting": { - "name": "Όνομα", // Name - "searchField": "Όρος αναζήτησης", // Suchbegriff - "priceLowHigh": "Τιμή: Από χαμηλή σε υψηλή", // Preis: Niedrig zu Hoch - "priceHighLow": "Τιμή: Από υψηλή σε χαμηλή" // Preis: Hoch zu Niedrig - }, - "chat": { - "privacyRead": "Διαβασμένο & Αποδεκτό" // Gelesen & Akzeptiert - }, - "delivery": { - "methods": { - "dhl": "DHL", // DHL - "dpd": "DPD", // DPD - "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 - "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 - } - }, - "checkout": { - "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 - }, - "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. - "viewOrders": "Δείτε τις παραγγελίες μου" // Zu meinen Bestellungen - }, - "filters": { - "sorting": "Ταξινόμηση", // Sortierung - "perPage": "ανά σελίδα", // pro Seite - "availability": "Διαθεσιμότητα", // Verfügbarkeit - "manufacturer": "Κατασκευαστής" // Hersteller - }, - "tax": { - "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 - Dresden", // Trachenberger Straße 14 - Dresden - "location": "Μεταξύ στάσης Pieschen και 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 - "agb": "Όροι & Προϋποθέσεις", // AGB - "sitemap": "Χάρτης ιστοσελίδας", // Sitemap - "impressum": "Εντυπο", // Impressum - "batteriegesetzhinweise": "Σημειώσεις νόμου για μπαταρίες", // Batteriegesetzhinweise - "widerrufsrecht": "Δικαίωμα ανάκλησης" // Widerrufsrecht - } - }, - "titles": { - "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 - "thcTest": "Έλεγχος THC", // THC Test - "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 - "address2": "01129 Dresden" // 01129 Dresden - }, - "pages": { - "oilPress": { - "title": "Δανεισμός πρέσας λαδιού", // Ölpresse ausleihen - "comingSoon": "Περιεχόμενο σύντομα διαθέσιμο..." // Inhalt kommt bald... - }, - "thcTest": { - "title": "Έλεγχος THC", // THC Test - "comingSoon": "Περιεχόμενο σύντομα διαθέσιμο..." // Inhalt kommt bald... - } - }, - "orders": { - "status": { - "new": "Σε επεξεργασία", // in Bearbeitung - "pending": "Νέα", // Neu - "processing": "Σε επεξεργασία", // in Bearbeitung - "cancelled": "Ακυρώθηκε", // Storniert - "shipped": "Απεσταλμένο", // Verschickt - "delivered": "Παραδομένο", // Geliefert - "return": "Επιστροφή", // Retoure - "partialReturn": "Μερική επιστροφή", // Teil Retoure - "partialDelivered": "Μερικώς παραδομένο" // Teil geliefert - } - }, - "common": { - "loading": "Φόρτωση...", // Lädt... - "error": "Σφάλμα", // Fehler - "close": "Κλείσιμο", // Schließen - "save": "Αποθήκευση", // Speichern - "cancel": "Ακύρωση", // Abbrechen - "ok": "OK", // OK - "yes": "Ναι", // Ja - "no": "Όχι", // Nein - "next": "Επόμενο", // Weiter - "back": "Πίσω", // Zurück - "edit": "Επεξεργασία", // Bearbeiten - "delete": "Διαγραφή", // Löschen - "add": "Προσθήκη", // Hinzufügen - "remove": "Αφαίρεση", // Entfernen - "products": "Προϊόντα", // Produkte - "product": "Προϊόν" // Produkt - } -}; +import translations from './index.js'; + +export default translations; \ No newline at end of file diff --git a/src/i18n/locales/en/auth.js b/src/i18n/locales/en/auth.js new file mode 100644 index 0000000..4688ee6 --- /dev/null +++ b/src/i18n/locales/en/auth.js @@ -0,0 +1,25 @@ +export default { + "login": "Login", // Anmelden + "register": "Register", // Registrieren + "logout": "Logout", // Abmelden + "profile": "Profile", // Profil + "email": "Email", // E-Mail + "password": "Password", // Passwort + "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": "The password must be at least 8 characters long", // Das 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 + "myProfile": "My profile", // Mein Profil + "checkout": "Checkout", // Bestellabschluss + "orders": "Orders", // Bestellungen + "settings": "Settings", // Einstellungen + "adminDashboard": "Admin Dashboard", // Admin Dashboard + "adminUsers": "Admin Users" // Admin Users + } +}; diff --git a/src/i18n/locales/en/cart.js b/src/i18n/locales/en/cart.js new file mode 100644 index 0000000..0d619c6 --- /dev/null +++ b/src/i18n/locales/en/cart.js @@ -0,0 +1,24 @@ +export default { + "title": "Cart", // Warenkorb + "empty": "empty", // leer + "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}}} + "productSingular": "product", // Produkt + "productPlural": "products", // 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 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 + } +}; diff --git a/src/i18n/locales/en/chat.js b/src/i18n/locales/en/chat.js new file mode 100644 index 0000000..c389ead --- /dev/null +++ b/src/i18n/locales/en/chat.js @@ -0,0 +1,3 @@ +export default { + "privacyRead": "Read & Accepted", // Gelesen & Akzeptiert +}; diff --git a/src/i18n/locales/en/checkout.js b/src/i18n/locales/en/checkout.js new file mode 100644 index 0000000..87e1aa9 --- /dev/null +++ b/src/i18n/locales/en/checkout.js @@ -0,0 +1,13 @@ +export default { + "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? + "note": "Note", // Anmerkung + "sameAddress": "Delivery address is identical to invoice address", // Lieferadresse ist identisch mit Rechnungsadresse + "termsAccept": "I have read the terms and conditions, the privacy policy, and the provisions on the right of withdrawal", // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen + "selectDeliveryMethod": "Select shipping method", // Versandart wählen + "selectPaymentMethod": "Select payment method", // Zahlungsart wählen + "orderSummary": "Order summary", // Bestellübersicht + "addressValidationError": "Please check your entries in the address fields." // Bitte überprüfen Sie Ihre Eingaben in den Adressfeldern. +}; diff --git a/src/i18n/locales/en/common.js b/src/i18n/locales/en/common.js new file mode 100644 index 0000000..ae2076c --- /dev/null +++ b/src/i18n/locales/en/common.js @@ -0,0 +1,19 @@ +export default { + "loading": "Loading...", // Lädt... + "error": "Error", // Fehler + "close": "Close", // Schließen + "save": "Save", // Speichern + "cancel": "Cancel", // Abbrechen + "ok": "OK", // OK + "yes": "Yes", // Ja + "no": "No", // Nein + "next": "Next", // Weiter + "back": "Back", // Zurück + "edit": "Edit", // Bearbeiten + "delete": "Delete", // Löschen + "add": "Add", // Hinzufügen + "remove": "Remove", // Entfernen + "products": "Products", // Produkte + "product": "Product", // Produkt + "days": "Days" // Tage +}; diff --git a/src/i18n/locales/en/delivery.js b/src/i18n/locales/en/delivery.js new file mode 100644 index 0000000..2550503 --- /dev/null +++ b/src/i18n/locales/en/delivery.js @@ -0,0 +1,27 @@ +export default { + "methods": { + "dhl": "DHL", // DHL + "dpd": "DPD", // DPD + "sperrgut": "Bulky goods", // Sperrgut + "pickup": "Pickup in store" // 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 + "bulky": "For large and heavy items", // Für große und schwere Artikel + "pickupOnly": "Pickup only" // nur Abholung + }, + "prices": { + "free": "free", // kostenlos + "freeFrom100": "(free from 100€)", // (kostenlos ab 100€) + "dhl": "6.99 €", // 6,99 € + "dpd": "4.90 €", // 4,90 € + "sperrgut": "28.99 €" // 28,99 € + }, + "times": { + "cutting14Days": "Delivery time: 14 days", // Lieferzeit: 14 Tage + "standard2to3Days": "Delivery time: 2-3 days", // Lieferzeit: 2-3 Tage + "supplier7to9Days": "Delivery time: 7-9 days" // Lieferzeit: 7-9 Tage + } +}; diff --git a/src/i18n/locales/en/filters.js b/src/i18n/locales/en/filters.js new file mode 100644 index 0000000..8617f5c --- /dev/null +++ b/src/i18n/locales/en/filters.js @@ -0,0 +1,7 @@ +export default { + "sorting": "Sorting", // Sortierung + "perPage": "per page", // pro Seite + "availability": "Availability", // Verfügbarkeit + "manufacturer": "Manufacturer", // Hersteller + "all": "All", // Alle +}; diff --git a/src/i18n/locales/en/footer.js b/src/i18n/locales/en/footer.js new file mode 100644 index 0000000..f585d84 --- /dev/null +++ b/src/i18n/locales/en/footer.js @@ -0,0 +1,15 @@ +export default { + "hours": "Sat 11am-7pm", // Sa 11-19 + "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden + "location": "Between Pieschen stop and Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz + "allPricesIncl": "* All prices incl. statutory VAT, plus shipping", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand + "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de + "legal": { + "datenschutz": "Privacy Policy", // Datenschutz + "agb": "Terms and Conditions", // AGB + "sitemap": "Sitemap", // Sitemap + "impressum": "Legal Notice", // Impressum + "batteriegesetzhinweise": "Battery Law Information", // Batteriegesetzhinweise + "widerrufsrecht": "Right of Withdrawal" // Widerrufsrecht + } +}; diff --git a/src/i18n/locales/en/index.js b/src/i18n/locales/en/index.js new file mode 100644 index 0000000..1dd359f --- /dev/null +++ b/src/i18n/locales/en/index.js @@ -0,0 +1,43 @@ +import locale from './locale.js'; +import navigation from './navigation.js'; +import auth from './auth.js'; +import cart from './cart.js'; +import product from './product.js'; +import search from './search.js'; +import sorting from './sorting.js'; +import chat from './chat.js'; +import delivery from './delivery.js'; +import checkout from './checkout.js'; +import payment from './payment.js'; +import filters from './filters.js'; +import tax from './tax.js'; +import footer from './footer.js'; +import titles from './titles.js'; +import sections from './sections.js'; +import pages from './pages.js'; +import orders from './orders.js'; +import settings from './settings.js'; +import common from './common.js'; + +export default { + "locale": locale, + "navigation": navigation, + "auth": auth, + "cart": cart, + "product": product, + "search": search, + "sorting": sorting, + "chat": chat, + "delivery": delivery, + "checkout": checkout, + "payment": payment, + "filters": filters, + "tax": tax, + "footer": footer, + "titles": titles, + "sections": sections, + "pages": pages, + "orders": orders, + "settings": settings, + "common": common +}; \ No newline at end of file diff --git a/src/i18n/locales/en/locale.js b/src/i18n/locales/en/locale.js new file mode 100644 index 0000000..fb7e518 --- /dev/null +++ b/src/i18n/locales/en/locale.js @@ -0,0 +1,3 @@ +export default { + "code": "en-US" // de-DE +}; diff --git a/src/i18n/locales/en/navigation.js b/src/i18n/locales/en/navigation.js new file mode 100644 index 0000000..9c9b5a2 --- /dev/null +++ b/src/i18n/locales/en/navigation.js @@ -0,0 +1,9 @@ +export default { + "home": "Home", // Startseite + "aktionen": "Promotions", // Aktionen + "filiale": "Branch", // Filiale + "categories": "Categories", // Kategorien + "categoriesOpen": "Open categories", // Kategorien öffnen + "categoriesClose": "Close categories", // Kategorien schließen + "otherCategories": "Other categories" // Andere Kategorien +}; diff --git a/src/i18n/locales/en/orders.js b/src/i18n/locales/en/orders.js new file mode 100644 index 0000000..5b4bf3b --- /dev/null +++ b/src/i18n/locales/en/orders.js @@ -0,0 +1,23 @@ +export default { + "status": { + "new": "In progress", // in Bearbeitung + "pending": "New", // Neu + "processing": "In progress", // in Bearbeitung + "cancelled": "Cancelled", // Storniert + "shipped": "Shipped", // Verschickt + "delivered": "Delivered", // Geliefert + "return": "Return", // Retoure + "partialReturn": "Partial return", // Teil Retoure + "partialDelivered": "Partially delivered" // Teil geliefert + }, + "table": { + "orderNumber": "Order number", // Bestellnummer + "date": "Date", // Datum + "status": "Status", // Status + "items": "Items", // Artikel + "total": "Total", // Summe + "actions": "Actions", // Aktionen + "viewDetails": "View details" // Details anzeigen + }, + "noOrders": "You have not placed any orders yet." // Sie haben noch keine Bestellungen aufgegeben. +}; diff --git a/src/i18n/locales/en/pages.js b/src/i18n/locales/en/pages.js new file mode 100644 index 0000000..b697b45 --- /dev/null +++ b/src/i18n/locales/en/pages.js @@ -0,0 +1,10 @@ +export default { + "oilPress": { + "title": "Borrow oil press", // Ölpresse ausleihen + "comingSoon": "Content coming soon...", // Inhalt kommt bald... + }, + "thcTest": { + "title": "THC test", // THC Test + "comingSoon": "Content coming soon...", // Inhalt kommt bald... + } +}; diff --git a/src/i18n/locales/en/payment.js b/src/i18n/locales/en/payment.js new file mode 100644 index 0000000..573ddcf --- /dev/null +++ b/src/i18n/locales/en/payment.js @@ -0,0 +1,8 @@ +export default { + "successful": "Payment successful!", // Zahlung erfolgreich! + "failed": "Payment failed", // Zahlung fehlgeschlagen + "orderCompleted": "🎉 Your order was completed successfully! You can now view your orders.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. + "orderProcessing": "Your payment was processed successfully. The order will be completed automatically.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. + "paymentError": "Your payment could not be processed. Please try again or choose another payment method.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. + "viewOrders": "Go to my orders" // Zu meinen Bestellungen +}; diff --git a/src/i18n/locales/en/product.js b/src/i18n/locales/en/product.js new file mode 100644 index 0000000..a216cc3 --- /dev/null +++ b/src/i18n/locales/en/product.js @@ -0,0 +1,32 @@ +export default { + "loading": "Loading product...", // Produkt wird geladen... + "notFound": "Product not found", // Produkt nicht gefunden + "notFoundDescription": "The product you are looking for does not exist or has been removed.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. + "backToHome": "Back to home page", // Zurück zur Startseite + "error": "Error", // Fehler + "articleNumber": "Article number", // Artikelnummer + "manufacturer": "Manufacturer", // Hersteller + "inclVat": "incl. {{vat}}% VAT", // inkl. {{vat}}% MwSt. + "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} + "new": "New", // Neu + "weeks": "weeks", // Wochen + "arriving": "Arrival:", // Ankunft: + "inclVatFooter": "incl. {{vat}}% VAT,*", // inkl. {{vat}}% MwSt.,* + "availability": "Availability", // Verfügbarkeit + "inStock": "in stock", // auf Lager + "comingSoon": "Coming soon", // Bald verfügbar + "deliveryTime": "Delivery time", // Lieferzeit + "inclShort": "incl.", // inkl. + "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 + "xOfYProducts": "{{x}} of {{y}} products" // {{x}} von {{y}} Produkten + }, + "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 +}; diff --git a/src/i18n/locales/en/search.js b/src/i18n/locales/en/search.js new file mode 100644 index 0000000..3d838a5 --- /dev/null +++ b/src/i18n/locales/en/search.js @@ -0,0 +1,5 @@ +export default { + "placeholder": "You can ask me about cannabis strains...", // Du kannst mich nach Cannabissorten fragen... + "recording": "Recording in progress...", // Aufnahme läuft... + "searchProducts": "Search products...", // Produkte suchen... +}; diff --git a/src/i18n/locales/en/sections.js b/src/i18n/locales/en/sections.js new file mode 100644 index 0000000..558169e --- /dev/null +++ b/src/i18n/locales/en/sections.js @@ -0,0 +1,8 @@ +export default { + "seeds": "Seeds", // Seeds + "stecklinge": "Cuttings", // Stecklinge + "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 +}; diff --git a/src/i18n/locales/en/settings.js b/src/i18n/locales/en/settings.js new file mode 100644 index 0000000..eadfda1 --- /dev/null +++ b/src/i18n/locales/en/settings.js @@ -0,0 +1,34 @@ +export default { + "changePassword": "Change password", // Passwort ändern + "currentPassword": "Current password", // Aktuelles Passwort + "newPassword": "New password", // Neues Passwort + "confirmNewPassword": "Confirm new password", // Neues Passwort bestätigen + "updatePassword": "Update password", // Passwort aktualisieren + "changeEmail": "Change email address", // E-Mail-Adresse ändern + "password": "Password", // Passwort + "newEmail": "New email address", // Neue E-Mail-Adresse + "updateEmail": "Update email", // E-Mail aktualisieren + "apiKey": "API key", // API-Schlüssel + "apiKeyDescription": "Use your API key for integration with external applications.", // Verwenden Sie Ihren API-Schlüssel für die Integration mit externen Anwendungen. + "apiDocumentation": "API documentation:", // API-Dokumentation: + "copyToClipboard": "Copy to clipboard", // In Zwischenablage kopieren + "generate": "Generate", // Generieren + "regenerate": "Regenerate", // Regenerieren + "apiKeyCopied": "API key copied to clipboard", // API-Schlüssel in Zwischenablage kopiert + "errors": { + "fillAllFields": "Please fill in all fields", // Bitte füllen Sie alle Felder aus + "passwordsNotMatch": "The new passwords do not match", // Die neuen Passwörter stimmen nicht überein + "passwordTooShort": "The new password must be at least 8 characters long", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "passwordUpdateError": "Error updating password", // Fehler beim Aktualisieren des Passworts + "invalidEmail": "Please enter a valid email address", // Bitte geben Sie eine gültige E-Mail-Adresse ein + "emailUpdateError": "Error updating email address", // Fehler beim Aktualisieren der E-Mail-Adresse + "userNotFound": "User not found", // Benutzer nicht gefunden + "apiKeyGenerationError": "Error generating API key" // Fehler beim Generieren des API-Schlüssels + }, + "success": { + "passwordUpdated": "Password updated successfully", // Passwort erfolgreich aktualisiert + "emailUpdated": "Email address updated successfully", // E-Mail-Adresse erfolgreich aktualisiert + "apiKeyGenerated": "API key generated successfully", // API-Schlüssel erfolgreich generiert + "apiKeyWarning": "Store this key securely. For security reasons, it will be hidden in 10 seconds." // Speichern Sie diesen Schlüssel sicher. Er wird aus Sicherheitsgründen in 10 Sekunden ausgeblendet. + } +}; diff --git a/src/i18n/locales/en/sorting.js b/src/i18n/locales/en/sorting.js new file mode 100644 index 0000000..4584dc9 --- /dev/null +++ b/src/i18n/locales/en/sorting.js @@ -0,0 +1,6 @@ +export default { + "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 +}; diff --git a/src/i18n/locales/en/tax.js b/src/i18n/locales/en/tax.js new file mode 100644 index 0000000..5e60172 --- /dev/null +++ b/src/i18n/locales/en/tax.js @@ -0,0 +1,12 @@ +export default { + "vat": "Value Added Tax", // Mehrwertsteuer + "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 + "subtotal": "Subtotal", // Zwischensumme + "incl7Vat": "incl. 7% VAT", // inkl. 7% MwSt. + "inclVatWithFooter": "(incl. {{vat}}% VAT,*)", // (incl. {{vat}}% USt.,*) + "inclVatAmount": "incl. {{amount}} € VAT ({{rate}}%)" // nkl. {{amount}} € MwSt. ({{rate}}%) +}; diff --git a/src/i18n/locales/en/titles.js b/src/i18n/locales/en/titles.js new file mode 100644 index 0000000..2a31c92 --- /dev/null +++ b/src/i18n/locales/en/titles.js @@ -0,0 +1,5 @@ +export default { + "home": "Fine Cannabis Seeds & Cuttings", // Fine Cannabis Seeds & Cuttings + "aktionen": "Current Promotions & Offers", // Aktuelle Aktionen & Angebote + "filiale": "Our Store in Dresden" // Unsere Filiale in Dresden +}; diff --git a/src/i18n/locales/en/translation.js b/src/i18n/locales/en/translation.js index 90ae61e..820476a 100644 --- a/src/i18n/locales/en/translation.js +++ b/src/i18n/locales/en/translation.js @@ -1,270 +1,3 @@ -export default { - "locale": { - "code": "en-US" // de-DE - }, - "navigation": { - "home": "Home", // Startseite - "aktionen": "Promotions", // Aktionen - "filiale": "Branch", // Filiale - "categories": "Categories", // Kategorien - "categoriesOpen": "Open categories", // Kategorien öffnen - "categoriesClose": "Close categories", // Kategorien schließen - "otherCategories": "Other categories" // Andere Kategorien - }, - "auth": { - "login": "Login", // Anmelden - "register": "Register", // Registrieren - "logout": "Logout", // Abmelden - "profile": "Profile", // Profil - "email": "Email", // E-Mail - "password": "Password", // Passwort - "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": "The new password must be at least 8 characters long", // Das neue Passwort muss mindestens 8 Zeichen lang sein - "menu": { - "profile": "Profile", // Profil - "myProfile": "My profile", // Mein Profil - "checkout": "Checkout", // Bestellabschluss - "orders": "Orders", // Bestellungen - "settings": "Settings", // Einstellungen - "adminDashboard": "Admin Dashboard", // Admin Dashboard - "adminUsers": "Admin Users" // Admin Users - } - }, - "cart": { - "title": "Cart", // Warenkorb - "empty": "empty", // leer - "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}}} - "productSingular": "Product", // Produkt - "productPlural": "Products", // 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 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": "Loading product...", // Produkt wird geladen... - "notFound": "Product not found", // Produkt nicht gefunden - "notFoundDescription": "The product you are looking for does not exist or has been removed.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. - "backToHome": "Back to home", // Zurück zur Startseite - "error": "Error", // Fehler - "articleNumber": "Article number", // Artikelnummer - "manufacturer": "Manufacturer", // Hersteller - "inclVat": "incl. {{vat}}% VAT", // inkl. {{vat}}% MwSt. - "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} - "new": "New", // Neu - "arriving": "Arriving:", // Ankunft: - "inclVatFooter": "incl. {{vat}}% VAT,*", // inkl. {{vat}}% MwSt.,* - "availability": "Availability", // Verfügbarkeit - "inStock": "In stock", // auf Lager - "comingSoon": "Coming soon", // Bald verfügbar - "deliveryTime": "Delivery time", // Lieferzeit - "inclShort": "incl.", // inkl. - "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 - "xOfYProducts": "{{x}} of {{y}} products" // {{x}} von {{y}} Produkten - }, - "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... - "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 - }, - "delivery": { - "methods": { - "dhl": "DHL", // DHL - "dpd": "DPD", // DPD - "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 - "bulky": "For large and heavy items", // Für große und schwere Artikel - "pickupOnly": "Pickup only" // nur Abholung - }, - "prices": { - "free": "free", // kostenlos - "freeFrom100": "(free from €100)", // (kostenlos ab 100€) - "dhl": "€6.99", // 6,99 € - "dpd": "€4.90", // 4,90 € - "sperrgut": "€28.99" // 28,99 € - }, - "times": { - "cutting14Days": "Delivery time: 14 days", // Lieferzeit: 14 Tage - "standard2to3Days": "Delivery time: 2-3 days", // Lieferzeit: 2-3 Tage - "supplier7to9Days": "Delivery time: 7-9 days" // Lieferzeit: 7-9 Tage - } - }, - "checkout": { - "invoiceAddress": "Invoice address", // Rechnungsadresse - "deliveryAddress": "Delivery address", // Lieferadresse - "saveForFuture": "Save for future orders", // Für zukünftige Bestellungen speichern - "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 the same as invoice address", // Lieferadresse ist identisch mit Rechnungsadresse - "termsAccept": "I have read the Terms & Conditions, Privacy Policy, and the Right of Withdrawal information", // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen - "selectDeliveryMethod": "Select shipping method", // Versandart wählen - "selectPaymentMethod": "Select payment method", // Zahlungsart wählen - "orderSummary": "Order summary", // Bestellübersicht - "addressValidationError": "Please check your entries in the address fields." // Bitte überprüfen Sie Ihre Eingaben in den Adressfeldern. - }, - "payment": { - "successful": "Payment successful!", // Zahlung erfolgreich! - "failed": "Payment failed", // Zahlung fehlgeschlagen - "orderCompleted": "🎉 Your order was completed successfully! You can now view your orders.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. - "orderProcessing": "Your payment was processed successfully. The order will be completed automatically.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. - "paymentError": "Your payment could not be processed. Please try again or choose another payment method.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. - "viewOrders": "View my orders" // Zu meinen Bestellungen - }, - "filters": { - "sorting": "Sorting", // Sortierung - "perPage": "per page", // pro Seite - "availability": "Availability", // Verfügbarkeit - "manufacturer": "Manufacturer", // Hersteller - "all": "All" // Alle - }, - "tax": { - "vat": "Value added tax", // Mehrwertsteuer - "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 excluding shipping", // Gesamtbruttopreis ohne Versand - "subtotal": "Subtotal", // Zwischensumme - "incl7Vat": "incl. 7% VAT", // inkl. 7% MwSt. - "inclVatWithFooter": "(incl. {{vat}}% VAT,*)", // (incl. {{vat}}% USt.,*) - "inclVatAmount": "incl. {{amount}} € VAT ({{rate}}%)" // nkl. {{amount}} € MwSt. ({{rate}}%) - }, - "footer": { - "hours": "Sat 11-19", // Sa 11-19 - "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden - "location": "Between Pieschen stop and Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz - "allPricesIncl": "* All prices incl. statutory VAT, plus shipping", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand - "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de - "legal": { - "datenschutz": "Privacy", // Datenschutz - "agb": "Terms & Conditions", // AGB - "sitemap": "Sitemap", // Sitemap - "impressum": "Imprint", // Impressum - "batteriegesetzhinweise": "Battery law notes", // Batteriegesetzhinweise - "widerrufsrecht": "Right of withdrawal" // Widerrufsrecht - } - }, - "titles": { - "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": "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": "Borrow oil press", // Ölpresse ausleihen - "comingSoon": "Content coming soon..." // Inhalt kommt bald... - }, - "thcTest": { - "title": "THC test", // THC Test - "comingSoon": "Content coming soon..." // Inhalt kommt bald... - } - }, - "orders": { - "status": { - "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 - }, - "table": { - "orderNumber": "Order number", // Bestellnummer - "date": "Date", // Datum - "status": "Status", // Status - "items": "Items", // Artikel - "total": "Total", // Summe - "actions": "Actions", // Aktionen - "viewDetails": "View details" // Details anzeigen - }, - "noOrders": "You have not placed any orders yet." // Sie haben noch keine Bestellungen aufgegeben. - }, - "settings": { - "changePassword": "Change password", // Passwort ändern - "currentPassword": "Current password", // Aktuelles Passwort - "newPassword": "New password", // Neues Passwort - "confirmNewPassword": "Confirm new password", // Neues Passwort bestätigen - "updatePassword": "Update password", // Passwort aktualisieren - "changeEmail": "Change email address", // E-Mail-Adresse ändern - "password": "Password", // Passwort - "newEmail": "New email address", // Neue E-Mail-Adresse - "updateEmail": "Update email", // E-Mail aktualisieren - "apiKey": "API key", // API-Schlüssel - "apiKeyDescription": "Use your API key for integration with external applications.", // Verwenden Sie Ihren API-Schlüssel für die Integration mit externen Anwendungen. - "apiDocumentation": "API documentation:", // API-Dokumentation: - "copyToClipboard": "Copy to clipboard", // In Zwischenablage kopieren - "generate": "Generate", // Generieren - "regenerate": "Regenerate", // Regenerieren - "apiKeyCopied": "API key copied to clipboard", // API-Schlüssel in Zwischenablage kopiert - "errors": { - "fillAllFields": "Please fill in all fields", // Bitte füllen Sie alle Felder aus - "passwordsNotMatch": "The new passwords do not match", // Die neuen Passwörter stimmen nicht überein - "passwordTooShort": "The new password must be at least 8 characters long", // Das neue Passwort muss mindestens 8 Zeichen lang sein - "passwordUpdateError": "Error updating password", // Fehler beim Aktualisieren des Passworts - "invalidEmail": "Please enter a valid email address", // Bitte geben Sie eine gültige E-Mail-Adresse ein - "emailUpdateError": "Error updating email address", // Fehler beim Aktualisieren der E-Mail-Adresse - "userNotFound": "User not found", // Benutzer nicht gefunden - "apiKeyGenerationError": "Error generating API key" // Fehler beim Generieren des API-Schlüssels - }, - "success": { - "passwordUpdated": "Password updated successfully", // Passwort erfolgreich aktualisiert - "emailUpdated": "Email address updated successfully", // E-Mail-Adresse erfolgreich aktualisiert - "apiKeyGenerated": "API key generated successfully", // API-Schlüssel erfolgreich generiert - "apiKeyWarning": "Store this key securely. For security reasons, it will be hidden in 10 seconds." // Speichern Sie diesen Schlüssel sicher. Er wird aus Sicherheitsgründen in 10 Sekunden ausgeblendet. - } - } -} +import translations from './index.js'; + +export default translations; \ No newline at end of file diff --git a/src/i18n/locales/es/auth.js b/src/i18n/locales/es/auth.js new file mode 100644 index 0000000..d6541e5 --- /dev/null +++ b/src/i18n/locales/es/auth.js @@ -0,0 +1,25 @@ +export default { + "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 + "menu": { + "profile": "Perfil", // Profil + "myProfile": "Mi perfil", // Mein Profil + "checkout": "Finalizar compra", // Bestellabschluss + "orders": "Pedidos", // Bestellungen + "settings": "Configuración", // Einstellungen + "adminDashboard": "Panel de administración", // Admin Dashboard + "adminUsers": "Usuarios administradores" // Admin Users + } +}; diff --git a/src/i18n/locales/es/cart.js b/src/i18n/locales/es/cart.js new file mode 100644 index 0000000..f77bdae --- /dev/null +++ b/src/i18n/locales/es/cart.js @@ -0,0 +1,24 @@ +export default { + "title": "Carrito", // Warenkorb + "empty": "vacío", // leer + "addToCart": "Añadir al carrito", // In den Korb + "preorderCutting": "Preordenar como esqueje", // Als Steckling vorbestellen + "continueShopping": "Continuar comprando", // Weiter einkaufen + "proceedToCheckout": "Proceder al pago", // Weiter zur Kasse + "productCount": "{{count}} {{count, plural, one {producto} other {productos}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} + "productSingular": "producto", // Produkt + "productPlural": "productos", // Produkte + "removeFromCart": "Eliminar del carrito", // Aus dem Warenkorb entfernen + "openCart": "Abrir carrito", // Warenkorb öffnen + "availableFrom": "Disponible desde {{date}}", // Ab {{date}} + "backToOrder": "← Volver al pedido", // ← Zurück zur Bestellung + "sync": { + "title": "Sincronización del carrito", // Warenkorb-Synchronisierung + "description": "Tienes un carrito guardado en tu cuenta. Por favor, elige cómo quieres 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 + } +}; diff --git a/src/i18n/locales/es/chat.js b/src/i18n/locales/es/chat.js new file mode 100644 index 0000000..de5f9a9 --- /dev/null +++ b/src/i18n/locales/es/chat.js @@ -0,0 +1,3 @@ +export default { + "privacyRead": "Leído y Aceptado", // Gelesen & Akzeptiert +}; diff --git a/src/i18n/locales/es/checkout.js b/src/i18n/locales/es/checkout.js new file mode 100644 index 0000000..2faa367 --- /dev/null +++ b/src/i18n/locales/es/checkout.js @@ -0,0 +1,13 @@ +export default { + "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 + "selectDeliveryMethod": "Seleccionar método de envío", // Versandart wählen + "selectPaymentMethod": "Seleccionar método de pago", // Zahlungsart wählen + "orderSummary": "Resumen del pedido", // Bestellübersicht + "addressValidationError": "Por favor, revise sus datos en los campos de dirección." // Bitte überprüfen Sie Ihre Eingaben in den Adressfeldern. +}; diff --git a/src/i18n/locales/es/common.js b/src/i18n/locales/es/common.js new file mode 100644 index 0000000..479b6da --- /dev/null +++ b/src/i18n/locales/es/common.js @@ -0,0 +1,19 @@ +export default { + "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": "Añadir", // Hinzufügen + "remove": "Quitar", // Entfernen + "products": "Productos", // Produkte + "product": "Producto", // Produkt + "days": "Días" // Tage +}; diff --git a/src/i18n/locales/es/delivery.js b/src/i18n/locales/es/delivery.js new file mode 100644 index 0000000..614e2f4 --- /dev/null +++ b/src/i18n/locales/es/delivery.js @@ -0,0 +1,27 @@ +export default { + "methods": { + "dhl": "DHL", // DHL + "dpd": "DPD", // DPD + "sperrgut": "Artículos voluminosos", // Sperrgut + "pickup": "Recogida en tienda" // Abholung in der Filiale + }, + "descriptions": { + "standard": "Envío estándar", // Standardversand + "standardFree": "Envío estándar - ¡GRATIS a partir de 100€ de pedido!", // Standardversand - KOSTENLOS ab 100€ Warenwert! + "notAvailable": "No seleccionable porque uno o más artículos solo pueden recogerse", // 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 + "pickupOnly": "Solo recogida" // nur Abholung + }, + "prices": { + "free": "gratis", // kostenlos + "freeFrom100": "(gratis a partir de 100€)", // (kostenlos ab 100€) + "dhl": "6,99 €", // 6,99 € + "dpd": "4,90 €", // 4,90 € + "sperrgut": "28,99 €" // 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 + } +}; diff --git a/src/i18n/locales/es/filters.js b/src/i18n/locales/es/filters.js new file mode 100644 index 0000000..ec29ae9 --- /dev/null +++ b/src/i18n/locales/es/filters.js @@ -0,0 +1,7 @@ +export default { + "sorting": "Ordenar", // Sortierung + "perPage": "por página", // pro Seite + "availability": "Disponibilidad", // Verfügbarkeit + "manufacturer": "Fabricante", // Hersteller + "all": "Todos", // Alle +}; diff --git a/src/i18n/locales/es/footer.js b/src/i18n/locales/es/footer.js new file mode 100644 index 0000000..847a6c6 --- /dev/null +++ b/src/i18n/locales/es/footer.js @@ -0,0 +1,15 @@ +export default { + "hours": "Sáb 11am-7pm", // Sa 11-19 + "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden + "location": "Entre la parada Pieschen y Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz + "allPricesIncl": "* Todos los precios incluyen IVA legal, más envío", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand + "copyright": "© {{year}} GrowHeads.de", // © {{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 la ley de baterías", // Batteriegesetzhinweise + "widerrufsrecht": "Derecho de desistimiento" // Widerrufsrecht + } +}; diff --git a/src/i18n/locales/es/index.js b/src/i18n/locales/es/index.js new file mode 100644 index 0000000..1dd359f --- /dev/null +++ b/src/i18n/locales/es/index.js @@ -0,0 +1,43 @@ +import locale from './locale.js'; +import navigation from './navigation.js'; +import auth from './auth.js'; +import cart from './cart.js'; +import product from './product.js'; +import search from './search.js'; +import sorting from './sorting.js'; +import chat from './chat.js'; +import delivery from './delivery.js'; +import checkout from './checkout.js'; +import payment from './payment.js'; +import filters from './filters.js'; +import tax from './tax.js'; +import footer from './footer.js'; +import titles from './titles.js'; +import sections from './sections.js'; +import pages from './pages.js'; +import orders from './orders.js'; +import settings from './settings.js'; +import common from './common.js'; + +export default { + "locale": locale, + "navigation": navigation, + "auth": auth, + "cart": cart, + "product": product, + "search": search, + "sorting": sorting, + "chat": chat, + "delivery": delivery, + "checkout": checkout, + "payment": payment, + "filters": filters, + "tax": tax, + "footer": footer, + "titles": titles, + "sections": sections, + "pages": pages, + "orders": orders, + "settings": settings, + "common": common +}; \ No newline at end of file diff --git a/src/i18n/locales/es/locale.js b/src/i18n/locales/es/locale.js new file mode 100644 index 0000000..9faad41 --- /dev/null +++ b/src/i18n/locales/es/locale.js @@ -0,0 +1,3 @@ +export default { + "code": "es-ES" // de-DE +}; diff --git a/src/i18n/locales/es/navigation.js b/src/i18n/locales/es/navigation.js new file mode 100644 index 0000000..c2d076c --- /dev/null +++ b/src/i18n/locales/es/navigation.js @@ -0,0 +1,9 @@ +export default { + "home": "Inicio", // Startseite + "aktionen": "Promociones", // Aktionen + "filiale": "Sucursal", // Filiale + "categories": "Categorías", // Kategorien + "categoriesOpen": "Abrir categorías", // Kategorien öffnen + "categoriesClose": "Cerrar categorías", // Kategorien schließen + "otherCategories": "Otras categorías" // Andere Kategorien +}; diff --git a/src/i18n/locales/es/orders.js b/src/i18n/locales/es/orders.js new file mode 100644 index 0000000..9f57770 --- /dev/null +++ b/src/i18n/locales/es/orders.js @@ -0,0 +1,23 @@ +export default { + "status": { + "new": "En progreso", // in Bearbeitung + "pending": "Nuevo", // Neu + "processing": "En progreso", // 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 + }, + "table": { + "orderNumber": "Número de pedido", // Bestellnummer + "date": "Fecha", // Datum + "status": "Estado", // Status + "items": "Artículos", // Artikel + "total": "Total", // Summe + "actions": "Acciones", // Aktionen + "viewDetails": "Ver detalles" // Details anzeigen + }, + "noOrders": "Aún no has realizado ningún pedido." // Sie haben noch keine Bestellungen aufgegeben. +}; diff --git a/src/i18n/locales/es/pages.js b/src/i18n/locales/es/pages.js new file mode 100644 index 0000000..d11190c --- /dev/null +++ b/src/i18n/locales/es/pages.js @@ -0,0 +1,10 @@ +export default { + "oilPress": { + "title": "Alquilar prensa de aceite", // Ölpresse ausleihen + "comingSoon": "Contenido próximamente...", // Inhalt kommt bald... + }, + "thcTest": { + "title": "Prueba de THC", // THC Test + "comingSoon": "Contenido próximamente...", // Inhalt kommt bald... + } +}; diff --git a/src/i18n/locales/es/payment.js b/src/i18n/locales/es/payment.js new file mode 100644 index 0000000..e21984b --- /dev/null +++ b/src/i18n/locales/es/payment.js @@ -0,0 +1,8 @@ +export default { + "successful": "¡Pago exitoso!", // Zahlung erfolgreich! + "failed": "Pago fallido", // Zahlung fehlgeschlagen + "orderCompleted": "🎉 ¡Tu pedido se completó con éxito! Ahora puedes ver tus pedidos.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. + "orderProcessing": "Tu pago se procesó con éxito. El pedido se completará automáticamente.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. + "paymentError": "No se pudo procesar tu pago. Por favor, inténtalo de nuevo o elige otro método de pago.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. + "viewOrders": "Ir a mis pedidos" // Zu meinen Bestellungen +}; diff --git a/src/i18n/locales/es/product.js b/src/i18n/locales/es/product.js new file mode 100644 index 0000000..ee00f16 --- /dev/null +++ b/src/i18n/locales/es/product.js @@ -0,0 +1,32 @@ +export default { + "loading": "Cargando producto...", // Produkt wird geladen... + "notFound": "Producto no encontrado", // Produkt nicht gefunden + "notFoundDescription": "El producto que buscas no existe o ha sido eliminado.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. + "backToHome": "Volver a la página principal", // 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 + "weeks": "semanas", // Wochen + "arriving": "Llegada:", // Ankunft: + "inclVatFooter": "incl. {{vat}}% IVA,*", // inkl. {{vat}}% MwSt.,* + "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. + "countDisplay": { + "noProducts": "0 productos", // 0 Produkte + "oneProduct": "1 producto", // 1 Produkt + "multipleProducts": "{{count}} productos", // {{count}} Produkte + "filteredProducts": "{{filtered}} de {{total}} productos", // {{filtered}} von {{total}} Produkten + "filteredOneProduct": "{{filtered}} de 1 producto", // {{filtered}} von 1 Produkt + "xOfYProducts": "{{x}} de {{y}} productos" // {{x}} von {{y}} Produkten + }, + "removeFiltersToSee": "Elimina filtros para ver productos", // Entferne Filter um Produkte zu sehen + "outOfStock": "Agotado", // Out of Stock + "fromXProducts": "desde {{count}} productos" // ab {{count}} Produkten +}; diff --git a/src/i18n/locales/es/search.js b/src/i18n/locales/es/search.js new file mode 100644 index 0000000..c8f5b88 --- /dev/null +++ b/src/i18n/locales/es/search.js @@ -0,0 +1,5 @@ +export default { + "placeholder": "Puedes preguntarme sobre variedades de cannabis...", // Du kannst mich nach Cannabissorten fragen... + "recording": "Grabando en curso...", // Aufnahme läuft... + "searchProducts": "Buscar productos...", // Produkte suchen... +}; diff --git a/src/i18n/locales/es/sections.js b/src/i18n/locales/es/sections.js new file mode 100644 index 0000000..878dde2 --- /dev/null +++ b/src/i18n/locales/es/sections.js @@ -0,0 +1,8 @@ +export default { + "seeds": "Semillas", // Seeds + "stecklinge": "Esquejes", // Stecklinge + "oilPress": "Pedir prestada prensa de aceite", // Ölpresse ausleihen + "thcTest": "Prueba de THC", // THC Test + "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 + "address2": "01129 Dresden" // 01129 Dresden +}; diff --git a/src/i18n/locales/es/settings.js b/src/i18n/locales/es/settings.js new file mode 100644 index 0000000..d1da511 --- /dev/null +++ b/src/i18n/locales/es/settings.js @@ -0,0 +1,34 @@ +export default { + "changePassword": "Cambiar contraseña", // Passwort ändern + "currentPassword": "Contraseña actual", // Aktuelles Passwort + "newPassword": "Nueva contraseña", // Neues Passwort + "confirmNewPassword": "Confirmar nueva contraseña", // Neues Passwort bestätigen + "updatePassword": "Actualizar contraseña", // Passwort aktualisieren + "changeEmail": "Cambiar dirección de correo electrónico", // E-Mail-Adresse ändern + "password": "Contraseña", // Passwort + "newEmail": "Nueva dirección de correo electrónico", // Neue E-Mail-Adresse + "updateEmail": "Actualizar correo electrónico", // E-Mail aktualisieren + "apiKey": "Clave API", // API-Schlüssel + "apiKeyDescription": "Utilice su clave API para la integración con aplicaciones externas.", // Verwenden Sie Ihren API-Schlüssel für die Integration mit externen Anwendungen. + "apiDocumentation": "Documentación de la API:", // API-Dokumentation: + "copyToClipboard": "Copiar al portapapeles", // In Zwischenablage kopieren + "generate": "Generar", // Generieren + "regenerate": "Regenerar", // Regenerieren + "apiKeyCopied": "Clave API copiada al portapapeles", // API-Schlüssel in Zwischenablage kopiert + "errors": { + "fillAllFields": "Por favor, complete todos los campos", // Bitte füllen Sie alle Felder aus + "passwordsNotMatch": "Las nuevas contraseñas no coinciden", // Die neuen Passwörter stimmen nicht überein + "passwordTooShort": "La nueva contraseña debe tener al menos 8 caracteres", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "passwordUpdateError": "Error al actualizar la contraseña", // Fehler beim Aktualisieren des Passworts + "invalidEmail": "Por favor, introduzca una dirección de correo electrónico válida", // Bitte geben Sie eine gültige E-Mail-Adresse ein + "emailUpdateError": "Error al actualizar la dirección de correo electrónico", // Fehler beim Aktualisieren der E-Mail-Adresse + "userNotFound": "Usuario no encontrado", // Benutzer nicht gefunden + "apiKeyGenerationError": "Error al generar la clave API" // Fehler beim Generieren des API-Schlüssels + }, + "success": { + "passwordUpdated": "Contraseña actualizada con éxito", // Passwort erfolgreich aktualisiert + "emailUpdated": "Dirección de correo electrónico actualizada con éxito", // E-Mail-Adresse erfolgreich aktualisiert + "apiKeyGenerated": "Clave API generada con éxito", // API-Schlüssel erfolgreich generiert + "apiKeyWarning": "Guarde esta clave de forma segura. Por razones de seguridad, se ocultará en 10 segundos." // Speichern Sie diesen Schlüssel sicher. Er wird aus Sicherheitsgründen in 10 Sekunden ausgeblendet. + } +}; diff --git a/src/i18n/locales/es/sorting.js b/src/i18n/locales/es/sorting.js new file mode 100644 index 0000000..11ff5c4 --- /dev/null +++ b/src/i18n/locales/es/sorting.js @@ -0,0 +1,6 @@ +export default { + "name": "Nombre", // Name + "searchField": "Término de búsqueda", // Suchbegriff + "priceLowHigh": "Precio: de menor a mayor", // Preis: Niedrig zu Hoch + "priceHighLow": "Precio: de mayor a menor" // Preis: Hoch zu Niedrig +}; diff --git a/src/i18n/locales/es/tax.js b/src/i18n/locales/es/tax.js new file mode 100644 index 0000000..fe40301 --- /dev/null +++ b/src/i18n/locales/es/tax.js @@ -0,0 +1,12 @@ +export default { + "vat": "Impuesto al Valor Agregado", // Mehrwertsteuer + "vat7": "7% Impuesto al Valor Agregado", // 7% Mehrwertsteuer + "vat19": "19% Impuesto al Valor Agregado", // 19% Mehrwertsteuer + "vat19WithShipping": "19% Impuesto al Valor Agregado (incl. envío)", // 19% Mehrwertsteuer (inkl. Versand) + "totalNet": "Precio neto total", // Gesamtnettopreis + "totalGross": "Precio bruto total sin envío", // Gesamtbruttopreis ohne Versand + "subtotal": "Subtotal", // Zwischensumme + "incl7Vat": "incl. 7% IVA", // inkl. 7% MwSt. + "inclVatWithFooter": "(incl. {{vat}}% IVA,*)", // (incl. {{vat}}% USt.,*) + "inclVatAmount": "incl. {{amount}} € IVA ({{rate}}%)" // nkl. {{amount}} € MwSt. ({{rate}}%) +}; diff --git a/src/i18n/locales/es/titles.js b/src/i18n/locales/es/titles.js new file mode 100644 index 0000000..1f7add4 --- /dev/null +++ b/src/i18n/locales/es/titles.js @@ -0,0 +1,5 @@ +export default { + "home": "Semillas y esquejes finos de cannabis", // Fine Cannabis Seeds & Cuttings + "aktionen": "Promociones y ofertas actuales", // Aktuelle Aktionen & Angebote + "filiale": "Nuestra tienda en Dresden" // Unsere Filiale in Dresden +}; diff --git a/src/i18n/locales/es/translation.js b/src/i18n/locales/es/translation.js index e0cf472..820476a 100644 --- a/src/i18n/locales/es/translation.js +++ b/src/i18n/locales/es/translation.js @@ -1,231 +1,3 @@ -export default { - "locale": { - "code": "es-ES" // de-DE - }, - "navigation": { - "home": "Inicio", // Startseite - "aktionen": "Promociones", // Aktionen - "filiale": "Sucursal", // Filiale - "categories": "Categorías", // Kategorien - "categoriesOpen": "Abrir categorías", // Kategorien öffnen - "categoriesClose": "Cerrar categorías", // Kategorien schließen - "otherCategories": "Otras categorías" // Andere Kategorien - }, - "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 - "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 - } - }, - "cart": { - "title": "Carrito", // Warenkorb - "empty": "vacío", // leer - "addToCart": "Añadir al carrito", // In den Korb - "preorderCutting": "Preordenar como esqueje", // Als Steckling vorbestellen - "continueShopping": "Continuar comprando", // Weiter einkaufen - "proceedToCheckout": "Proceder al pago", // Weiter zur Kasse - "productCount": "{{count}} {{count, plural, one {Producto} other {Productos}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} - "removeFromCart": "Eliminar del carrito", // Aus dem Warenkorb entfernen - "openCart": "Abrir carrito", // Warenkorb öffnen - "availableFrom": "Disponible desde {{date}}", // Ab {{date}} - "backToOrder": "← Volver al pedido", // ← Zurück zur Bestellung - "sync": { - "title": "Sincronización del carrito", // Warenkorb-Synchronisierung - "description": "Tienes un carrito guardado en tu cuenta. Por favor elige cómo quieres 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 - } - }, - "product": { - "loading": "Cargando producto...", // Produkt wird geladen... - "notFound": "Producto no encontrado", // Produkt nicht gefunden - "notFoundDescription": "El producto que buscas 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": "Llegando:", // 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. - "countDisplay": { - "noProducts": "0 productos", // 0 Produkte - "oneProduct": "1 producto", // 1 Produkt - "multipleProducts": "{{count}} productos", // {{count}} Produkte - "filteredProducts": "{{filtered}} de {{total}} productos", // {{filtered}} von {{total}} Produkten - "filteredOneProduct": "{{filtered}} de 1 producto" // {{filtered}} von 1 Produkt - }, - "removeFiltersToSee": "Elimina filtros para ver productos", // Entferne Filter um Produkte zu sehen - "outOfStock": "Agotado", // Out of Stock - "fromXProducts": "desde {{count}} productos" // ab {{count}} Produkten - }, - "search": { - "placeholder": "Puedes preguntarme sobre variedades de cannabis...", // Du kannst mich nach Cannabissorten fragen... - "recording": "Grabando...", // Aufnahme läuft... - "searchProducts": "Buscar productos..." // Produkte suchen... - }, - "sorting": { - "name": "Nombre", // Name - "searchField": "Término de búsqueda", // Suchbegriff - "priceLowHigh": "Precio: de menor a mayor", // Preis: Niedrig zu Hoch - "priceHighLow": "Precio: de mayor a menor" // Preis: Hoch zu Niedrig - }, - "chat": { - "privacyRead": "Leído y aceptado" // Gelesen & Akzeptiert - }, - "delivery": { - "methods": { - "dhl": "DHL", // DHL - "dpd": "DPD", // DPD - "sperrgut": "Mercancía voluminosa", // Sperrgut - "pickup": "Recoger en sucursal" // Abholung in der Filiale - }, - "descriptions": { - "standard": "Envío estándar", // Standardversand - "standardFree": "Envío estándar - ¡GRATIS a partir de 100€ de pedido!", // Standardversand - KOSTENLOS ab 100€ Warenwert! - "notAvailable": "No seleccionable porque uno o más artículos solo pueden recogerse", // 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 - }, - "prices": { - "free": "gratis", // kostenlos - "freeFrom100": "(gratis desde 100€)", // (kostenlos ab 100€) - "dhl": "€6.99", // 6,99 € - "dpd": "€4.90", // 4,90 € - "sperrgut": "€28.99" // 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 - } - }, - "checkout": { - "invoiceAddress": "Dirección de facturación", // Rechnungsadresse - "deliveryAddress": "Dirección de entrega", // Lieferadresse - "saveForFuture": "Guardar para futuros pedidos", // Für zukünftige Bestellungen speichern - "pickupDate": "¿Para qué fecha quieres recoger los esquejes?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht? - "note": "Nota", // Anmerkung - "sameAddress": "La dirección de entrega es igual a la de facturación", // Lieferadresse ist identisch mit Rechnungsadresse - "termsAccept": "He leído los Términos y Condiciones, la Política de Privacidad y la información sobre el Derecho de desistimiento" // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen - }, - "payment": { - "successful": "¡Pago exitoso!", // Zahlung erfolgreich! - "failed": "Pago fallido", // Zahlung fehlgeschlagen - "orderCompleted": "🎉 ¡Tu pedido se ha completado con éxito! Ahora puedes ver tus pedidos.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. - "orderProcessing": "Tu pago fue procesado con éxito. El pedido se completará automáticamente.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. - "paymentError": "No se pudo procesar tu pago. Por favor, inténtalo de nuevo o elige otro método de pago.", // 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 - }, - "filters": { - "sorting": "Ordenar", // Sortierung - "perPage": "por página", // pro Seite - "availability": "Disponibilidad", // Verfügbarkeit - "manufacturer": "Fabricante" // Hersteller - }, - "tax": { - "vat": "Impuesto al Valor Agregado", // Mehrwertsteuer - "vat7": "7% Impuesto al Valor Agregado", // 7% Mehrwertsteuer - "vat19": "19% Impuesto al Valor Agregado", // 19% Mehrwertsteuer - "vat19WithShipping": "19% Impuesto al Valor Agregado (incl. envío)", // 19% Mehrwertsteuer (inkl. Versand) - "totalNet": "Precio neto total", // Gesamtnettopreis - "totalGross": "Precio bruto total sin incluir envío", // Gesamtbruttopreis ohne Versand - "subtotal": "Subtotal" // Zwischensumme - }, - "footer": { - "hours": "Sáb 11-19", // Sa 11-19 - "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden - "location": "Entre la parada Pieschen y Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz - "allPricesIncl": "* Todos los precios incluyen IVA legal, más envío", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand - "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de - "legal": { - "datenschutz": "Privacidad", // Datenschutz - "agb": "Términos y condiciones", // AGB - "sitemap": "Mapa del sitio", // Sitemap - "impressum": "Imprint", // Impressum - "batteriegesetzhinweise": "Notas sobre la ley de baterías", // Batteriegesetzhinweise - "widerrufsrecht": "Derecho de desistimiento" // Widerrufsrecht - } - }, - "titles": { - "home": "Semillas y esquejes finos de cannabis", // Fine Cannabis Seeds & Cuttings (the text in the string has special characters, translate using the comment) - "aktionen": "Promociones y ofertas actuales", // Aktuelle Aktionen & Angebote (the text in the string has special characters, translate using the comment) - "filiale": "Nuestra sucursal en Dresden" // Unsere Filiale in Dresden (the text in the string has special characters, translate using the comment) - }, - "sections": { - "seeds": "Semillas", // Seeds - "stecklinge": "Esquejes", // Stecklinge - "oilPress": "Prestar 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 - }, - "pages": { - "oilPress": { - "title": "Prestar prensa de aceite", // Ölpresse ausleihen - "comingSoon": "Contenido próximamente..." // Inhalt kommt bald... - }, - "thcTest": { - "title": "Test de THC", // THC Test - "comingSoon": "Contenido próximamente..." // Inhalt kommt bald... - } - }, - "orders": { - "status": { - "new": "En proceso", // in Bearbeitung - "pending": "Nuevo", // Neu - "processing": "En proceso", // 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 - } - }, - "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": "Añadir", // Hinzufügen - "remove": "Quitar", // Entfernen - "products": "Productos", // Produkte - "product": "Producto" // Produkt - } -}; +import translations from './index.js'; + +export default translations; \ No newline at end of file diff --git a/src/i18n/locales/fr/auth.js b/src/i18n/locales/fr/auth.js new file mode 100644 index 0000000..9367092 --- /dev/null +++ b/src/i18n/locales/fr/auth.js @@ -0,0 +1,25 @@ +export default { + "login": "Connexion", // Anmelden + "register": "S'inscrire", // Registrieren + "logout": "Déconnexion", // Abmelden + "profile": "Profil", // Profil + "email": "Email", // E-Mail + "password": "Mot de passe", // Passwort + "confirmPassword": "Confirmer le mot de passe", // Passwort bestätigen + "forgotPassword": "Mot de passe oublié ?", // Passwort vergessen? + "loginWithGoogle": "Se connecter avec Google", // Mit Google anmelden + "or": "OU", // ODER + "privacyAccept": "En cliquant sur \"Se connecter avec Google\", j'accepte la", // Mit dem Click auf "Mit Google anmelden" akzeptiere ich die + "privacyPolicy": "Politique de confidentialité", // Datenschutzbestimmungen + "passwordMinLength": "Le mot de passe doit contenir au moins 8 caractères", // Das Passwort muss mindestens 8 Zeichen lang sein + "newPasswordMinLength": "Le nouveau mot de passe doit contenir au moins 8 caractères", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "menu": { + "profile": "Profil", // Profil + "myProfile": "Mon profil", // Mein Profil + "checkout": "Paiement", // Bestellabschluss + "orders": "Commandes", // Bestellungen + "settings": "Paramètres", // Einstellungen + "adminDashboard": "Tableau de bord Admin", // Admin Dashboard + "adminUsers": "Utilisateurs Admin" // Admin Users + } +}; diff --git a/src/i18n/locales/fr/cart.js b/src/i18n/locales/fr/cart.js new file mode 100644 index 0000000..1651d24 --- /dev/null +++ b/src/i18n/locales/fr/cart.js @@ -0,0 +1,24 @@ +export default { + "title": "Panier", // Warenkorb + "empty": "vide", // leer + "addToCart": "Ajouter au panier", // In den Korb + "preorderCutting": "Précommander en tant que bouture", // Als Steckling vorbestellen + "continueShopping": "Continuer vos achats", // Weiter einkaufen + "proceedToCheckout": "Passer à la caisse", // Weiter zur Kasse + "productCount": "{{count}} {{count, plural, one {produit} other {produits}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} + "productSingular": "produit", // Produkt + "productPlural": "produits", // Produkte + "removeFromCart": "Retirer du panier", // Aus dem Warenkorb entfernen + "openCart": "Ouvrir le panier", // Warenkorb öffnen + "availableFrom": "Disponible à partir du {{date}}", // Ab {{date}} + "backToOrder": "← Retour à la commande", // ← Zurück zur Bestellung + "sync": { + "title": "Synchronisation du panier", // Warenkorb-Synchronisierung + "description": "Vous avez un panier enregistré dans votre compte. Veuillez choisir comment vous souhaitez procéder :", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten: + "deleteServer": "Supprimer le panier serveur", // Server-Warenkorb löschen + "useServer": "Utiliser le panier serveur", // Server-Warenkorb übernehmen + "merge": "Fusionner les paniers", // Warenkörbe zusammenführen + "currentCart": "Votre panier actuel", // Ihr aktueller Warenkorb + "serverCart": "Panier enregistré dans votre profil" // In Ihrem Profil gespeicherter Warenkorb + } +}; diff --git a/src/i18n/locales/fr/chat.js b/src/i18n/locales/fr/chat.js new file mode 100644 index 0000000..6caadb0 --- /dev/null +++ b/src/i18n/locales/fr/chat.js @@ -0,0 +1,3 @@ +export default { + "privacyRead": "Lu & Accepté", // Gelesen & Akzeptiert +}; diff --git a/src/i18n/locales/fr/checkout.js b/src/i18n/locales/fr/checkout.js new file mode 100644 index 0000000..897df43 --- /dev/null +++ b/src/i18n/locales/fr/checkout.js @@ -0,0 +1,13 @@ +export default { + "invoiceAddress": "Adresse de facturation", // Rechnungsadresse + "deliveryAddress": "Adresse de livraison", // Lieferadresse + "saveForFuture": "Enregistrer pour les commandes futures", // Für zukünftige Bestellungen speichern + "pickupDate": "Pour quelle date la collecte des boutures est-elle souhaitée ?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht? + "note": "Note", // Anmerkung + "sameAddress": "L'adresse de livraison est identique à l'adresse de facturation", // Lieferadresse ist identisch mit Rechnungsadresse + "termsAccept": "J'ai lu les conditions générales, la politique de confidentialité et les dispositions relatives au droit de rétractation", // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen + "selectDeliveryMethod": "Sélectionnez le mode de livraison", // Versandart wählen + "selectPaymentMethod": "Sélectionnez le mode de paiement", // Zahlungsart wählen + "orderSummary": "Résumé de la commande", // Bestellübersicht + "addressValidationError": "Veuillez vérifier vos saisies dans les champs d'adresse." // Bitte überprüfen Sie Ihre Eingaben in den Adressfeldern. +}; diff --git a/src/i18n/locales/fr/common.js b/src/i18n/locales/fr/common.js new file mode 100644 index 0000000..9d07d55 --- /dev/null +++ b/src/i18n/locales/fr/common.js @@ -0,0 +1,19 @@ +export default { + "loading": "Chargement...", // Lädt... + "error": "Erreur", // Fehler + "close": "Fermer", // Schließen + "save": "Enregistrer", // Speichern + "cancel": "Annuler", // Abbrechen + "ok": "OK", // OK + "yes": "Oui", // Ja + "no": "Non", // Nein + "next": "Suivant", // Weiter + "back": "Retour", // Zurück + "edit": "Modifier", // Bearbeiten + "delete": "Supprimer", // Löschen + "add": "Ajouter", // Hinzufügen + "remove": "Retirer", // Entfernen + "products": "Produits", // Produkte + "product": "Produit", // Produkt + "days": "Jours" // Tage +}; diff --git a/src/i18n/locales/fr/delivery.js b/src/i18n/locales/fr/delivery.js new file mode 100644 index 0000000..9d2707c --- /dev/null +++ b/src/i18n/locales/fr/delivery.js @@ -0,0 +1,27 @@ +export default { + "methods": { + "dhl": "DHL", // DHL + "dpd": "DPD", // DPD + "sperrgut": "Marchandises volumineuses", // Sperrgut + "pickup": "Retrait en magasin" // Abholung in der Filiale + }, + "descriptions": { + "standard": "Livraison standard", // Standardversand + "standardFree": "Livraison standard - GRATUITE à partir de 100€ d'achat !", // Standardversand - KOSTENLOS ab 100€ Warenwert! + "notAvailable": "Non sélectionnable car un ou plusieurs articles doivent être retirés en magasin", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können + "bulky": "Pour les articles volumineux et lourds", // Für große und schwere Artikel + "pickupOnly": "Retrait uniquement" // nur Abholung + }, + "prices": { + "free": "gratuit", // kostenlos + "freeFrom100": "(gratuit à partir de 100€)", // (kostenlos ab 100€) + "dhl": "6,99 €", // 6,99 € + "dpd": "4,90 €", // 4,90 € + "sperrgut": "28,99 €" // 28,99 € + }, + "times": { + "cutting14Days": "Délai de livraison : 14 jours", // Lieferzeit: 14 Tage + "standard2to3Days": "Délai de livraison : 2-3 jours", // Lieferzeit: 2-3 Tage + "supplier7to9Days": "Délai de livraison : 7-9 jours" // Lieferzeit: 7-9 Tage + } +}; diff --git a/src/i18n/locales/fr/filters.js b/src/i18n/locales/fr/filters.js new file mode 100644 index 0000000..7ca0448 --- /dev/null +++ b/src/i18n/locales/fr/filters.js @@ -0,0 +1,7 @@ +export default { + "sorting": "Tri", // Sortierung + "perPage": "par page", // pro Seite + "availability": "Disponibilité", // Verfügbarkeit + "manufacturer": "Fabricant", // Hersteller + "all": "Tous", // Alle +}; diff --git a/src/i18n/locales/fr/footer.js b/src/i18n/locales/fr/footer.js new file mode 100644 index 0000000..fa8daaf --- /dev/null +++ b/src/i18n/locales/fr/footer.js @@ -0,0 +1,15 @@ +export default { + "hours": "Sam 11h-19h", // Sa 11-19 + "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden + "location": "Entre l'arrêt Pieschen et Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz + "allPricesIncl": "* Tous les prix incluent la TVA légale, plus les frais de port", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand + "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de + "legal": { + "datenschutz": "Politique de confidentialité", // Datenschutz + "agb": "Conditions générales", // AGB + "sitemap": "Plan du site", // Sitemap + "impressum": "Mentions légales", // Impressum + "batteriegesetzhinweise": "Informations sur la loi sur les batteries", // Batteriegesetzhinweise + "widerrufsrecht": "Droit de rétractation" // Widerrufsrecht + } +}; diff --git a/src/i18n/locales/fr/index.js b/src/i18n/locales/fr/index.js new file mode 100644 index 0000000..1dd359f --- /dev/null +++ b/src/i18n/locales/fr/index.js @@ -0,0 +1,43 @@ +import locale from './locale.js'; +import navigation from './navigation.js'; +import auth from './auth.js'; +import cart from './cart.js'; +import product from './product.js'; +import search from './search.js'; +import sorting from './sorting.js'; +import chat from './chat.js'; +import delivery from './delivery.js'; +import checkout from './checkout.js'; +import payment from './payment.js'; +import filters from './filters.js'; +import tax from './tax.js'; +import footer from './footer.js'; +import titles from './titles.js'; +import sections from './sections.js'; +import pages from './pages.js'; +import orders from './orders.js'; +import settings from './settings.js'; +import common from './common.js'; + +export default { + "locale": locale, + "navigation": navigation, + "auth": auth, + "cart": cart, + "product": product, + "search": search, + "sorting": sorting, + "chat": chat, + "delivery": delivery, + "checkout": checkout, + "payment": payment, + "filters": filters, + "tax": tax, + "footer": footer, + "titles": titles, + "sections": sections, + "pages": pages, + "orders": orders, + "settings": settings, + "common": common +}; \ No newline at end of file diff --git a/src/i18n/locales/fr/locale.js b/src/i18n/locales/fr/locale.js new file mode 100644 index 0000000..ea0aca0 --- /dev/null +++ b/src/i18n/locales/fr/locale.js @@ -0,0 +1,3 @@ +export default { + "code": "fr-FR" // de-DE +}; diff --git a/src/i18n/locales/fr/navigation.js b/src/i18n/locales/fr/navigation.js new file mode 100644 index 0000000..c797253 --- /dev/null +++ b/src/i18n/locales/fr/navigation.js @@ -0,0 +1,9 @@ +export default { + "home": "Accueil", // Startseite + "aktionen": "Promotions", // Aktionen + "filiale": "Agence", // Filiale + "categories": "Catégories", // Kategorien + "categoriesOpen": "Ouvrir les catégories", // Kategorien öffnen + "categoriesClose": "Fermer les catégories", // Kategorien schließen + "otherCategories": "Autres catégories" // Andere Kategorien +}; diff --git a/src/i18n/locales/fr/orders.js b/src/i18n/locales/fr/orders.js new file mode 100644 index 0000000..1339090 --- /dev/null +++ b/src/i18n/locales/fr/orders.js @@ -0,0 +1,23 @@ +export default { + "status": { + "new": "En cours", // in Bearbeitung + "pending": "Nouveau", // Neu + "processing": "En cours", // in Bearbeitung + "cancelled": "Annulé", // Storniert + "shipped": "Expédié", // Verschickt + "delivered": "Livré", // Geliefert + "return": "Retour", // Retoure + "partialReturn": "Retour partiel", // Teil Retoure + "partialDelivered": "Partiellement livré" // Teil geliefert + }, + "table": { + "orderNumber": "Numéro de commande", // Bestellnummer + "date": "Date", // Datum + "status": "Statut", // Status + "items": "Articles", // Artikel + "total": "Total", // Summe + "actions": "Actions", // Aktionen + "viewDetails": "Voir les détails" // Details anzeigen + }, + "noOrders": "Vous n'avez encore passé aucune commande." // Sie haben noch keine Bestellungen aufgegeben. +}; diff --git a/src/i18n/locales/fr/pages.js b/src/i18n/locales/fr/pages.js new file mode 100644 index 0000000..1bb9f50 --- /dev/null +++ b/src/i18n/locales/fr/pages.js @@ -0,0 +1,10 @@ +export default { + "oilPress": { + "title": "Emprunter une presse à huile", // Ölpresse ausleihen + "comingSoon": "Contenu à venir...", // Inhalt kommt bald... + }, + "thcTest": { + "title": "Test de THC", // THC Test + "comingSoon": "Contenu à venir...", // Inhalt kommt bald... + } +}; diff --git a/src/i18n/locales/fr/payment.js b/src/i18n/locales/fr/payment.js new file mode 100644 index 0000000..f249751 --- /dev/null +++ b/src/i18n/locales/fr/payment.js @@ -0,0 +1,8 @@ +export default { + "successful": "Paiement réussi !", // Zahlung erfolgreich! + "failed": "Paiement échoué", // Zahlung fehlgeschlagen + "orderCompleted": "🎉 Votre commande a été complétée avec succès ! Vous pouvez maintenant consulter vos commandes.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. + "orderProcessing": "Votre paiement a été traité avec succès. La commande sera complétée automatiquement.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. + "paymentError": "Votre paiement n'a pas pu être traité. Veuillez réessayer ou choisir un autre mode de paiement.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. + "viewOrders": "Aller à mes commandes" // Zu meinen Bestellungen +}; diff --git a/src/i18n/locales/fr/product.js b/src/i18n/locales/fr/product.js new file mode 100644 index 0000000..8095697 --- /dev/null +++ b/src/i18n/locales/fr/product.js @@ -0,0 +1,32 @@ +export default { + "loading": "Chargement du produit...", // Produkt wird geladen... + "notFound": "Produit non trouvé", // Produkt nicht gefunden + "notFoundDescription": "Le produit que vous recherchez n'existe pas ou a été supprimé.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. + "backToHome": "Retour à la page d'accueil", // Zurück zur Startseite + "error": "Erreur", // Fehler + "articleNumber": "Numéro d'article", // Artikelnummer + "manufacturer": "Fabricant", // Hersteller + "inclVat": "TTC {{vat}}%", // inkl. {{vat}}% MwSt. + "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} + "new": "Nouveau", // Neu + "weeks": "semaines", // Wochen + "arriving": "Arrivée :", // Ankunft: + "inclVatFooter": "TTC {{vat}}%,*", // inkl. {{vat}}% MwSt.,* + "availability": "Disponibilité", // Verfügbarkeit + "inStock": "en stock", // auf Lager + "comingSoon": "Bientôt disponible", // Bald verfügbar + "deliveryTime": "Délai de livraison", // Lieferzeit + "inclShort": "TTC", // inkl. + "vatShort": "TVA", // MwSt. + "countDisplay": { + "noProducts": "0 produit", // 0 Produkte + "oneProduct": "1 produit", // 1 Produkt + "multipleProducts": "{{count}} produits", // {{count}} Produkte + "filteredProducts": "{{filtered}} sur {{total}} produits", // {{filtered}} von {{total}} Produkten + "filteredOneProduct": "{{filtered}} sur 1 produit", // {{filtered}} von 1 Produkt + "xOfYProducts": "{{x}} sur {{y}} produits" // {{x}} von {{y}} Produkten + }, + "removeFiltersToSee": "Supprimez les filtres pour voir les produits", // Entferne Filter um Produkte zu sehen + "outOfStock": "Rupture de stock", // Out of Stock + "fromXProducts": "à partir de {{count}} produits" // ab {{count}} Produkten +}; diff --git a/src/i18n/locales/fr/search.js b/src/i18n/locales/fr/search.js new file mode 100644 index 0000000..8564bbb --- /dev/null +++ b/src/i18n/locales/fr/search.js @@ -0,0 +1,5 @@ +export default { + "placeholder": "Vous pouvez me demander des informations sur les variétés de cannabis...", // Du kannst mich nach Cannabissorten fragen... + "recording": "Enregistrement en cours...", // Aufnahme läuft... + "searchProducts": "Rechercher des produits...", // Produkte suchen... +}; diff --git a/src/i18n/locales/fr/sections.js b/src/i18n/locales/fr/sections.js new file mode 100644 index 0000000..a913a5a --- /dev/null +++ b/src/i18n/locales/fr/sections.js @@ -0,0 +1,8 @@ +export default { + "seeds": "Graines", // Seeds + "stecklinge": "Boutures", // Stecklinge + "oilPress": "Emprunter une presse à huile", // Ölpresse ausleihen + "thcTest": "Test THC", // THC Test + "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 + "address2": "01129 Dresden" // 01129 Dresden +}; diff --git a/src/i18n/locales/fr/settings.js b/src/i18n/locales/fr/settings.js new file mode 100644 index 0000000..fbf9bdc --- /dev/null +++ b/src/i18n/locales/fr/settings.js @@ -0,0 +1,34 @@ +export default { + "changePassword": "Changer le mot de passe", // Passwort ändern + "currentPassword": "Mot de passe actuel", // Aktuelles Passwort + "newPassword": "Nouveau mot de passe", // Neues Passwort + "confirmNewPassword": "Confirmer le nouveau mot de passe", // Neues Passwort bestätigen + "updatePassword": "Mettre à jour le mot de passe", // Passwort aktualisieren + "changeEmail": "Changer l'adresse e-mail", // E-Mail-Adresse ändern + "password": "Mot de passe", // Passwort + "newEmail": "Nouvelle adresse e-mail", // Neue E-Mail-Adresse + "updateEmail": "Mettre à jour l'e-mail", // E-Mail aktualisieren + "apiKey": "Clé API", // API-Schlüssel + "apiKeyDescription": "Utilisez votre clé API pour l'intégration avec des applications externes.", // Verwenden Sie Ihren API-Schlüssel für die Integration mit externen Anwendungen. + "apiDocumentation": "Documentation API :", // API-Dokumentation: + "copyToClipboard": "Copier dans le presse-papiers", // In Zwischenablage kopieren + "generate": "Générer", // Generieren + "regenerate": "Régénérer", // Regenerieren + "apiKeyCopied": "Clé API copiée dans le presse-papiers", // API-Schlüssel in Zwischenablage kopiert + "errors": { + "fillAllFields": "Veuillez remplir tous les champs", // Bitte füllen Sie alle Felder aus + "passwordsNotMatch": "Les nouveaux mots de passe ne correspondent pas", // Die neuen Passwörter stimmen nicht überein + "passwordTooShort": "Le nouveau mot de passe doit contenir au moins 8 caractères", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "passwordUpdateError": "Erreur lors de la mise à jour du mot de passe", // Fehler beim Aktualisieren des Passworts + "invalidEmail": "Veuillez saisir une adresse e-mail valide", // Bitte geben Sie eine gültige E-Mail-Adresse ein + "emailUpdateError": "Erreur lors de la mise à jour de l'adresse e-mail", // Fehler beim Aktualisieren der E-Mail-Adresse + "userNotFound": "Utilisateur non trouvé", // Benutzer nicht gefunden + "apiKeyGenerationError": "Erreur lors de la génération de la clé API" // Fehler beim Generieren des API-Schlüssels + }, + "success": { + "passwordUpdated": "Mot de passe mis à jour avec succès", // Passwort erfolgreich aktualisiert + "emailUpdated": "Adresse e-mail mise à jour avec succès", // E-Mail-Adresse erfolgreich aktualisiert + "apiKeyGenerated": "Clé API générée avec succès", // API-Schlüssel erfolgreich generiert + "apiKeyWarning": "Conservez cette clé en lieu sûr. Pour des raisons de sécurité, elle sera masquée dans 10 secondes." // Speichern Sie diesen Schlüssel sicher. Er wird aus Sicherheitsgründen in 10 Sekunden ausgeblendet. + } +}; diff --git a/src/i18n/locales/fr/sorting.js b/src/i18n/locales/fr/sorting.js new file mode 100644 index 0000000..9524eb3 --- /dev/null +++ b/src/i18n/locales/fr/sorting.js @@ -0,0 +1,6 @@ +export default { + "name": "Nom", // Name + "searchField": "Terme de recherche", // Suchbegriff + "priceLowHigh": "Prix : du plus bas au plus élevé", // Preis: Niedrig zu Hoch + "priceHighLow": "Prix : du plus élevé au plus bas" // Preis: Hoch zu Niedrig +}; diff --git a/src/i18n/locales/fr/tax.js b/src/i18n/locales/fr/tax.js new file mode 100644 index 0000000..b56d911 --- /dev/null +++ b/src/i18n/locales/fr/tax.js @@ -0,0 +1,12 @@ +export default { + "vat": "Taxe sur la valeur ajoutée", // Mehrwertsteuer + "vat7": "Taxe sur la valeur ajoutée de 7%", // 7% Mehrwertsteuer + "vat19": "Taxe sur la valeur ajoutée de 19%", // 19% Mehrwertsteuer + "vat19WithShipping": "Taxe sur la valeur ajoutée de 19% (incl. frais de port)", // 19% Mehrwertsteuer (inkl. Versand) + "totalNet": "Prix total net", // Gesamtnettopreis + "totalGross": "Prix total brut sans frais de port", // Gesamtbruttopreis ohne Versand + "subtotal": "Sous-total", // Zwischensumme + "incl7Vat": "incl. TVA à 7%", // inkl. 7% MwSt. + "inclVatWithFooter": "(incl. {{vat}}% TVA,*)", // (incl. {{vat}}% USt.,*) + "inclVatAmount": "incl. {{amount}} € TVA ({{rate}}%)" // nkl. {{amount}} € MwSt. ({{rate}}%) +}; diff --git a/src/i18n/locales/fr/titles.js b/src/i18n/locales/fr/titles.js new file mode 100644 index 0000000..2773f90 --- /dev/null +++ b/src/i18n/locales/fr/titles.js @@ -0,0 +1,5 @@ +export default { + "home": "Graines et boutures de cannabis de qualité", // Fine Cannabis Seeds & Cuttings + "aktionen": "Promotions et offres en cours", // Aktuelle Aktionen & Angebote + "filiale": "Notre magasin à Dresde" // Unsere Filiale in Dresden +}; diff --git a/src/i18n/locales/fr/translation.js b/src/i18n/locales/fr/translation.js index bfc57fb..820476a 100644 --- a/src/i18n/locales/fr/translation.js +++ b/src/i18n/locales/fr/translation.js @@ -1,231 +1,3 @@ -export default { - "locale": { - "code": "fr-FR" // de-DE - }, - "navigation": { - "home": "Accueil", // Startseite - "aktionen": "Promotions", // Aktionen - "filiale": "Agence", // Filiale - "categories": "Catégories", // Kategorien - "categoriesOpen": "Ouvrir les catégories", // Kategorien öffnen - "categoriesClose": "Fermer les catégories", // Kategorien schließen - "otherCategories": "Autres catégories" // Andere Kategorien - }, - "auth": { - "login": "Connexion", // Anmelden - "register": "Inscription", // Registrieren - "logout": "Déconnexion", // Abmelden - "profile": "Profil", // Profil - "email": "Email", // E-Mail - "password": "Mot de passe", // Passwort - "confirmPassword": "Confirmer le mot de passe", // Passwort bestätigen - "forgotPassword": "Mot de passe oublié ?", // Passwort vergessen? - "loginWithGoogle": "Se connecter avec Google", // Mit Google anmelden - "or": "OU", // ODER - "privacyAccept": "En cliquant sur \"Se connecter avec Google\", j'accepte la", // Mit dem Click auf \"Mit Google anmelden\" akzeptiere ich die - "privacyPolicy": "Politique de confidentialité", // Datenschutzbestimmungen - "passwordMinLength": "Le mot de passe doit contenir au moins 8 caractères", // Das Passwort muss mindestens 8 Zeichen lang sein - "newPasswordMinLength": "Le nouveau mot de passe doit contenir au moins 8 caractères", // Das neue Passwort muss mindestens 8 Zeichen lang sein - "menu": { - "profile": "Profil", // Profil - "checkout": "Paiement", // Bestellabschluss - "orders": "Commandes", // Bestellungen - "settings": "Paramètres", // Einstellungen - "adminDashboard": "Tableau de bord Admin", // Admin Dashboard - "adminUsers": "Utilisateurs Admin" // Admin Users - } - }, - "cart": { - "title": "Panier", // Warenkorb - "empty": "vide", // leer - "addToCart": "Ajouter au panier", // In den Korb - "preorderCutting": "Précommander en tant que bouture", // Als Steckling vorbestellen - "continueShopping": "Continuer vos achats", // Weiter einkaufen - "proceedToCheckout": "Passer à la caisse", // Weiter zur Kasse - "productCount": "{{count}} {{count, plural, one {Produit} other {Produits}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} - "removeFromCart": "Retirer du panier", // Aus dem Warenkorb entfernen - "openCart": "Ouvrir le panier", // Warenkorb öffnen - "availableFrom": "Disponible à partir du {{date}}", // Ab {{date}} - "backToOrder": "← Retour à la commande", // ← Zurück zur Bestellung - "sync": { - "title": "Synchronisation du panier", // Warenkorb-Synchronisierung - "description": "Vous avez un panier enregistré dans votre compte. Veuillez choisir comment vous souhaitez procéder :", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten: - "deleteServer": "Supprimer le panier serveur", // Server-Warenkorb löschen - "useServer": "Utiliser le panier serveur", // Server-Warenkorb übernehmen - "merge": "Fusionner les paniers", // Warenkörbe zusammenführen - "currentCart": "Votre panier actuel", // Ihr aktueller Warenkorb - "serverCart": "Panier enregistré dans votre profil" // In Ihrem Profil gespeicherter Warenkorb - } - }, - "product": { - "loading": "Chargement du produit...", // Produkt wird geladen... - "notFound": "Produit non trouvé", // Produkt nicht gefunden - "notFoundDescription": "Le produit que vous recherchez n'existe pas ou a été supprimé.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. - "backToHome": "Retour à l'accueil", // Zurück zur Startseite - "error": "Erreur", // Fehler - "articleNumber": "Numéro d'article", // Artikelnummer - "manufacturer": "Fabricant", // Hersteller - "inclVat": "TTC {{vat}}%", // inkl. {{vat}}% MwSt. - "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} - "new": "Nouveau", // Neu - "arriving": "Arrivée :", // Ankunft: - "inclVatFooter": "TTC {{vat}}%,*", // incl. {{vat}}% USt.,* - "availability": "Disponibilité", // Verfügbarkeit - "inStock": "en stock", // auf Lager - "comingSoon": "Bientôt disponible", // Bald verfügbar - "deliveryTime": "Délai de livraison", // Lieferzeit - "inclShort": "TTC", // inkl. - "vatShort": "TVA", // MwSt. - "countDisplay": { - "noProducts": "0 produit", // 0 Produkte - "oneProduct": "1 produit", // 1 Produkt - "multipleProducts": "{{count}} produits", // {{count}} Produkte - "filteredProducts": "{{filtered}} sur {{total}} produits", // {{filtered}} von {{total}} Produkten - "filteredOneProduct": "{{filtered}} sur 1 produit" // {{filtered}} von 1 Produkt - }, - "removeFiltersToSee": "Supprimez les filtres pour voir les produits", // Entferne Filter um Produkte zu sehen - "outOfStock": "Rupture de stock", // Out of Stock - "fromXProducts": "à partir de {{count}} produits" // ab {{count}} Produkten - }, - "search": { - "placeholder": "Vous pouvez me demander des variétés de cannabis...", // Du kannst mich nach Cannabissorten fragen... - "recording": "Enregistrement...", // Aufnahme läuft... - "searchProducts": "Rechercher des produits..." // Produkte suchen... - }, - "sorting": { - "name": "Nom", // Name - "searchField": "Terme de recherche", // Suchbegriff - "priceLowHigh": "Prix : du plus bas au plus élevé", // Preis: Niedrig zu Hoch - "priceHighLow": "Prix : du plus élevé au plus bas" // Preis: Hoch zu Niedrig - }, - "chat": { - "privacyRead": "Lu & Accepté" // Gelesen & Akzeptiert - }, - "delivery": { - "methods": { - "dhl": "DHL", // DHL - "dpd": "DPD", // DPD - "sperrgut": "Marchandises volumineuses", // Sperrgut - "pickup": "Retrait en agence" // Abholung in der Filiale - }, - "descriptions": { - "standard": "Livraison standard", // Standardversand - "standardFree": "Livraison standard - GRATUITE à partir de 100€ d'achat !", // Standardversand - KOSTENLOS ab 100€ Warenwert! - "notAvailable": "Non sélectionnable car un ou plusieurs articles ne peuvent être que retirés", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können - "bulky": "Pour les articles volumineux et lourds" // Für große und schwere Artikel - }, - "prices": { - "free": "gratuit", // kostenlos - "freeFrom100": "(gratuit à partir de 100€)", // (kostenlos ab 100€) - "dhl": "6,99 €", // 6,99 € - "dpd": "4,90 €", // 4,90 € - "sperrgut": "28,99 €" // 28,99 € - }, - "times": { - "cutting14Days": "Délai de livraison : 14 jours", // Lieferzeit: 14 Tage - "standard2to3Days": "Délai de livraison : 2-3 jours", // Lieferzeit: 2-3 Tage - "supplier7to9Days": "Délai de livraison : 7-9 jours" // Lieferzeit: 7-9 Tage - } - }, - "checkout": { - "invoiceAddress": "Adresse de facturation", // Rechnungsadresse - "deliveryAddress": "Adresse de livraison", // Lieferadresse - "saveForFuture": "Enregistrer pour les commandes futures", // Für zukünftige Bestellungen speichern - "pickupDate": "Pour quelle date souhaitez-vous retirer les boutures ?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht? - "note": "Note", // Anmerkung - "sameAddress": "L'adresse de livraison est identique à l'adresse de facturation", // Lieferadresse ist identisch mit Rechnungsadresse - "termsAccept": "J'ai lu les Conditions Générales, la Politique de Confidentialité et les informations sur le droit de rétractation" // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen - }, - "payment": { - "successful": "Paiement réussi !", // Zahlung erfolgreich! - "failed": "Paiement échoué", // Zahlung fehlgeschlagen - "orderCompleted": "🎉 Votre commande a été complétée avec succès ! Vous pouvez maintenant consulter vos commandes.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. - "orderProcessing": "Votre paiement a été traité avec succès. La commande sera automatiquement finalisée.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. - "paymentError": "Votre paiement n'a pas pu être traité. Veuillez réessayer ou choisir un autre mode de paiement.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. - "viewOrders": "Voir mes commandes" // Zu meinen Bestellungen - }, - "filters": { - "sorting": "Tri", // Sortierung - "perPage": "par page", // pro Seite - "availability": "Disponibilité", // Verfügbarkeit - "manufacturer": "Fabricant" // Hersteller - }, - "tax": { - "vat": "Taxe sur la valeur ajoutée", // Mehrwertsteuer - "vat7": "Taxe sur la valeur ajoutée de 7%", // 7% Mehrwertsteuer - "vat19": "Taxe sur la valeur ajoutée de 19%", // 19% Mehrwertsteuer - "vat19WithShipping": "Taxe sur la valeur ajoutée de 19% (frais de port inclus)", // 19% Mehrwertsteuer (inkl. Versand) - "totalNet": "Prix total net", // Gesamtnettopreis - "totalGross": "Prix total brut hors frais de port", // Gesamtbruttopreis ohne Versand - "subtotal": "Sous-total" // Zwischensumme - }, - "footer": { - "hours": "Sam 11-19", // Sa 11-19 - "address": "Trachenberger Straße 14 - Dresde", // Trachenberger Straße 14 - Dresden - "location": "Entre l'arrêt Pieschen et Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz - "allPricesIncl": "* Tous les prix incluent la TVA légale, frais de port en sus", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand - "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de - "legal": { - "datenschutz": "Confidentialité", // Datenschutz - "agb": "Conditions générales", // AGB - "sitemap": "Plan du site", // Sitemap - "impressum": "Mentions légales", // Impressum - "batteriegesetzhinweise": "Notes sur la loi sur les batteries", // Batteriegesetzhinweise - "widerrufsrecht": "Droit de rétractation" // Widerrufsrecht - } - }, - "titles": { - "home": "Graines & Boutures de Cannabis de Qualité", // Fine Cannabis Seeds & Cuttings (the text in the string has special characters, translate using the comment) - "aktionen": "Promotions & Offres en cours", // Aktuelle Aktionen & Angebote (the text in the string has special characters, translate using the comment) - "filiale": "Notre agence à Dresde" // Unsere Filiale in Dresden (the text in the string has special characters, translate using the comment) - }, - "sections": { - "seeds": "Graines", // Seeds - "stecklinge": "Boutures", // Stecklinge - "oilPress": "Emprunter une presse à huile", // Ölpresse ausleihen - "thcTest": "Test THC", // THC Test - "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 - "address2": "01129 Dresde" // 01129 Dresden - }, - "pages": { - "oilPress": { - "title": "Emprunter une presse à huile", // Ölpresse ausleihen - "comingSoon": "Contenu à venir..." // Inhalt kommt bald... - }, - "thcTest": { - "title": "Test THC", // THC Test - "comingSoon": "Contenu à venir..." // Inhalt kommt bald... - } - }, - "orders": { - "status": { - "new": "En traitement", // in Bearbeitung - "pending": "Nouveau", // Neu - "processing": "En traitement", // in Bearbeitung - "cancelled": "Annulé", // Storniert - "shipped": "Expédié", // Verschickt - "delivered": "Livré", // Geliefert - "return": "Retour", // Retoure - "partialReturn": "Retour partiel", // Teil Retoure - "partialDelivered": "Partiellement livré" // Teil geliefert - } - }, - "common": { - "loading": "Chargement...", // Lädt... - "error": "Erreur", // Fehler - "close": "Fermer", // Schließen - "save": "Enregistrer", // Speichern - "cancel": "Annuler", // Abbrechen - "ok": "OK", // OK - "yes": "Oui", // Ja - "no": "Non", // Nein - "next": "Suivant", // Weiter - "back": "Retour", // Zurück - "edit": "Modifier", // Bearbeiten - "delete": "Supprimer", // Löschen - "add": "Ajouter", // Hinzufügen - "remove": "Retirer", // Entfernen - "products": "Produits", // Produkte - "product": "Produit" // Produkt - } -}; +import translations from './index.js'; + +export default translations; \ No newline at end of file diff --git a/src/i18n/locales/hr/auth.js b/src/i18n/locales/hr/auth.js new file mode 100644 index 0000000..f742f34 --- /dev/null +++ b/src/i18n/locales/hr/auth.js @@ -0,0 +1,25 @@ +export default { + "login": "Prijava", // Anmelden + "register": "Registracija", // Registrieren + "logout": "Odjava", // Abmelden + "profile": "Profil", // Profil + "email": "Email", // E-Mail + "password": "Lozinka", // Passwort + "confirmPassword": "Potvrdi lozinku", // Passwort bestätigen + "forgotPassword": "Zaboravili ste lozinku?", // Passwort vergessen? + "loginWithGoogle": "Prijavite se putem Googlea", // Mit Google anmelden + "or": "ILI", // ODER + "privacyAccept": "Klikom na \"Prijavite se putem Googlea\" prihvaćam", // Mit dem Click auf "Mit Google anmelden" akzeptiere ich die + "privacyPolicy": "Pravila privatnosti", // Datenschutzbestimmungen + "passwordMinLength": "Lozinka mora imati najmanje 8 znakova", // Das Passwort muss mindestens 8 Zeichen lang sein + "newPasswordMinLength": "Nova lozinka mora imati najmanje 8 znakova", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "menu": { + "profile": "Profil", // Profil + "myProfile": "Moj profil", // Mein Profil + "checkout": "Završi kupnju", // Bestellabschluss + "orders": "Narudžbe", // Bestellungen + "settings": "Postavke", // Einstellungen + "adminDashboard": "Admin nadzorna ploča", // Admin Dashboard + "adminUsers": "Admin korisnici" // Admin Users + } +}; diff --git a/src/i18n/locales/hr/cart.js b/src/i18n/locales/hr/cart.js new file mode 100644 index 0000000..7cd8aaa --- /dev/null +++ b/src/i18n/locales/hr/cart.js @@ -0,0 +1,24 @@ +export default { + "title": "Košarica", // Warenkorb + "empty": "prazno", // leer + "addToCart": "Dodaj u košaricu", // In den Korb + "preorderCutting": "Prednaruči kao reznicu", // Als Steckling vorbestellen + "continueShopping": "Nastavi kupovati", // Weiter einkaufen + "proceedToCheckout": "Nastavi na blagajnu", // Weiter zur Kasse + "productCount": "{{count}} {{count, plural, one {proizvod} other {proizvoda}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} + "productSingular": "proizvod", // Produkt + "productPlural": "proizvoda", // Produkte + "removeFromCart": "Ukloni iz košarice", // Aus dem Warenkorb entfernen + "openCart": "Otvori košaricu", // Warenkorb öffnen + "availableFrom": "Dostupno od {{date}}", // Ab {{date}} + "backToOrder": "← Natrag na narudžbu", // ← Zurück zur Bestellung + "sync": { + "title": "Sinkronizacija košarice", // Warenkorb-Synchronisierung + "description": "Imate spremljenu košaricu na svom računu. Molimo odaberite kako želite nastaviti:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten: + "deleteServer": "Izbriši košaricu na serveru", // Server-Warenkorb löschen + "useServer": "Koristi košaricu sa servera", // Server-Warenkorb übernehmen + "merge": "Spoji košarice", // Warenkörbe zusammenführen + "currentCart": "Vaša trenutna košarica", // Ihr aktueller Warenkorb + "serverCart": "Košarica spremljena u vašem profilu" // In Ihrem Profil gespeicherter Warenkorb + } +}; diff --git a/src/i18n/locales/hr/chat.js b/src/i18n/locales/hr/chat.js new file mode 100644 index 0000000..1eb1221 --- /dev/null +++ b/src/i18n/locales/hr/chat.js @@ -0,0 +1,3 @@ +export default { + "privacyRead": "Pročitano i prihvaćeno", // Gelesen & Akzeptiert +}; diff --git a/src/i18n/locales/hr/checkout.js b/src/i18n/locales/hr/checkout.js new file mode 100644 index 0000000..791ad4d --- /dev/null +++ b/src/i18n/locales/hr/checkout.js @@ -0,0 +1,13 @@ +export default { + "invoiceAddress": "Adresa za račun", // Rechnungsadresse + "deliveryAddress": "Adresa za dostavu", // Lieferadresse + "saveForFuture": "Spremi za buduće narudžbe", // Für zukünftige Bestellungen speichern + "pickupDate": "Za koji datum je željeno preuzimanje reznica?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht? + "note": "Napomena", // Anmerkung + "sameAddress": "Adresa za dostavu je ista kao adresa za račun", // Lieferadresse ist identisch mit Rechnungsadresse + "termsAccept": "Pročitao/la sam uvjete korištenja, politiku privatnosti i odredbe o pravu na odustajanje", // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen + "selectDeliveryMethod": "Odaberite način dostave", // Versandart wählen + "selectPaymentMethod": "Odaberite način plaćanja", // Zahlungsart wählen + "orderSummary": "Sažetak narudžbe", // Bestellübersicht + "addressValidationError": "Molimo provjerite unose u poljima za adresu." // Bitte überprüfen Sie Ihre Eingaben in den Adressfeldern. +}; diff --git a/src/i18n/locales/hr/common.js b/src/i18n/locales/hr/common.js new file mode 100644 index 0000000..696c9a6 --- /dev/null +++ b/src/i18n/locales/hr/common.js @@ -0,0 +1,19 @@ +export default { + "loading": "Učitavanje...", // Lädt... + "error": "Greška", // Fehler + "close": "Zatvori", // Schließen + "save": "Spremi", // Speichern + "cancel": "Odustani", // Abbrechen + "ok": "OK", // OK + "yes": "Da", // Ja + "no": "Ne", // Nein + "next": "Dalje", // Weiter + "back": "Natrag", // Zurück + "edit": "Uredi", // Bearbeiten + "delete": "Izbriši", // Löschen + "add": "Dodaj", // Hinzufügen + "remove": "Ukloni", // Entfernen + "products": "Proizvodi", // Produkte + "product": "Proizvod", // Produkt + "days": "Dani" // Tage +}; diff --git a/src/i18n/locales/hr/delivery.js b/src/i18n/locales/hr/delivery.js new file mode 100644 index 0000000..a33948b --- /dev/null +++ b/src/i18n/locales/hr/delivery.js @@ -0,0 +1,27 @@ +export default { + "methods": { + "dhl": "DHL", // DHL + "dpd": "DPD", // DPD + "sperrgut": "Glomazna roba", // Sperrgut + "pickup": "Preuzimanje u trgovini" // Abholung in der Filiale + }, + "descriptions": { + "standard": "Standardna dostava", // Standardversand + "standardFree": "Standardna dostava - BESPLATNO za narudžbe iznad 100€!", // Standardversand - KOSTENLOS ab 100€ Warenwert! + "notAvailable": "Nije moguće odabrati jer jedan ili više artikala može biti samo preuzeto", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können + "bulky": "Za velike i teške artikle", // Für große und schwere Artikel + "pickupOnly": "Samo preuzimanje" // nur Abholung + }, + "prices": { + "free": "besplatno", // kostenlos + "freeFrom100": "(besplatno od 100€)", // (kostenlos ab 100€) + "dhl": "6,99 €", // 6,99 € + "dpd": "4,90 €", // 4,90 € + "sperrgut": "28,99 €" // 28,99 € + }, + "times": { + "cutting14Days": "Vrijeme isporuke: 14 dana", // Lieferzeit: 14 Tage + "standard2to3Days": "Vrijeme isporuke: 2-3 dana", // Lieferzeit: 2-3 Tage + "supplier7to9Days": "Vrijeme isporuke: 7-9 dana" // Lieferzeit: 7-9 Tage + } +}; diff --git a/src/i18n/locales/hr/filters.js b/src/i18n/locales/hr/filters.js new file mode 100644 index 0000000..d4a77e9 --- /dev/null +++ b/src/i18n/locales/hr/filters.js @@ -0,0 +1,7 @@ +export default { + "sorting": "Sortiranje", // Sortierung + "perPage": "po stranici", // pro Seite + "availability": "Dostupnost", // Verfügbarkeit + "manufacturer": "Proizvođač", // Hersteller + "all": "Sve", // Alle +}; diff --git a/src/i18n/locales/hr/footer.js b/src/i18n/locales/hr/footer.js new file mode 100644 index 0000000..97955a8 --- /dev/null +++ b/src/i18n/locales/hr/footer.js @@ -0,0 +1,15 @@ +export default { + "hours": "Sub 11-19", // Sa 11-19 + "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden + "location": "Između stanice Pieschen i Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz + "allPricesIncl": "* Sve cijene uključuju zakonski PDV, plus dostava", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand + "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de + "legal": { + "datenschutz": "Pravila privatnosti", // Datenschutz + "agb": "Uvjeti i odredbe", // AGB + "sitemap": "Karta web-mjesta", // Sitemap + "impressum": "Pravni podaci", // Impressum + "batteriegesetzhinweise": "Informacije o zakonu o baterijama", // Batteriegesetzhinweise + "widerrufsrecht": "Pravo na povrat" // Widerrufsrecht + } +}; diff --git a/src/i18n/locales/hr/index.js b/src/i18n/locales/hr/index.js new file mode 100644 index 0000000..1dd359f --- /dev/null +++ b/src/i18n/locales/hr/index.js @@ -0,0 +1,43 @@ +import locale from './locale.js'; +import navigation from './navigation.js'; +import auth from './auth.js'; +import cart from './cart.js'; +import product from './product.js'; +import search from './search.js'; +import sorting from './sorting.js'; +import chat from './chat.js'; +import delivery from './delivery.js'; +import checkout from './checkout.js'; +import payment from './payment.js'; +import filters from './filters.js'; +import tax from './tax.js'; +import footer from './footer.js'; +import titles from './titles.js'; +import sections from './sections.js'; +import pages from './pages.js'; +import orders from './orders.js'; +import settings from './settings.js'; +import common from './common.js'; + +export default { + "locale": locale, + "navigation": navigation, + "auth": auth, + "cart": cart, + "product": product, + "search": search, + "sorting": sorting, + "chat": chat, + "delivery": delivery, + "checkout": checkout, + "payment": payment, + "filters": filters, + "tax": tax, + "footer": footer, + "titles": titles, + "sections": sections, + "pages": pages, + "orders": orders, + "settings": settings, + "common": common +}; \ No newline at end of file diff --git a/src/i18n/locales/hr/locale.js b/src/i18n/locales/hr/locale.js new file mode 100644 index 0000000..ea8daaf --- /dev/null +++ b/src/i18n/locales/hr/locale.js @@ -0,0 +1,3 @@ +export default { + "code": "hr-HR" // de-DE +}; diff --git a/src/i18n/locales/hr/navigation.js b/src/i18n/locales/hr/navigation.js new file mode 100644 index 0000000..2e9d0a6 --- /dev/null +++ b/src/i18n/locales/hr/navigation.js @@ -0,0 +1,9 @@ +export default { + "home": "Početna", // Startseite + "aktionen": "Promocije", // Aktionen + "filiale": "Podružnica", // Filiale + "categories": "Kategorije", // Kategorien + "categoriesOpen": "Otvori kategorije", // Kategorien öffnen + "categoriesClose": "Zatvori kategorije", // Kategorien schließen + "otherCategories": "Ostale kategorije" // Andere Kategorien +}; diff --git a/src/i18n/locales/hr/orders.js b/src/i18n/locales/hr/orders.js new file mode 100644 index 0000000..7b6d88e --- /dev/null +++ b/src/i18n/locales/hr/orders.js @@ -0,0 +1,23 @@ +export default { + "status": { + "new": "U tijeku", // in Bearbeitung + "pending": "Novo", // Neu + "processing": "U tijeku", // in Bearbeitung + "cancelled": "Otkazano", // Storniert + "shipped": "Poslano", // Verschickt + "delivered": "Isporučeno", // Geliefert + "return": "Povrat", // Retoure + "partialReturn": "Djelomični povrat", // Teil Retoure + "partialDelivered": "Djelomično isporučeno" // Teil geliefert + }, + "table": { + "orderNumber": "Broj narudžbe", // Bestellnummer + "date": "Datum", // Datum + "status": "Status", // Status + "items": "Artikli", // Artikel + "total": "Ukupno", // Summe + "actions": "Radnje", // Aktionen + "viewDetails": "Pogledaj detalje" // Details anzeigen + }, + "noOrders": "Još niste izvršili nijednu narudžbu." // Sie haben noch keine Bestellungen aufgegeben. +}; diff --git a/src/i18n/locales/hr/pages.js b/src/i18n/locales/hr/pages.js new file mode 100644 index 0000000..9d1a411 --- /dev/null +++ b/src/i18n/locales/hr/pages.js @@ -0,0 +1,10 @@ +export default { + "oilPress": { + "title": "Posudi prešu za ulje", // Ölpresse ausleihen + "comingSoon": "Sadržaj uskoro dolazi...", // Inhalt kommt bald... + }, + "thcTest": { + "title": "THC test", // THC Test + "comingSoon": "Sadržaj uskoro dolazi...", // Inhalt kommt bald... + } +}; diff --git a/src/i18n/locales/hr/payment.js b/src/i18n/locales/hr/payment.js new file mode 100644 index 0000000..3e2aadf --- /dev/null +++ b/src/i18n/locales/hr/payment.js @@ -0,0 +1,8 @@ +export default { + "successful": "Plaćanje uspješno!", // Zahlung erfolgreich! + "failed": "Plaćanje nije uspjelo", // Zahlung fehlgeschlagen + "orderCompleted": "🎉 Vaša narudžba je uspješno dovršena! Sada možete pregledati svoje narudžbe.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. + "orderProcessing": "Vaša uplata je uspješno obrađena. Narudžba će biti automatski dovršena.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. + "paymentError": "Vaša uplata nije mogla biti obrađena. Molimo pokušajte ponovno ili odaberite drugi način plaćanja.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. + "viewOrders": "Idi na moje narudžbe" // Zu meinen Bestellungen +}; diff --git a/src/i18n/locales/hr/product.js b/src/i18n/locales/hr/product.js new file mode 100644 index 0000000..a7ce8cf --- /dev/null +++ b/src/i18n/locales/hr/product.js @@ -0,0 +1,32 @@ +export default { + "loading": "Učitavanje proizvoda...", // Produkt wird geladen... + "notFound": "Proizvod nije pronađen", // Produkt nicht gefunden + "notFoundDescription": "Proizvod koji tražite ne postoji ili je uklonjen.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. + "backToHome": "Natrag na početnu stranicu", // Zurück zur Startseite + "error": "Greška", // Fehler + "articleNumber": "Broj artikla", // Artikelnummer + "manufacturer": "Proizvođač", // Hersteller + "inclVat": "uključujući {{vat}}% PDV-a", // inkl. {{vat}}% MwSt. + "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} + "new": "Novo", // Neu + "weeks": "tjedana", // Wochen + "arriving": "Dolazak:", // Ankunft: + "inclVatFooter": "uključujući {{vat}}% PDV-a,*", // inkl. {{vat}}% MwSt.,* + "availability": "Dostupnost", // Verfügbarkeit + "inStock": "na skladištu", // auf Lager + "comingSoon": "Uskoro dostupno", // Bald verfügbar + "deliveryTime": "Vrijeme isporuke", // Lieferzeit + "inclShort": "uklj.", // inkl. + "vatShort": "PDV", // MwSt. + "countDisplay": { + "noProducts": "0 proizvoda", // 0 Produkte + "oneProduct": "1 proizvod", // 1 Produkt + "multipleProducts": "{{count}} proizvoda", // {{count}} Produkte + "filteredProducts": "{{filtered}} od {{total}} proizvoda", // {{filtered}} von {{total}} Produkten + "filteredOneProduct": "{{filtered}} od 1 proizvoda", // {{filtered}} von 1 Produkt + "xOfYProducts": "{{x}} od {{y}} proizvoda" // {{x}} von {{y}} Produkten + }, + "removeFiltersToSee": "Uklonite filtere da vidite proizvode", // Entferne Filter um Produkte zu sehen + "outOfStock": "Nema na skladištu", // Out of Stock + "fromXProducts": "od {{count}} proizvoda" // ab {{count}} Produkten +}; diff --git a/src/i18n/locales/hr/search.js b/src/i18n/locales/hr/search.js new file mode 100644 index 0000000..23b6f69 --- /dev/null +++ b/src/i18n/locales/hr/search.js @@ -0,0 +1,5 @@ +export default { + "placeholder": "Možete me pitati o sortama kanabisa...", // Du kannst mich nach Cannabissorten fragen... + "recording": "Snimanje u tijeku...", // Aufnahme läuft... + "searchProducts": "Pretraži proizvode...", // Produkte suchen... +}; diff --git a/src/i18n/locales/hr/sections.js b/src/i18n/locales/hr/sections.js new file mode 100644 index 0000000..6b0d412 --- /dev/null +++ b/src/i18n/locales/hr/sections.js @@ -0,0 +1,8 @@ +export default { + "seeds": "Sjemenke", // Seeds + "stecklinge": "Reznice", // Stecklinge + "oilPress": "Posuditi prešu za ulje", // Ölpresse ausleihen + "thcTest": "THC test", // THC Test + "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 + "address2": "01129 Dresden" // 01129 Dresden +}; diff --git a/src/i18n/locales/hr/settings.js b/src/i18n/locales/hr/settings.js new file mode 100644 index 0000000..dbc9fd9 --- /dev/null +++ b/src/i18n/locales/hr/settings.js @@ -0,0 +1,34 @@ +export default { + "changePassword": "Promijeni lozinku", // Passwort ändern + "currentPassword": "Trenutna lozinka", // Aktuelles Passwort + "newPassword": "Nova lozinka", // Neues Passwort + "confirmNewPassword": "Potvrdi novu lozinku", // Neues Passwort bestätigen + "updatePassword": "Ažuriraj lozinku", // Passwort aktualisieren + "changeEmail": "Promijeni adresu e-pošte", // E-Mail-Adresse ändern + "password": "Lozinka", // Passwort + "newEmail": "Nova adresa e-pošte", // Neue E-Mail-Adresse + "updateEmail": "Ažuriraj e-poštu", // E-Mail aktualisieren + "apiKey": "API ključ", // API-Schlüssel + "apiKeyDescription": "Koristite svoj API ključ za integraciju s vanjskim aplikacijama.", // Verwenden Sie Ihren API-Schlüssel für die Integration mit externen Anwendungen. + "apiDocumentation": "API dokumentacija:", // API-Dokumentation: + "copyToClipboard": "Kopiraj u međuspremnik", // In Zwischenablage kopieren + "generate": "Generiraj", // Generieren + "regenerate": "Regeneriraj", // Regenerieren + "apiKeyCopied": "API ključ kopiran u međuspremnik", // API-Schlüssel in Zwischenablage kopiert + "errors": { + "fillAllFields": "Molimo ispunite sva polja", // Bitte füllen Sie alle Felder aus + "passwordsNotMatch": "Nove lozinke se ne podudaraju", // Die neuen Passwörter stimmen nicht überein + "passwordTooShort": "Nova lozinka mora imati najmanje 8 znakova", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "passwordUpdateError": "Pogreška pri ažuriranju lozinke", // Fehler beim Aktualisieren des Passworts + "invalidEmail": "Molimo unesite valjanu adresu e-pošte", // Bitte geben Sie eine gültige E-Mail-Adresse ein + "emailUpdateError": "Pogreška pri ažuriranju adrese e-pošte", // Fehler beim Aktualisieren der E-Mail-Adresse + "userNotFound": "Korisnik nije pronađen", // Benutzer nicht gefunden + "apiKeyGenerationError": "Pogreška pri generiranju API ključa" // Fehler beim Generieren des API-Schlüssels + }, + "success": { + "passwordUpdated": "Lozinka je uspješno ažurirana", // Passwort erfolgreich aktualisiert + "emailUpdated": "Adresa e-pošte je uspješno ažurirana", // E-Mail-Adresse erfolgreich aktualisiert + "apiKeyGenerated": "API ključ je uspješno generiran", // API-Schlüssel erfolgreich generiert + "apiKeyWarning": "Sigurno spremite ovaj ključ. Iz sigurnosnih razloga bit će skriven za 10 sekundi." // Speichern Sie diesen Schlüssel sicher. Er wird aus Sicherheitsgründen in 10 Sekunden ausgeblendet. + } +}; diff --git a/src/i18n/locales/hr/sorting.js b/src/i18n/locales/hr/sorting.js new file mode 100644 index 0000000..0c3d40a --- /dev/null +++ b/src/i18n/locales/hr/sorting.js @@ -0,0 +1,6 @@ +export default { + "name": "Ime", // Name + "searchField": "Pojam za pretraživanje", // Suchbegriff + "priceLowHigh": "Cijena: Od najniže do najviše", // Preis: Niedrig zu Hoch + "priceHighLow": "Cijena: Od najviše do najniže" // Preis: Hoch zu Niedrig +}; diff --git a/src/i18n/locales/hr/tax.js b/src/i18n/locales/hr/tax.js new file mode 100644 index 0000000..ad51dd9 --- /dev/null +++ b/src/i18n/locales/hr/tax.js @@ -0,0 +1,12 @@ +export default { + "vat": "Porez na dodanu vrijednost", // Mehrwertsteuer + "vat7": "7% poreza na dodanu vrijednost", // 7% Mehrwertsteuer + "vat19": "19% poreza na dodanu vrijednost", // 19% Mehrwertsteuer + "vat19WithShipping": "19% poreza na dodanu vrijednost (uključujući dostavu)", // 19% Mehrwertsteuer (inkl. Versand) + "totalNet": "Ukupna neto cijena", // Gesamtnettopreis + "totalGross": "Ukupna bruto cijena bez dostave", // Gesamtbruttopreis ohne Versand + "subtotal": "Međuzbroj", // Zwischensumme + "incl7Vat": "uključujući 7% PDV-a", // inkl. 7% MwSt. + "inclVatWithFooter": "(uključujući {{vat}}% PDV-a,*)", // (incl. {{vat}}% USt.,*) + "inclVatAmount": "uključujući {{amount}} € PDV-a ({{rate}}%)" // nkl. {{amount}} € MwSt. ({{rate}}%) +}; diff --git a/src/i18n/locales/hr/titles.js b/src/i18n/locales/hr/titles.js new file mode 100644 index 0000000..352ca7a --- /dev/null +++ b/src/i18n/locales/hr/titles.js @@ -0,0 +1,5 @@ +export default { + "home": "Kvalitetne sjemenke i reznice kanabisa", // Fine Cannabis Seeds & Cuttings + "aktionen": "Trenutne promocije i ponude", // Aktuelle Aktionen & Angebote + "filiale": "Naša trgovina u Dresdenu" // Unsere Filiale in Dresden +}; diff --git a/src/i18n/locales/hr/translation.js b/src/i18n/locales/hr/translation.js index c72eb7f..820476a 100644 --- a/src/i18n/locales/hr/translation.js +++ b/src/i18n/locales/hr/translation.js @@ -1,231 +1,3 @@ -export default { - "locale": { - "code": "hr-HR" // de-DE - }, - "navigation": { - "home": "Početna", // Startseite - "aktionen": "Promocije", // Aktionen - "filiale": "Podružnica", // Filiale - "categories": "Kategorije", // Kategorien - "categoriesOpen": "Otvori kategorije", // Kategorien öffnen - "categoriesClose": "Zatvori kategorije", // Kategorien schließen - "otherCategories": "Ostale kategorije" // Andere Kategorien - }, - "auth": { - "login": "Prijava", // Anmelden - "register": "Registracija", // Registrieren - "logout": "Odjava", // Abmelden - "profile": "Profil", // Profil - "email": "Email", // E-Mail - "password": "Lozinka", // Passwort - "confirmPassword": "Potvrdi lozinku", // Passwort bestätigen - "forgotPassword": "Zaboravili ste lozinku?", // Passwort vergessen? - "loginWithGoogle": "Prijavi se putem Googlea", // Mit Google anmelden - "or": "ILI", // ODER - "privacyAccept": "Klikom na \"Prijavi se putem Googlea\" prihvaćam", // Mit dem Click auf \"Mit Google anmelden\" akzeptiere ich die - "privacyPolicy": "Politiku privatnosti", // Datenschutzbestimmungen - "passwordMinLength": "Lozinka mora imati najmanje 8 znakova", // Das Passwort muss mindestens 8 Zeichen lang sein - "newPasswordMinLength": "Nova lozinka mora imati najmanje 8 znakova", // Das neue Passwort muss mindestens 8 Zeichen lang sein - "menu": { - "profile": "Profil", // Profil - "checkout": "Blagajna", // Bestellabschluss - "orders": "Narudžbe", // Bestellungen - "settings": "Postavke", // Einstellungen - "adminDashboard": "Administratorska ploča", // Admin Dashboard - "adminUsers": "Administratori" // Admin Users - } - }, - "cart": { - "title": "Košarica", // Warenkorb - "empty": "prazno", // leer - "addToCart": "Dodaj u košaricu", // In den Korb - "preorderCutting": "Prednaruči kao reznicu", // Als Steckling vorbestellen - "continueShopping": "Nastavi kupovati", // Weiter einkaufen - "proceedToCheckout": "Nastavi na blagajnu", // Weiter zur Kasse - "productCount": "{{count}} {{count, plural, one {Proizvod} other {Proizvoda}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} - "removeFromCart": "Ukloni iz košarice", // Aus dem Warenkorb entfernen - "openCart": "Otvori košaricu", // Warenkorb öffnen - "availableFrom": "Dostupno od {{date}}", // Ab {{date}} - "backToOrder": "← Nazad na narudžbu", // ← Zurück zur Bestellung - "sync": { - "title": "Sinkronizacija košarice", // Warenkorb-Synchronisierung - "description": "Imate spremljenu košaricu na svom računu. Molimo odaberite kako želite nastaviti:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten: - "deleteServer": "Izbriši košaricu na serveru", // Server-Warenkorb löschen - "useServer": "Koristi košaricu sa servera", // Server-Warenkorb übernehmen - "merge": "Spoji košarice", // Warenkörbe zusammenführen - "currentCart": "Vaša trenutna košarica", // Ihr aktueller Warenkorb - "serverCart": "Košarica spremljena u vašem profilu" // In Ihrem Profil gespeicherter Warenkorb - } - }, - "product": { - "loading": "Učitavanje proizvoda...", // Produkt wird geladen... - "notFound": "Proizvod nije pronađen", // Produkt nicht gefunden - "notFoundDescription": "Proizvod koji tražite ne postoji ili je uklonjen.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. - "backToHome": "Natrag na početnu", // Zurück zur Startseite - "error": "Greška", // Fehler - "articleNumber": "Broj artikla", // Artikelnummer - "manufacturer": "Proizvođač", // Hersteller - "inclVat": "uključujući {{vat}}% PDV-a", // inkl. {{vat}}% MwSt. - "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} - "new": "Novo", // Neu - "arriving": "Dolazi:", // Ankunft: - "inclVatFooter": "uključujući {{vat}}% PDV-a,*", // incl. {{vat}}% USt.,* - "availability": "Dostupnost", // Verfügbarkeit - "inStock": "na skladištu", // auf Lager - "comingSoon": "Uskoro dostupno", // Bald verfügbar - "deliveryTime": "Vrijeme isporuke", // Lieferzeit - "inclShort": "uklj.", // inkl. - "vatShort": "PDV", // MwSt. - "countDisplay": { - "noProducts": "0 proizvoda", // 0 Produkte - "oneProduct": "1 proizvod", // 1 Produkt - "multipleProducts": "{{count}} proizvoda", // {{count}} Produkte - "filteredProducts": "{{filtered}} od {{total}} proizvoda", // {{filtered}} von {{total}} Produkten - "filteredOneProduct": "{{filtered}} od 1 proizvoda" // {{filtered}} von 1 Produkt - }, - "removeFiltersToSee": "Uklonite filtere da vidite proizvode", // Entferne Filter um Produkte zu sehen - "outOfStock": "Nema na skladištu", // Out of Stock - "fromXProducts": "od {{count}} proizvoda" // ab {{count}} Produkten - }, - "search": { - "placeholder": "Možete me pitati o sortama kanabisa...", // Du kannst mich nach Cannabissorten fragen... - "recording": "Snimanje...", // Aufnahme läuft... - "searchProducts": "Pretraži proizvode..." // Produkte suchen... - }, - "sorting": { - "name": "Naziv", // Name - "searchField": "Pojam za pretraživanje", // Suchbegriff - "priceLowHigh": "Cijena: od najniže do najviše", // Preis: Niedrig zu Hoch - "priceHighLow": "Cijena: od najviše do najniže" // Preis: Hoch zu Niedrig - }, - "chat": { - "privacyRead": "Pročitano i prihvaćeno" // Gelesen & Akzeptiert - }, - "delivery": { - "methods": { - "dhl": "DHL", // DHL - "dpd": "DPD", // DPD - "sperrgut": "Glomazna roba", // Sperrgut - "pickup": "Preuzimanje u podružnici" // Abholung in der Filiale - }, - "descriptions": { - "standard": "Standardna dostava", // Standardversand - "standardFree": "Standardna dostava - BESPLATNO za narudžbe iznad 100€!", // Standardversand - KOSTENLOS ab 100€ Warenwert! - "notAvailable": "Nije moguće odabrati jer se jedan ili više artikala mogu samo preuzeti", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können - "bulky": "Za velike i teške artikle" // Für große und schwere Artikel - }, - "prices": { - "free": "besplatno", // kostenlos - "freeFrom100": "(besplatno od 100€)", // (kostenlos ab 100€) - "dhl": "6,99 €", // 6,99 € - "dpd": "4,90 €", // 4,90 € - "sperrgut": "28,99 €" // 28,99 € - }, - "times": { - "cutting14Days": "Vrijeme isporuke: 14 dana", // Lieferzeit: 14 Tage - "standard2to3Days": "Vrijeme isporuke: 2-3 dana", // Lieferzeit: 2-3 Tage - "supplier7to9Days": "Vrijeme isporuke: 7-9 dana" // Lieferzeit: 7-9 Tage - } - }, - "checkout": { - "invoiceAddress": "Adresa za račun", // Rechnungsadresse - "deliveryAddress": "Adresa za dostavu", // Lieferadresse - "saveForFuture": "Spremi za buduće narudžbe", // Für zukünftige Bestellungen speichern - "pickupDate": "Za koji datum želite preuzeti reznice?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht? - "note": "Napomena", // Anmerkung - "sameAddress": "Adresa za dostavu je ista kao adresa za račun", // Lieferadresse ist identisch mit Rechnungsadresse - "termsAccept": "Pročitao/la sam Uvjete korištenja, Politiku privatnosti i informacije o pravu na odustajanje" // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen - }, - "payment": { - "successful": "Plaćanje uspješno!", // Zahlung erfolgreich! - "failed": "Plaćanje nije uspjelo", // Zahlung fehlgeschlagen - "orderCompleted": "🎉 Vaša narudžba je uspješno dovršena! Sada možete pregledati svoje narudžbe.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. - "orderProcessing": "Vaša uplata je uspješno obrađena. Narudžba će biti automatski dovršena.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. - "paymentError": "Vaša uplata nije mogla biti obrađena. Molimo pokušajte ponovno ili odaberite drugi način plaćanja.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. - "viewOrders": "Pogledaj moje narudžbe" // Zu meinen Bestellungen - }, - "filters": { - "sorting": "Sortiranje", // Sortierung - "perPage": "po stranici", // pro Seite - "availability": "Dostupnost", // Verfügbarkeit - "manufacturer": "Proizvođač" // Hersteller - }, - "tax": { - "vat": "Porez na dodanu vrijednost", // Mehrwertsteuer - "vat7": "7% poreza na dodanu vrijednost", // 7% Mehrwertsteuer - "vat19": "19% poreza na dodanu vrijednost", // 19% Mehrwertsteuer - "vat19WithShipping": "19% poreza na dodanu vrijednost (uključujući dostavu)", // 19% Mehrwertsteuer (inkl. Versand) - "totalNet": "Ukupna neto cijena", // Gesamtnettopreis - "totalGross": "Ukupna bruto cijena bez dostave", // Gesamtbruttopreis ohne Versand - "subtotal": "Međuzbroj" // Zwischensumme - }, - "footer": { - "hours": "Sub 11-19", // Sa 11-19 - "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden - "location": "Između stanice Pieschen i Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz - "allPricesIncl": "* Sve cijene uključuju zakonski PDV, plus dostava", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand - "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de - "legal": { - "datenschutz": "Privatnost", // Datenschutz - "agb": "Uvjeti i odredbe", // AGB - "sitemap": "Karta weba", // Sitemap - "impressum": "Impressum", // Impressum - "batteriegesetzhinweise": "Napomene o zakonu o baterijama", // Batteriegesetzhinweise - "widerrufsrecht": "Pravo na odustajanje" // Widerrufsrecht - } - }, - "titles": { - "home": "Kvalitetne sjemenke i reznice kanabisa", // Fine Cannabis Seeds & Cuttings (the text in the string has special characters, translate using the comment) - "aktionen": "Trenutne promocije i ponude", // Aktuelle Aktionen & Angebote (the text in the string has special characters, translate using the comment) - "filiale": "Naša podružnica u Dresdenu" // Unsere Filiale in Dresden (the text in the string has special characters, translate using the comment) - }, - "sections": { - "seeds": "Sjemenke", // Seeds - "stecklinge": "Reznice", // Stecklinge - "oilPress": "Posudi prešu za ulje", // Ölpresse ausleihen - "thcTest": "THC test", // THC Test - "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 - "address2": "01129 Dresden" // 01129 Dresden - }, - "pages": { - "oilPress": { - "title": "Posudi prešu za ulje", // Ölpresse ausleihen - "comingSoon": "Sadržaj uskoro dolazi..." // Inhalt kommt bald... - }, - "thcTest": { - "title": "THC test", // THC Test - "comingSoon": "Sadržaj uskoro dolazi..." // Inhalt kommt bald... - } - }, - "orders": { - "status": { - "new": "U obradi", // in Bearbeitung - "pending": "Novo", // Neu - "processing": "U obradi", // in Bearbeitung - "cancelled": "Otkazano", // Storniert - "shipped": "Poslano", // Verschickt - "delivered": "Isporučeno", // Geliefert - "return": "Povrat", // Retoure - "partialReturn": "Djelomični povrat", // Teil Retoure - "partialDelivered": "Djelomično isporučeno" // Teil geliefert - } - }, - "common": { - "loading": "Učitavanje...", // Lädt... - "error": "Greška", // Fehler - "close": "Zatvori", // Schließen - "save": "Spremi", // Speichern - "cancel": "Odustani", // Abbrechen - "ok": "OK", // OK - "yes": "Da", // Ja - "no": "Ne", // Nein - "next": "Dalje", // Weiter - "back": "Nazad", // Zurück - "edit": "Uredi", // Bearbeiten - "delete": "Izbriši", // Löschen - "add": "Dodaj", // Hinzufügen - "remove": "Ukloni", // Entfernen - "products": "Proizvodi", // Produkte - "product": "Proizvod" // Produkt - } -}; +import translations from './index.js'; + +export default translations; \ No newline at end of file diff --git a/src/i18n/locales/hu/auth.js b/src/i18n/locales/hu/auth.js new file mode 100644 index 0000000..82a8780 --- /dev/null +++ b/src/i18n/locales/hu/auth.js @@ -0,0 +1,25 @@ +export default { + "login": "Bejelentkezés", // Anmelden + "register": "Regisztráció", // Registrieren + "logout": "Kijelentkezés", // Abmelden + "profile": "Profil", // Profil + "email": "Email", // 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ályzatot", // 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 + "menu": { + "profile": "Profil", // Profil + "myProfile": "Saját profilom", // Mein Profil + "checkout": "Pénztár", // Bestellabschluss + "orders": "Rendelések", // Bestellungen + "settings": "Beállítások", // Einstellungen + "adminDashboard": "Admin Vezérlőpult", // Admin Dashboard + "adminUsers": "Admin Felhasználók" // Admin Users + } +}; diff --git a/src/i18n/locales/hu/cart.js b/src/i18n/locales/hu/cart.js new file mode 100644 index 0000000..5953646 --- /dev/null +++ b/src/i18n/locales/hu/cart.js @@ -0,0 +1,24 @@ +export default { + "title": "Kosár", // Warenkorb + "empty": "üres", // leer + "addToCart": "Kosárba tesz", // 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 + "productCount": "{{count}} {{count, plural, one {termék} other {termék}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} + "productSingular": "termék", // Produkt + "productPlural": "termékek", // Produkte + "removeFromCart": "Eltávolítás a kosárból", // Aus dem Warenkorb entfernen + "openCart": "Kosár megnyitása", // Warenkorb öffnen + "availableFrom": "{{date}}-tól elérhető", // Ab {{date}} + "backToOrder": "← Vissza a rendeléshez", // ← Zurück zur Bestellung + "sync": { + "title": "Kosár szinkronizálás", // Warenkorb-Synchronisierung + "description": "Mentett kosara van a fiókjában. Kérjük, válassza ki, hogyan szeretne továbbhaladni:", // 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": "Kosarak egyesítése", // Warenkörbe zusammenführen + "currentCart": "Az Ön aktuális kosara", // Ihr aktueller Warenkorb + "serverCart": "A profiljában mentett kosár" // In Ihrem Profil gespeicherter Warenkorb + } +}; diff --git a/src/i18n/locales/hu/chat.js b/src/i18n/locales/hu/chat.js new file mode 100644 index 0000000..9d2732e --- /dev/null +++ b/src/i18n/locales/hu/chat.js @@ -0,0 +1,3 @@ +export default { + "privacyRead": "Elolvasva és elfogadva", // Gelesen & Akzeptiert +}; diff --git a/src/i18n/locales/hu/checkout.js b/src/i18n/locales/hu/checkout.js new file mode 100644 index 0000000..3bd3a50 --- /dev/null +++ b/src/i18n/locales/hu/checkout.js @@ -0,0 +1,13 @@ +export default { + "invoiceAddress": "Számlázási cím", // Rechnungsadresse + "deliveryAddress": "Szállítási cím", // Lieferadresse + "saveForFuture": "Mentés a jövőbeni rendelésekhez", // Für zukünftige Bestellungen speichern + "pickupDate": "Melyik dátumra kívánja a dugványok átvételét?", // 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 Általános Szerződési Feltételeket, az Adatvédelmi Szabályzatot és a visszavonási jogra vonatkozó rendelkezéseket", // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen + "selectDeliveryMethod": "Szállítási mód kiválasztása", // Versandart wählen + "selectPaymentMethod": "Fizetési mód kiválasztása", // Zahlungsart wählen + "orderSummary": "Rendelés összefoglaló", // Bestellübersicht + "addressValidationError": "Kérjük, ellenőrizze a címmezőkben megadott adatokat." // Bitte überprüfen Sie Ihre Eingaben in den Adressfeldern. +}; diff --git a/src/i18n/locales/hu/common.js b/src/i18n/locales/hu/common.js new file mode 100644 index 0000000..d5ad3f6 --- /dev/null +++ b/src/i18n/locales/hu/common.js @@ -0,0 +1,19 @@ +export default { + "loading": "Betöltés...", // Lädt... + "error": "Hiba", // Fehler + "close": "Bezárás", // 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 + "days": "Napok" // Tage +}; diff --git a/src/i18n/locales/hu/delivery.js b/src/i18n/locales/hu/delivery.js new file mode 100644 index 0000000..28d5204 --- /dev/null +++ b/src/i18n/locales/hu/delivery.js @@ -0,0 +1,27 @@ +export default { + "methods": { + "dhl": "DHL", // DHL + "dpd": "DPD", // DPD + "sperrgut": "Tömegáruk", // Sperrgut + "pickup": "Átvétel az üzletben" // Abholung in der Filiale + }, + "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 termék csak átvétellel elérhető", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können + "bulky": "Nagy és nehéz termékekhez", // Für große und schwere Artikel + "pickupOnly": "Csak átvétel" // nur Abholung + }, + "prices": { + "free": "ingyenes", // kostenlos + "freeFrom100": "(ingyenes 100€ felett)", // (kostenlos ab 100€) + "dhl": "6,99 €", // 6,99 € + "dpd": "4,90 €", // 4,90 € + "sperrgut": "28,99 €" // 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 + } +}; diff --git a/src/i18n/locales/hu/filters.js b/src/i18n/locales/hu/filters.js new file mode 100644 index 0000000..cf6296b --- /dev/null +++ b/src/i18n/locales/hu/filters.js @@ -0,0 +1,7 @@ +export default { + "sorting": "Rendezés", // Sortierung + "perPage": "oldalanként", // pro Seite + "availability": "Elérhetőség", // Verfügbarkeit + "manufacturer": "Gyártó", // Hersteller + "all": "Összes", // Alle +}; diff --git a/src/i18n/locales/hu/footer.js b/src/i18n/locales/hu/footer.js new file mode 100644 index 0000000..b05940f --- /dev/null +++ b/src/i18n/locales/hu/footer.js @@ -0,0 +1,15 @@ +export default { + "hours": "Szo 11:00-19:00", // Sa 11-19 + "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden + "location": "A Pieschen megálló és a Trachenberger Platz között", // Zwischen Haltepunkt Pieschen und Trachenberger Platz + "allPricesIncl": "* Minden ár tartalmazza a törvényes ÁFÁ-t, plusz szállítási költség", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand + "copyright": "© {{year}} GrowHeads.de", // © {{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": "Jogi nyilatkozat", // Impressum + "batteriegesetzhinweise": "Akkumulátor törvény információk", // Batteriegesetzhinweise + "widerrufsrecht": "Elállási jog" // Widerrufsrecht + } +}; diff --git a/src/i18n/locales/hu/index.js b/src/i18n/locales/hu/index.js new file mode 100644 index 0000000..1dd359f --- /dev/null +++ b/src/i18n/locales/hu/index.js @@ -0,0 +1,43 @@ +import locale from './locale.js'; +import navigation from './navigation.js'; +import auth from './auth.js'; +import cart from './cart.js'; +import product from './product.js'; +import search from './search.js'; +import sorting from './sorting.js'; +import chat from './chat.js'; +import delivery from './delivery.js'; +import checkout from './checkout.js'; +import payment from './payment.js'; +import filters from './filters.js'; +import tax from './tax.js'; +import footer from './footer.js'; +import titles from './titles.js'; +import sections from './sections.js'; +import pages from './pages.js'; +import orders from './orders.js'; +import settings from './settings.js'; +import common from './common.js'; + +export default { + "locale": locale, + "navigation": navigation, + "auth": auth, + "cart": cart, + "product": product, + "search": search, + "sorting": sorting, + "chat": chat, + "delivery": delivery, + "checkout": checkout, + "payment": payment, + "filters": filters, + "tax": tax, + "footer": footer, + "titles": titles, + "sections": sections, + "pages": pages, + "orders": orders, + "settings": settings, + "common": common +}; \ No newline at end of file diff --git a/src/i18n/locales/hu/locale.js b/src/i18n/locales/hu/locale.js new file mode 100644 index 0000000..fe383c2 --- /dev/null +++ b/src/i18n/locales/hu/locale.js @@ -0,0 +1,3 @@ +export default { + "code": "hu-HU" // de-DE +}; diff --git a/src/i18n/locales/hu/navigation.js b/src/i18n/locales/hu/navigation.js new file mode 100644 index 0000000..8d24b8d --- /dev/null +++ b/src/i18n/locales/hu/navigation.js @@ -0,0 +1,9 @@ +export default { + "home": "Kezdőlap", // Startseite + "aktionen": "Akciók", // Aktionen + "filiale": "Fiók", // Filiale + "categories": "Kategóriák", // Kategorien + "categoriesOpen": "Kategóriák megnyitása", // Kategorien öffnen + "categoriesClose": "Kategóriák bezárása", // Kategorien schließen + "otherCategories": "Egyéb kategóriák" // Andere Kategorien +}; diff --git a/src/i18n/locales/hu/orders.js b/src/i18n/locales/hu/orders.js new file mode 100644 index 0000000..4ef0724 --- /dev/null +++ b/src/i18n/locales/hu/orders.js @@ -0,0 +1,23 @@ +export default { + "status": { + "new": "Folyamatban", // in Bearbeitung + "pending": "Új", // Neu + "processing": "Folyamatban", // in Bearbeitung + "cancelled": "Törölve", // Storniert + "shipped": "Kiszállítva", // Verschickt + "delivered": "Kézbesítve", // Geliefert + "return": "Visszaküldés", // Retoure + "partialReturn": "Részleges visszaküldés", // Teil Retoure + "partialDelivered": "Részben kézbesítve" // Teil geliefert + }, + "table": { + "orderNumber": "Rendelésszám", // Bestellnummer + "date": "Dátum", // Datum + "status": "Állapot", // Status + "items": "Termékek", // Artikel + "total": "Összesen", // Summe + "actions": "Műveletek", // Aktionen + "viewDetails": "Részletek megtekintése" // Details anzeigen + }, + "noOrders": "Még nem adott le rendelést." // Sie haben noch keine Bestellungen aufgegeben. +}; diff --git a/src/i18n/locales/hu/pages.js b/src/i18n/locales/hu/pages.js new file mode 100644 index 0000000..b82f93e --- /dev/null +++ b/src/i18n/locales/hu/pages.js @@ -0,0 +1,10 @@ +export default { + "oilPress": { + "title": "Olajprés kölcsönzése", // Ölpresse ausleihen + "comingSoon": "Tartalom hamarosan...", // Inhalt kommt bald... + }, + "thcTest": { + "title": "THC teszt", // THC Test + "comingSoon": "Tartalom hamarosan...", // Inhalt kommt bald... + } +}; diff --git a/src/i18n/locales/hu/payment.js b/src/i18n/locales/hu/payment.js new file mode 100644 index 0000000..e661180 --- /dev/null +++ b/src/i18n/locales/hu/payment.js @@ -0,0 +1,8 @@ +export default { + "successful": "Fizetés sikeres!", // Zahlung erfolgreich! + "failed": "Fizetés sikertelen", // Zahlung fehlgeschlagen + "orderCompleted": "🎉 A rendelésed sikeresen befejeződött! Most már megtekintheted a rendeléseidet.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. + "orderProcessing": "A fizetésed sikeresen feldolgozásra került. A rendelés automatikusan befejeződik.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. + "paymentError": "A fizetésed nem volt feldolgozható. Kérjük, próbáld újra, vagy válassz 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 +}; diff --git a/src/i18n/locales/hu/product.js b/src/i18n/locales/hu/product.js new file mode 100644 index 0000000..06d86cb --- /dev/null +++ b/src/i18n/locales/hu/product.js @@ -0,0 +1,32 @@ +export default { + "loading": "Termék betöltése...", // Produkt wird geladen... + "notFound": "A termék nem található", // Produkt nicht gefunden + "notFoundDescription": "A keresett termék nem létezik vagy eltávolításra került.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. + "backToHome": "Vissza a kezdőlapra", // Zurück zur Startseite + "error": "Hiba", // Fehler + "articleNumber": "Cikkszám", // Artikelnummer + "manufacturer": "Gyártó", // Hersteller + "inclVat": "áfával együtt {{vat}}%", // inkl. {{vat}}% MwSt. + "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} + "new": "Új", // Neu + "weeks": "hetek", // Wochen + "arriving": "Érkezés:", // Ankunft: + "inclVatFooter": "áfával együtt {{vat}}%,*", // inkl. {{vat}}% MwSt.,* + "availability": "Elérhetőség", // Verfügbarkeit + "inStock": "készleten", // auf Lager + "comingSoon": "Hamarosan elérhető", // Bald verfügbar + "deliveryTime": "Szállítási idő", // Lieferzeit + "inclShort": "áfával", // inkl. + "vatShort": "ÁFA", // MwSt. + "countDisplay": { + "noProducts": "0 termék", // 0 Produkte + "oneProduct": "1 termék", // 1 Produkt + "multipleProducts": "{{count}} termék", // {{count}} Produkte + "filteredProducts": "{{filtered}} a(z) {{total}} termékből", // {{filtered}} von {{total}} Produkten + "filteredOneProduct": "{{filtered}} az 1 termékből", // {{filtered}} von 1 Produkt + "xOfYProducts": "{{x}} a(z) {{y}} termékből" // {{x}} von {{y}} Produkten + }, + "removeFiltersToSee": "Szűrők eltávolítása a termékek megtekintéséhez", // Entferne Filter um Produkte zu sehen + "outOfStock": "Nincs készleten", // Out of Stock + "fromXProducts": "{{count}} terméktől" // ab {{count}} Produkten +}; diff --git a/src/i18n/locales/hu/search.js b/src/i18n/locales/hu/search.js new file mode 100644 index 0000000..5beb6c1 --- /dev/null +++ b/src/i18n/locales/hu/search.js @@ -0,0 +1,5 @@ +export default { + "placeholder": "Kérdezhetsz tőlem kannabisz fajtákról...", // Du kannst mich nach Cannabissorten fragen... + "recording": "Felvétel folyamatban...", // Aufnahme läuft... + "searchProducts": "Termékek keresése...", // Produkte suchen... +}; diff --git a/src/i18n/locales/hu/sections.js b/src/i18n/locales/hu/sections.js new file mode 100644 index 0000000..8056c78 --- /dev/null +++ b/src/i18n/locales/hu/sections.js @@ -0,0 +1,8 @@ +export default { + "seeds": "Magok", // Seeds + "stecklinge": "Cserepek", // Stecklinge + "oilPress": "Olajprés kölcsönzése", // Ölpresse ausleihen + "thcTest": "THC teszt", // THC Test + "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 + "address2": "01129 Dresden" // 01129 Dresden +}; diff --git a/src/i18n/locales/hu/settings.js b/src/i18n/locales/hu/settings.js new file mode 100644 index 0000000..cbecfc4 --- /dev/null +++ b/src/i18n/locales/hu/settings.js @@ -0,0 +1,34 @@ +export default { + "changePassword": "Jelszó megváltoztatása", // Passwort ändern + "currentPassword": "Jelenlegi jelszó", // Aktuelles Passwort + "newPassword": "Új jelszó", // Neues Passwort + "confirmNewPassword": "Új jelszó megerősítése", // Neues Passwort bestätigen + "updatePassword": "Jelszó frissítése", // Passwort aktualisieren + "changeEmail": "E-mail cím megváltoztatása", // E-Mail-Adresse ändern + "password": "Jelszó", // Passwort + "newEmail": "Új e-mail cím", // Neue E-Mail-Adresse + "updateEmail": "E-mail frissítése", // E-Mail aktualisieren + "apiKey": "API kulcs", // API-Schlüssel + "apiKeyDescription": "Használja az API kulcsát külső alkalmazásokkal való integrációhoz.", // Verwenden Sie Ihren API-Schlüssel für die Integration mit externen Anwendungen. + "apiDocumentation": "API dokumentáció:", // API-Dokumentation: + "copyToClipboard": "Vágólapra másolás", // In Zwischenablage kopieren + "generate": "Generálás", // Generieren + "regenerate": "Újragenerálás", // Regenerieren + "apiKeyCopied": "API kulcs vágólapra másolva", // API-Schlüssel in Zwischenablage kopiert + "errors": { + "fillAllFields": "Kérjük, töltse ki az összes mezőt", // Bitte füllen Sie alle Felder aus + "passwordsNotMatch": "Az új jelszavak nem egyeznek", // Die neuen Passwörter stimmen nicht überein + "passwordTooShort": "Az új jelszónak legalább 8 karakter hosszúnak kell lennie", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "passwordUpdateError": "Hiba történt a jelszó frissítésekor", // Fehler beim Aktualisieren des Passworts + "invalidEmail": "Kérjük, érvényes e-mail címet adjon meg", // Bitte geben Sie eine gültige E-Mail-Adresse ein + "emailUpdateError": "Hiba történt az e-mail cím frissítésekor", // Fehler beim Aktualisieren der E-Mail-Adresse + "userNotFound": "Felhasználó nem található", // Benutzer nicht gefunden + "apiKeyGenerationError": "Hiba történt az API kulcs generálásakor" // Fehler beim Generieren des API-Schlüssels + }, + "success": { + "passwordUpdated": "A jelszó sikeresen frissítve", // Passwort erfolgreich aktualisiert + "emailUpdated": "Az e-mail cím sikeresen frissítve", // E-Mail-Adresse erfolgreich aktualisiert + "apiKeyGenerated": "API kulcs sikeresen generálva", // API-Schlüssel erfolgreich generiert + "apiKeyWarning": "Tárolja ezt a kulcsot biztonságosan. Biztonsági okokból 10 másodperc múlva el lesz rejtve." // Speichern Sie diesen Schlüssel sicher. Er wird aus Sicherheitsgründen in 10 Sekunden ausgeblendet. + } +}; diff --git a/src/i18n/locales/hu/sorting.js b/src/i18n/locales/hu/sorting.js new file mode 100644 index 0000000..df07d81 --- /dev/null +++ b/src/i18n/locales/hu/sorting.js @@ -0,0 +1,6 @@ +export default { + "name": "Név", // Name + "searchField": "Keresési kifejezés", // Suchbegriff + "priceLowHigh": "Ár: alacsonytól a magasig", // Preis: Niedrig zu Hoch + "priceHighLow": "Ár: magasról az alacsonyra" // Preis: Hoch zu Niedrig +}; diff --git a/src/i18n/locales/hu/tax.js b/src/i18n/locales/hu/tax.js new file mode 100644 index 0000000..032d7c9 --- /dev/null +++ b/src/i18n/locales/hu/tax.js @@ -0,0 +1,12 @@ +export default { + "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 együtt)", // 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 + "incl7Vat": "7% ÁFA-val együtt", // inkl. 7% MwSt. + "inclVatWithFooter": "({{vat}}% ÁFA-val együtt,*)", // (incl. {{vat}}% USt.,*) + "inclVatAmount": "{{amount}} € ÁFA-val együtt ({{rate}}%)" // nkl. {{amount}} € MwSt. ({{rate}}%) +}; diff --git a/src/i18n/locales/hu/titles.js b/src/i18n/locales/hu/titles.js new file mode 100644 index 0000000..f553ecf --- /dev/null +++ b/src/i18n/locales/hu/titles.js @@ -0,0 +1,5 @@ +export default { + "home": "Kiváló kannabiszmagok és dugványok", // Fine Cannabis Seeds & Cuttings + "aktionen": "Aktuális akciók és ajánlatok", // Aktuelle Aktionen & Angebote + "filiale": "Üzletünk Drezdában" // Unsere Filiale in Dresden +}; diff --git a/src/i18n/locales/hu/translation.js b/src/i18n/locales/hu/translation.js index d6b5d2b..820476a 100644 --- a/src/i18n/locales/hu/translation.js +++ b/src/i18n/locales/hu/translation.js @@ -1,231 +1,3 @@ -export default { - "locale": { - "code": "hu-HU" // de-DE - }, - "navigation": { - "home": "Kezdőlap", // Startseite - "aktionen": "Akciók", // Aktionen - "filiale": "Fiók", // Filiale - "categories": "Kategóriák", // Kategorien - "categoriesOpen": "Kategóriák megnyitása", // Kategorien öffnen - "categoriesClose": "Kategóriák bezárása", // Kategorien schließen - "otherCategories": "Egyéb kategóriák" // Andere Kategorien - }, - "auth": { - "login": "Bejelentkezés", // Anmelden - "register": "Regisztráció", // Registrieren - "logout": "Kijelentkezés", // Abmelden - "profile": "Profil", // Profil - "email": "Email", // 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ályzatot", // 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 - "menu": { - "profile": "Profil", // Profil - "checkout": "Pénztár", // Bestellabschluss - "orders": "Rendelések", // Bestellungen - "settings": "Beállítások", // Einstellungen - "adminDashboard": "Admin Vezérlőpult", // Admin Dashboard - "adminUsers": "Admin Felhasználók" // Admin Users - } - }, - "cart": { - "title": "Kosár", // Warenkorb - "empty": "üres", // leer - "addToCart": "Kosárba tesz", // 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 - "productCount": "{{count}} {{count, plural, one {Termék} other {Termékek}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} - "removeFromCart": "Eltávolítás a kosárból", // Aus dem Warenkorb entfernen - "openCart": "Kosár megnyitása", // Warenkorb öffnen - "availableFrom": "{{date}}-tól elérhető", // Ab {{date}} - "backToOrder": "← Vissza a rendeléshez", // ← Zurück zur Bestellung - "sync": { - "title": "Kosár szinkronizálás", // Warenkorb-Synchronisierung - "description": "Fiókodban van egy mentett kosár. Kérjük, válaszd ki, hogyan szeretnél továbbhaladni:", // 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": "Kosarak egyesítése", // Warenkörbe zusammenführen - "currentCart": "Jelenlegi kosarad", // Ihr aktueller Warenkorb - "serverCart": "Profilodban mentett kosár" // In Ihrem Profil gespeicherter Warenkorb - } - }, - "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 eltávolították.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. - "backToHome": "Vissza a kezdőlapra", // Zurück zur Startseite - "error": "Hiba", // Fehler - "articleNumber": "Cikkszám", // Artikelnummer - "manufacturer": "Gyártó", // Hersteller - "inclVat": "Áfával együtt {{vat}}%", // inkl. {{vat}}% MwSt. - "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} - "new": "Új", // Neu - "arriving": "Érkezik:", // Ankunft: - "inclVatFooter": "Áfával együtt {{vat}}%*", // incl. {{vat}}% USt.,* - "availability": "Elérhetőség", // Verfügbarkeit - "inStock": "készleten", // auf Lager - "comingSoon": "Hamarosan elérhető", // Bald verfügbar - "deliveryTime": "Szállítási idő", // Lieferzeit - "inclShort": "áfával", // inkl. - "vatShort": "ÁFA", // MwSt. - "countDisplay": { - "noProducts": "0 termék", // 0 Produkte - "oneProduct": "1 termék", // 1 Produkt - "multipleProducts": "{{count}} termék", // {{count}} Produkte - "filteredProducts": "{{filtered}} / {{total}} termék", // {{filtered}} von {{total}} Produkten - "filteredOneProduct": "{{filtered}} / 1 termék" // {{filtered}} von 1 Produkt - }, - "removeFiltersToSee": "Szűrők eltávolítása a termékek megtekintéséhez", // Entferne Filter um Produkte zu sehen - "outOfStock": "Nincs készleten", // Out of Stock - "fromXProducts": "{{count}} terméktől" // ab {{count}} Produkten - }, - "search": { - "placeholder": "Kérdezhetsz tőlem kannabisz fajtákról...", // Du kannst mich nach Cannabissorten fragen... - "recording": "Felvétel...", // Aufnahme läuft... - "searchProducts": "Termékek keresése..." // Produkte suchen... - }, - "sorting": { - "name": "Név", // Name - "searchField": "Keresési kifejezés", // Suchbegriff - "priceLowHigh": "Ár: alacsonytól a magasig", // Preis: Niedrig zu Hoch - "priceHighLow": "Ár: magasról az alacsonyra" // Preis: Hoch zu Niedrig - }, - "chat": { - "privacyRead": "Elolvasva & Elfogadva" // Gelesen & Akzeptiert - }, - "delivery": { - "methods": { - "dhl": "DHL", // DHL - "dpd": "DPD", // DPD - "sperrgut": "Nagy méretű csomag", // Sperrgut - "pickup": "Átvétel a fiókban" // Abholung in der Filiale - }, - "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 termék csak átvétellel elérhető", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können - "bulky": "Nagy és nehéz termékekhez" // Für große und schwere Artikel - }, - "prices": { - "free": "ingyenes", // kostenlos - "freeFrom100": "(ingyenes 100€-tól)", // (kostenlos ab 100€) - "dhl": "6,99 €", // 6,99 € - "dpd": "4,90 €", // 4,90 € - "sperrgut": "28,99 €" // 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 - } - }, - "checkout": { - "invoiceAddress": "Számlázási cím", // Rechnungsadresse - "deliveryAddress": "Szállítási cím", // Lieferadresse - "saveForFuture": "Mentés a jövőbeni rendelésekhez", // Für zukünftige Bestellungen speichern - "pickupDate": "Melyik napra szeretnéd á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 a Visszavonási tájékoztatót" // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen - }, - "payment": { - "successful": "Fizetés sikeres!", // Zahlung erfolgreich! - "failed": "Fizetés sikertelen", // Zahlung fehlgeschlagen - "orderCompleted": "🎉 A rendelésed sikeresen befejeződött! Most már megtekintheted a rendeléseidet.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. - "orderProcessing": "A fizetésed sikeresen feldolgozásra került. A rendelés automatikusan befejeződik.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. - "paymentError": "A fizetés nem sikerült. Kérjük, próbáld újra vagy válassz 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 - }, - "filters": { - "sorting": "Rendezés", // Sortierung - "perPage": "oldalanként", // pro Seite - "availability": "Elérhetőség", // Verfügbarkeit - "manufacturer": "Gyártó" // Hersteller - }, - "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 együtt)", // 19% Mehrwertsteuer (inkl. Versand) - "totalNet": "Nettó összeg", // Gesamtnettopreis - "totalGross": "Bruttó összeg szállítás nélkül", // Gesamtbruttopreis ohne Versand - "subtotal": "Részösszeg" // Zwischensumme - }, - "footer": { - "hours": "Szo 11-19", // Sa 11-19 - "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden - "location": "A Pieschen megálló és a Trachenberger Platz között", // Zwischen Haltepunkt Pieschen und Trachenberger Platz - "allPricesIncl": "* Minden ár tartalmazza a törvényes ÁFÁ-t, plusz szállítási költség", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand - "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de - "legal": { - "datenschutz": "Adatvédelem", // Datenschutz - "agb": "Általános Szerződési Feltételek", // AGB - "sitemap": "Oldaltérkép", // Sitemap - "impressum": "Impresszum", // Impressum - "batteriegesetzhinweise": "Akkumulátor törvényi tájékoztatók", // Batteriegesetzhinweise - "widerrufsrecht": "Elállási jog" // Widerrufsrecht - } - }, - "titles": { - "home": "Minőségi kannabisz magok és dugványok", // Fine Cannabis Seeds & Cuttings (the text in the string has special characters, translate using the comment) - "aktionen": "Aktuális akciók és ajánlatok", // Aktuelle Aktionen & Angebote (the text in the string has special characters, translate using the comment) - "filiale": "Fiókunk Dresdenben" // Unsere Filiale in Dresden (the text in the string has special characters, translate using the comment) - }, - "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 - }, - "pages": { - "oilPress": { - "title": "Olajprés kölcsönzés", // Ölpresse ausleihen - "comingSoon": "Tartalom hamarosan..." // Inhalt kommt bald... - }, - "thcTest": { - "title": "THC teszt", // THC Test - "comingSoon": "Tartalom hamarosan..." // Inhalt kommt bald... - } - }, - "orders": { - "status": { - "new": "Feldolgozás alatt", // in Bearbeitung - "pending": "Új", // Neu - "processing": "Feldolgozás alatt", // in Bearbeitung - "cancelled": "Törölve", // Storniert - "shipped": "Kiszállítva", // Verschickt - "delivered": "Kézbesítve", // Geliefert - "return": "Visszaküldés", // Retoure - "partialReturn": "Részleges visszaküldés", // Teil Retoure - "partialDelivered": "Részben kézbesítve" // Teil geliefert - } - }, - "common": { - "loading": "Betöltés...", // Lädt... - "error": "Hiba", // Fehler - "close": "Bezárás", // 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 - } -}; +import translations from './index.js'; + +export default translations; \ No newline at end of file diff --git a/src/i18n/locales/it/auth.js b/src/i18n/locales/it/auth.js new file mode 100644 index 0000000..caca015 --- /dev/null +++ b/src/i18n/locales/it/auth.js @@ -0,0 +1,25 @@ +export default { + "login": "Accedi", // Anmelden + "register": "Registrati", // Registrieren + "logout": "Esci", // Abmelden + "profile": "Profilo", // Profil + "email": "Email", // E-Mail + "password": "Password", // Passwort + "confirmPassword": "Conferma password", // Passwort bestätigen + "forgotPassword": "Password dimenticata?", // Passwort vergessen? + "loginWithGoogle": "Accedi con Google", // Mit Google anmelden + "or": "O", // ODER + "privacyAccept": "Cliccando su \"Accedi con Google\" accetto la", // Mit dem Click auf "Mit Google anmelden" akzeptiere ich die + "privacyPolicy": "Informativa sulla privacy", // Datenschutzbestimmungen + "passwordMinLength": "La password deve contenere almeno 8 caratteri", // Das Passwort muss mindestens 8 Zeichen lang sein + "newPasswordMinLength": "La nuova password deve contenere almeno 8 caratteri", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "menu": { + "profile": "Profilo", // Profil + "myProfile": "Il mio profilo", // Mein Profil + "checkout": "Pagamento", // Bestellabschluss + "orders": "Ordini", // Bestellungen + "settings": "Impostazioni", // Einstellungen + "adminDashboard": "Pannello di controllo Admin", // Admin Dashboard + "adminUsers": "Utenti Admin" // Admin Users + } +}; diff --git a/src/i18n/locales/it/cart.js b/src/i18n/locales/it/cart.js new file mode 100644 index 0000000..443bb06 --- /dev/null +++ b/src/i18n/locales/it/cart.js @@ -0,0 +1,24 @@ +export default { + "title": "Carrello", // Warenkorb + "empty": "vuoto", // leer + "addToCart": "Aggiungi al carrello", // In den Korb + "preorderCutting": "Preordina come talea", // Als Steckling vorbestellen + "continueShopping": "Continua lo shopping", // Weiter einkaufen + "proceedToCheckout": "Procedi al pagamento", // Weiter zur Kasse + "productCount": "{{count}} {{count, plural, one {prodotto} other {prodotti}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} + "productSingular": "prodotto", // Produkt + "productPlural": "prodotti", // Produkte + "removeFromCart": "Rimuovi dal carrello", // Aus dem Warenkorb entfernen + "openCart": "Apri carrello", // Warenkorb öffnen + "availableFrom": "Disponibile da {{date}}", // Ab {{date}} + "backToOrder": "← Torna all'ordine", // ← Zurück zur Bestellung + "sync": { + "title": "Sincronizzazione carrello", // Warenkorb-Synchronisierung + "description": "Hai un carrello salvato nel tuo account. Per favore scegli come procedere:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten: + "deleteServer": "Elimina carrello server", // Server-Warenkorb löschen + "useServer": "Usa carrello server", // Server-Warenkorb übernehmen + "merge": "Unisci carrelli", // Warenkörbe zusammenführen + "currentCart": "Il tuo carrello attuale", // Ihr aktueller Warenkorb + "serverCart": "Carrello salvato nel tuo profilo" // In Ihrem Profil gespeicherter Warenkorb + } +}; diff --git a/src/i18n/locales/it/chat.js b/src/i18n/locales/it/chat.js new file mode 100644 index 0000000..23b2abf --- /dev/null +++ b/src/i18n/locales/it/chat.js @@ -0,0 +1,3 @@ +export default { + "privacyRead": "Letto e Accettato", // Gelesen & Akzeptiert +}; diff --git a/src/i18n/locales/it/checkout.js b/src/i18n/locales/it/checkout.js new file mode 100644 index 0000000..0cbeae4 --- /dev/null +++ b/src/i18n/locales/it/checkout.js @@ -0,0 +1,13 @@ +export default { + "invoiceAddress": "Indirizzo di fatturazione", // Rechnungsadresse + "deliveryAddress": "Indirizzo di consegna", // Lieferadresse + "saveForFuture": "Salva per ordini futuri", // Für zukünftige Bestellungen speichern + "pickupDate": "Per quale data è desiderato il ritiro delle talee?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht? + "note": "Nota", // Anmerkung + "sameAddress": "L'indirizzo di consegna è identico all'indirizzo di fatturazione", // Lieferadresse ist identisch mit Rechnungsadresse + "termsAccept": "Ho letto i termini e condizioni, la politica sulla privacy e le disposizioni sul diritto di recesso", // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen + "selectDeliveryMethod": "Seleziona il metodo di spedizione", // Versandart wählen + "selectPaymentMethod": "Seleziona il metodo di pagamento", // Zahlungsart wählen + "orderSummary": "Riepilogo ordine", // Bestellübersicht + "addressValidationError": "Si prega di controllare le voci nei campi dell'indirizzo." // Bitte überprüfen Sie Ihre Eingaben in den Adressfeldern. +}; diff --git a/src/i18n/locales/it/common.js b/src/i18n/locales/it/common.js new file mode 100644 index 0000000..c5dc825 --- /dev/null +++ b/src/i18n/locales/it/common.js @@ -0,0 +1,19 @@ +export default { + "loading": "Caricamento...", // Lädt... + "error": "Errore", // Fehler + "close": "Chiudi", // Schließen + "save": "Salva", // Speichern + "cancel": "Annulla", // Abbrechen + "ok": "OK", // OK + "yes": "Sì", // Ja + "no": "No", // Nein + "next": "Avanti", // Weiter + "back": "Indietro", // Zurück + "edit": "Modifica", // Bearbeiten + "delete": "Elimina", // Löschen + "add": "Aggiungi", // Hinzufügen + "remove": "Rimuovi", // Entfernen + "products": "Prodotti", // Produkte + "product": "Prodotto", // Produkt + "days": "Giorni" // Tage +}; diff --git a/src/i18n/locales/it/delivery.js b/src/i18n/locales/it/delivery.js new file mode 100644 index 0000000..16706ce --- /dev/null +++ b/src/i18n/locales/it/delivery.js @@ -0,0 +1,27 @@ +export default { + "methods": { + "dhl": "DHL", // DHL + "dpd": "DPD", // DPD + "sperrgut": "Merci ingombranti", // Sperrgut + "pickup": "Ritiro in negozio" // Abholung in der Filiale + }, + "descriptions": { + "standard": "Spedizione standard", // Standardversand + "standardFree": "Spedizione standard - GRATIS da 100€ di ordine!", // Standardversand - KOSTENLOS ab 100€ Warenwert! + "notAvailable": "Non selezionabile perché uno o più articoli possono essere solo ritirati", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können + "bulky": "Per articoli grandi e pesanti", // Für große und schwere Artikel + "pickupOnly": "Solo ritiro" // nur Abholung + }, + "prices": { + "free": "gratis", // kostenlos + "freeFrom100": "(gratis da 100€)", // (kostenlos ab 100€) + "dhl": "6,99 €", // 6,99 € + "dpd": "4,90 €", // 4,90 € + "sperrgut": "28,99 €" // 28,99 € + }, + "times": { + "cutting14Days": "Tempi di consegna: 14 giorni", // Lieferzeit: 14 Tage + "standard2to3Days": "Tempi di consegna: 2-3 giorni", // Lieferzeit: 2-3 Tage + "supplier7to9Days": "Tempi di consegna: 7-9 giorni" // Lieferzeit: 7-9 Tage + } +}; diff --git a/src/i18n/locales/it/filters.js b/src/i18n/locales/it/filters.js new file mode 100644 index 0000000..0a273b3 --- /dev/null +++ b/src/i18n/locales/it/filters.js @@ -0,0 +1,7 @@ +export default { + "sorting": "Ordinamento", // Sortierung + "perPage": "per pagina", // pro Seite + "availability": "Disponibilità", // Verfügbarkeit + "manufacturer": "Produttore", // Hersteller + "all": "Tutti", // Alle +}; diff --git a/src/i18n/locales/it/footer.js b/src/i18n/locales/it/footer.js new file mode 100644 index 0000000..427c47e --- /dev/null +++ b/src/i18n/locales/it/footer.js @@ -0,0 +1,15 @@ +export default { + "hours": "Sab 11:00-19:00", // Sa 11-19 + "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden + "location": "Tra la fermata Pieschen e Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz + "allPricesIncl": "* Tutti i prezzi includono IVA di legge, più spedizione", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand + "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de + "legal": { + "datenschutz": "Informativa sulla privacy", // Datenschutz + "agb": "Termini e condizioni", // AGB + "sitemap": "Mappa del sito", // Sitemap + "impressum": "Note legali", // Impressum + "batteriegesetzhinweise": "Informazioni sulla legge sulle batterie", // Batteriegesetzhinweise + "widerrufsrecht": "Diritto di recesso" // Widerrufsrecht + } +}; diff --git a/src/i18n/locales/it/index.js b/src/i18n/locales/it/index.js new file mode 100644 index 0000000..1dd359f --- /dev/null +++ b/src/i18n/locales/it/index.js @@ -0,0 +1,43 @@ +import locale from './locale.js'; +import navigation from './navigation.js'; +import auth from './auth.js'; +import cart from './cart.js'; +import product from './product.js'; +import search from './search.js'; +import sorting from './sorting.js'; +import chat from './chat.js'; +import delivery from './delivery.js'; +import checkout from './checkout.js'; +import payment from './payment.js'; +import filters from './filters.js'; +import tax from './tax.js'; +import footer from './footer.js'; +import titles from './titles.js'; +import sections from './sections.js'; +import pages from './pages.js'; +import orders from './orders.js'; +import settings from './settings.js'; +import common from './common.js'; + +export default { + "locale": locale, + "navigation": navigation, + "auth": auth, + "cart": cart, + "product": product, + "search": search, + "sorting": sorting, + "chat": chat, + "delivery": delivery, + "checkout": checkout, + "payment": payment, + "filters": filters, + "tax": tax, + "footer": footer, + "titles": titles, + "sections": sections, + "pages": pages, + "orders": orders, + "settings": settings, + "common": common +}; \ No newline at end of file diff --git a/src/i18n/locales/it/locale.js b/src/i18n/locales/it/locale.js new file mode 100644 index 0000000..8ff7a3d --- /dev/null +++ b/src/i18n/locales/it/locale.js @@ -0,0 +1,3 @@ +export default { + "code": "it-IT" // de-DE +}; diff --git a/src/i18n/locales/it/navigation.js b/src/i18n/locales/it/navigation.js new file mode 100644 index 0000000..9039b4c --- /dev/null +++ b/src/i18n/locales/it/navigation.js @@ -0,0 +1,9 @@ +export default { + "home": "Home", // Startseite + "aktionen": "Promozioni", // Aktionen + "filiale": "Filiale", // Filiale + "categories": "Categorie", // Kategorien + "categoriesOpen": "Apri categorie", // Kategorien öffnen + "categoriesClose": "Chiudi categorie", // Kategorien schließen + "otherCategories": "Altre categorie" // Andere Kategorien +}; diff --git a/src/i18n/locales/it/orders.js b/src/i18n/locales/it/orders.js new file mode 100644 index 0000000..7a2cfe4 --- /dev/null +++ b/src/i18n/locales/it/orders.js @@ -0,0 +1,23 @@ +export default { + "status": { + "new": "In lavorazione", // in Bearbeitung + "pending": "Nuovo", // Neu + "processing": "In lavorazione", // in Bearbeitung + "cancelled": "Annullato", // Storniert + "shipped": "Spedito", // Verschickt + "delivered": "Consegnato", // Geliefert + "return": "Reso", // Retoure + "partialReturn": "Reso parziale", // Teil Retoure + "partialDelivered": "Parzialmente consegnato" // Teil geliefert + }, + "table": { + "orderNumber": "Numero ordine", // Bestellnummer + "date": "Data", // Datum + "status": "Stato", // Status + "items": "Articoli", // Artikel + "total": "Totale", // Summe + "actions": "Azioni", // Aktionen + "viewDetails": "Visualizza dettagli" // Details anzeigen + }, + "noOrders": "Non hai ancora effettuato ordini." // Sie haben noch keine Bestellungen aufgegeben. +}; diff --git a/src/i18n/locales/it/pages.js b/src/i18n/locales/it/pages.js new file mode 100644 index 0000000..f36c093 --- /dev/null +++ b/src/i18n/locales/it/pages.js @@ -0,0 +1,10 @@ +export default { + "oilPress": { + "title": "Noleggia la pressa per olio", // Ölpresse ausleihen + "comingSoon": "Contenuto in arrivo...", // Inhalt kommt bald... + }, + "thcTest": { + "title": "Test THC", // THC Test + "comingSoon": "Contenuto in arrivo...", // Inhalt kommt bald... + } +}; diff --git a/src/i18n/locales/it/payment.js b/src/i18n/locales/it/payment.js new file mode 100644 index 0000000..1b7d7fe --- /dev/null +++ b/src/i18n/locales/it/payment.js @@ -0,0 +1,8 @@ +export default { + "successful": "Pagamento riuscito!", // Zahlung erfolgreich! + "failed": "Pagamento fallito", // Zahlung fehlgeschlagen + "orderCompleted": "🎉 Il tuo ordine è stato completato con successo! Ora puoi visualizzare i tuoi ordini.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. + "orderProcessing": "Il tuo pagamento è stato elaborato con successo. L'ordine sarà completato automaticamente.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. + "paymentError": "Il tuo pagamento non può essere elaborato. Per favore riprova o scegli un altro metodo di pagamento.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. + "viewOrders": "Vai ai miei ordini" // Zu meinen Bestellungen +}; diff --git a/src/i18n/locales/it/product.js b/src/i18n/locales/it/product.js new file mode 100644 index 0000000..203990b --- /dev/null +++ b/src/i18n/locales/it/product.js @@ -0,0 +1,32 @@ +export default { + "loading": "Caricamento prodotto...", // Produkt wird geladen... + "notFound": "Prodotto non trovato", // Produkt nicht gefunden + "notFoundDescription": "Il prodotto che stai cercando non esiste o è stato rimosso.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. + "backToHome": "Torna alla pagina principale", // Zurück zur Startseite + "error": "Errore", // Fehler + "articleNumber": "Numero articolo", // Artikelnummer + "manufacturer": "Produttore", // Hersteller + "inclVat": "incl. {{vat}}% IVA", // inkl. {{vat}}% MwSt. + "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} + "new": "Nuovo", // Neu + "weeks": "settimane", // Wochen + "arriving": "Arrivo:", // Ankunft: + "inclVatFooter": "incl. {{vat}}% IVA,*", // inkl. {{vat}}% MwSt.,* + "availability": "Disponibilità", // Verfügbarkeit + "inStock": "in magazzino", // auf Lager + "comingSoon": "In arrivo", // Bald verfügbar + "deliveryTime": "Tempi di consegna", // Lieferzeit + "inclShort": "incl.", // inkl. + "vatShort": "IVA", // MwSt. + "countDisplay": { + "noProducts": "0 prodotti", // 0 Produkte + "oneProduct": "1 prodotto", // 1 Produkt + "multipleProducts": "{{count}} prodotti", // {{count}} Produkte + "filteredProducts": "{{filtered}} di {{total}} prodotti", // {{filtered}} von {{total}} Produkten + "filteredOneProduct": "{{filtered}} di 1 prodotto", // {{filtered}} von 1 Produkt + "xOfYProducts": "{{x}} di {{y}} prodotti" // {{x}} von {{y}} Produkten + }, + "removeFiltersToSee": "Rimuovi i filtri per vedere i prodotti", // Entferne Filter um Produkte zu sehen + "outOfStock": "Esaurito", // Out of Stock + "fromXProducts": "da {{count}} prodotti" // ab {{count}} Produkten +}; diff --git a/src/i18n/locales/it/search.js b/src/i18n/locales/it/search.js new file mode 100644 index 0000000..07d9660 --- /dev/null +++ b/src/i18n/locales/it/search.js @@ -0,0 +1,5 @@ +export default { + "placeholder": "Puoi chiedermi delle varietà di cannabis...", // Du kannst mich nach Cannabissorten fragen... + "recording": "Registrazione in corso...", // Aufnahme läuft... + "searchProducts": "Cerca prodotti...", // Produkte suchen... +}; diff --git a/src/i18n/locales/it/sections.js b/src/i18n/locales/it/sections.js new file mode 100644 index 0000000..1d8078c --- /dev/null +++ b/src/i18n/locales/it/sections.js @@ -0,0 +1,8 @@ +export default { + "seeds": "Semi", // Seeds + "stecklinge": "Talee", // Stecklinge + "oilPress": "Noleggia pressa per olio", // Ölpresse ausleihen + "thcTest": "Test THC", // THC Test + "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 + "address2": "01129 Dresden" // 01129 Dresden +}; diff --git a/src/i18n/locales/it/settings.js b/src/i18n/locales/it/settings.js new file mode 100644 index 0000000..8136183 --- /dev/null +++ b/src/i18n/locales/it/settings.js @@ -0,0 +1,34 @@ +export default { + "changePassword": "Cambia password", // Passwort ändern + "currentPassword": "Password attuale", // Aktuelles Passwort + "newPassword": "Nuova password", // Neues Passwort + "confirmNewPassword": "Conferma nuova password", // Neues Passwort bestätigen + "updatePassword": "Aggiorna password", // Passwort aktualisieren + "changeEmail": "Cambia indirizzo email", // E-Mail-Adresse ändern + "password": "Password", // Passwort + "newEmail": "Nuovo indirizzo email", // Neue E-Mail-Adresse + "updateEmail": "Aggiorna email", // E-Mail aktualisieren + "apiKey": "API key", // API-Schlüssel + "apiKeyDescription": "Usa la tua API key per l'integrazione con applicazioni esterne.", // Verwenden Sie Ihren API-Schlüssel für die Integration mit externen Anwendungen. + "apiDocumentation": "Documentazione API:", // API-Dokumentation: + "copyToClipboard": "Copia negli appunti", // In Zwischenablage kopieren + "generate": "Genera", // Generieren + "regenerate": "Rigenera", // Regenerieren + "apiKeyCopied": "API key copiata negli appunti", // API-Schlüssel in Zwischenablage kopiert + "errors": { + "fillAllFields": "Per favore compila tutti i campi", // Bitte füllen Sie alle Felder aus + "passwordsNotMatch": "Le nuove password non corrispondono", // Die neuen Passwörter stimmen nicht überein + "passwordTooShort": "La nuova password deve essere lunga almeno 8 caratteri", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "passwordUpdateError": "Errore durante l'aggiornamento della password", // Fehler beim Aktualisieren des Passworts + "invalidEmail": "Per favore inserisci un indirizzo email valido", // Bitte geben Sie eine gültige E-Mail-Adresse ein + "emailUpdateError": "Errore durante l'aggiornamento dell'indirizzo email", // Fehler beim Aktualisieren der E-Mail-Adresse + "userNotFound": "Utente non trovato", // Benutzer nicht gefunden + "apiKeyGenerationError": "Errore durante la generazione della API key" // Fehler beim Generieren des API-Schlüssels + }, + "success": { + "passwordUpdated": "Password aggiornata con successo", // Passwort erfolgreich aktualisiert + "emailUpdated": "Indirizzo email aggiornato con successo", // E-Mail-Adresse erfolgreich aktualisiert + "apiKeyGenerated": "API key generata con successo", // API-Schlüssel erfolgreich generiert + "apiKeyWarning": "Conserva questa chiave in modo sicuro. Per motivi di sicurezza, sarà nascosta in 10 secondi." // Speichern Sie diesen Schlüssel sicher. Er wird aus Sicherheitsgründen in 10 Sekunden ausgeblendet. + } +}; diff --git a/src/i18n/locales/it/sorting.js b/src/i18n/locales/it/sorting.js new file mode 100644 index 0000000..3346075 --- /dev/null +++ b/src/i18n/locales/it/sorting.js @@ -0,0 +1,6 @@ +export default { + "name": "Nome", // Name + "searchField": "Termine di ricerca", // Suchbegriff + "priceLowHigh": "Prezzo: dal più basso al più alto", // Preis: Niedrig zu Hoch + "priceHighLow": "Prezzo: dal più alto al più basso" // Preis: Hoch zu Niedrig +}; diff --git a/src/i18n/locales/it/tax.js b/src/i18n/locales/it/tax.js new file mode 100644 index 0000000..80b41b3 --- /dev/null +++ b/src/i18n/locales/it/tax.js @@ -0,0 +1,12 @@ +export default { + "vat": "Imposta sul valore aggiunto", // Mehrwertsteuer + "vat7": "Imposta sul valore aggiunto del 7%", // 7% Mehrwertsteuer + "vat19": "Imposta sul valore aggiunto del 19%", // 19% Mehrwertsteuer + "vat19WithShipping": "Imposta sul valore aggiunto del 19% (incl. spedizione)", // 19% Mehrwertsteuer (inkl. Versand) + "totalNet": "Prezzo netto totale", // Gesamtnettopreis + "totalGross": "Prezzo lordo totale senza spedizione", // Gesamtbruttopreis ohne Versand + "subtotal": "Totale parziale", // Zwischensumme + "incl7Vat": "incl. 7% IVA", // inkl. 7% MwSt. + "inclVatWithFooter": "(incl. {{vat}}% IVA,*)", // (incl. {{vat}}% USt.,*) + "inclVatAmount": "incl. {{amount}} € IVA ({{rate}}%)" // nkl. {{amount}} € MwSt. ({{rate}}%) +}; diff --git a/src/i18n/locales/it/titles.js b/src/i18n/locales/it/titles.js new file mode 100644 index 0000000..4329bdf --- /dev/null +++ b/src/i18n/locales/it/titles.js @@ -0,0 +1,5 @@ +export default { + "home": "Semi e talee di cannabis di alta qualità", // Fine Cannabis Seeds & Cuttings + "aktionen": "Promozioni e offerte attuali", // Aktuelle Aktionen & Angebote + "filiale": "Il nostro negozio a Dresda" // Unsere Filiale in Dresden +}; diff --git a/src/i18n/locales/it/translation.js b/src/i18n/locales/it/translation.js index 9060695..820476a 100644 --- a/src/i18n/locales/it/translation.js +++ b/src/i18n/locales/it/translation.js @@ -1,231 +1,3 @@ -export default { - "locale": { - "code": "it-IT" // de-DE - }, - "navigation": { - "home": "Home", // Startseite - "aktionen": "Promozioni", // Aktionen - "filiale": "Filiale", // Filiale - "categories": "Categorie", // Kategorien - "categoriesOpen": "Apri categorie", // Kategorien öffnen - "categoriesClose": "Chiudi categorie", // Kategorien schließen - "otherCategories": "Altre categorie" // Andere Kategorien - }, - "auth": { - "login": "Accedi", // Anmelden - "register": "Registrati", // Registrieren - "logout": "Esci", // Abmelden - "profile": "Profilo", // Profil - "email": "Email", // E-Mail - "password": "Password", // Passwort - "confirmPassword": "Conferma password", // Passwort bestätigen - "forgotPassword": "Password dimenticata?", // Passwort vergessen? - "loginWithGoogle": "Accedi con Google", // Mit Google anmelden - "or": "O", // ODER - "privacyAccept": "Cliccando su \"Accedi con Google\" accetto la", // Mit dem Click auf \"Mit Google anmelden\" akzeptiere ich die - "privacyPolicy": "Privacy Policy", // Datenschutzbestimmungen - "passwordMinLength": "La password deve essere lunga almeno 8 caratteri", // Das Passwort muss mindestens 8 Zeichen lang sein - "newPasswordMinLength": "La nuova password deve essere lunga almeno 8 caratteri", // Das neue Passwort muss mindestens 8 Zeichen lang sein - "menu": { - "profile": "Profilo", // Profil - "checkout": "Checkout", // Bestellabschluss - "orders": "Ordini", // Bestellungen - "settings": "Impostazioni", // Einstellungen - "adminDashboard": "Admin Dashboard", // Admin Dashboard - "adminUsers": "Admin Users" // Admin Users - } - }, - "cart": { - "title": "Carrello", // Warenkorb - "empty": "vuoto", // leer - "addToCart": "Aggiungi al carrello", // In den Korb - "preorderCutting": "Preordina come talea", // Als Steckling vorbestellen - "continueShopping": "Continua lo shopping", // Weiter einkaufen - "proceedToCheckout": "Procedi al checkout", // Weiter zur Kasse - "productCount": "{{count}} {{count, plural, one {Prodotto} other {Prodotti}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} - "removeFromCart": "Rimuovi dal carrello", // Aus dem Warenkorb entfernen - "openCart": "Apri carrello", // Warenkorb öffnen - "availableFrom": "Disponibile da {{date}}", // Ab {{date}} - "backToOrder": "← Torna all'ordine", // ← Zurück zur Bestellung - "sync": { - "title": "Sincronizzazione carrello", // Warenkorb-Synchronisierung - "description": "Hai un carrello salvato nel tuo account. Per favore scegli come procedere:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten: - "deleteServer": "Elimina carrello server", // Server-Warenkorb löschen - "useServer": "Usa carrello server", // Server-Warenkorb übernehmen - "merge": "Unisci carrelli", // Warenkörbe zusammenführen - "currentCart": "Il tuo carrello attuale", // Ihr aktueller Warenkorb - "serverCart": "Carrello salvato nel tuo profilo" // In Ihrem Profil gespeicherter Warenkorb - } - }, - "product": { - "loading": "Caricamento prodotto...", // Produkt wird geladen... - "notFound": "Prodotto non trovato", // Produkt nicht gefunden - "notFoundDescription": "Il prodotto che stai cercando non esiste o è stato rimosso.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. - "backToHome": "Torna alla home", // Zurück zur Startseite - "error": "Errore", // Fehler - "articleNumber": "Numero articolo", // Artikelnummer - "manufacturer": "Produttore", // Hersteller - "inclVat": "incl. {{vat}}% IVA", // inkl. {{vat}}% MwSt. - "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} - "new": "Nuovo", // Neu - "arriving": "In arrivo:", // Ankunft: - "inclVatFooter": "incl. {{vat}}% IVA,*", // incl. {{vat}}% USt.,* - "availability": "Disponibilità", // Verfügbarkeit - "inStock": "in stock", // auf Lager - "comingSoon": "Prossimamente", // Bald verfügbar - "deliveryTime": "Tempi di consegna", // Lieferzeit - "inclShort": "incl.", // inkl. - "vatShort": "IVA", // MwSt. - "countDisplay": { - "noProducts": "0 prodotti", // 0 Produkte - "oneProduct": "1 prodotto", // 1 Produkt - "multipleProducts": "{{count}} prodotti", // {{count}} Produkte - "filteredProducts": "{{filtered}} di {{total}} prodotti", // {{filtered}} von {{total}} Produkten - "filteredOneProduct": "{{filtered}} di 1 prodotto" // {{filtered}} von 1 Produkt - }, - "removeFiltersToSee": "Rimuovi i filtri per vedere i prodotti", // Entferne Filter um Produkte zu sehen - "outOfStock": "Esaurito", // Out of Stock - "fromXProducts": "da {{count}} prodotti" // ab {{count}} Produkten - }, - "search": { - "placeholder": "Puoi chiedermi delle varietà di cannabis...", // Du kannst mich nach Cannabissorten fragen... - "recording": "Registrazione in corso...", // Aufnahme läuft... - "searchProducts": "Cerca prodotti..." // Produkte suchen... - }, - "sorting": { - "name": "Nome", // Name - "searchField": "Termine di ricerca", // Suchbegriff - "priceLowHigh": "Prezzo: dal più basso al più alto", // Preis: Niedrig zu Hoch - "priceHighLow": "Prezzo: dal più alto al più basso" // Preis: Hoch zu Niedrig - }, - "chat": { - "privacyRead": "Letto & Accettato" // Gelesen & Akzeptiert - }, - "delivery": { - "methods": { - "dhl": "DHL", // DHL - "dpd": "DPD", // DPD - "sperrgut": "Merci ingombranti", // Sperrgut - "pickup": "Ritiro in filiale" // Abholung in der Filiale - }, - "descriptions": { - "standard": "Spedizione standard", // Standardversand - "standardFree": "Spedizione standard - GRATIS per ordini superiori a €100!", // Standardversand - KOSTENLOS ab 100€ Warenwert! - "notAvailable": "Non selezionabile perché uno o più articoli possono essere solo ritirati", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können - "bulky": "Per articoli grandi e pesanti" // Für große und schwere Artikel - }, - "prices": { - "free": "gratis", // kostenlos - "freeFrom100": "(gratis da €100)", // (kostenlos ab 100€) - "dhl": "€6.99", // 6,99 € - "dpd": "€4.90", // 4,90 € - "sperrgut": "€28.99" // 28,99 € - }, - "times": { - "cutting14Days": "Tempi di consegna: 14 giorni", // Lieferzeit: 14 Tage - "standard2to3Days": "Tempi di consegna: 2-3 giorni", // Lieferzeit: 2-3 Tage - "supplier7to9Days": "Tempi di consegna: 7-9 giorni" // Lieferzeit: 7-9 Tage - } - }, - "checkout": { - "invoiceAddress": "Indirizzo di fatturazione", // Rechnungsadresse - "deliveryAddress": "Indirizzo di consegna", // Lieferadresse - "saveForFuture": "Salva per ordini futuri", // Für zukünftige Bestellungen speichern - "pickupDate": "Per quale data desideri ritirare le talee?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht? - "note": "Nota", // Anmerkung - "sameAddress": "L'indirizzo di consegna è lo stesso dell'indirizzo di fatturazione", // Lieferadresse ist identisch mit Rechnungsadresse - "termsAccept": "Ho letto i Termini e Condizioni, la Privacy Policy e le informazioni sul Diritto di Recesso" // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen - }, - "payment": { - "successful": "Pagamento effettuato con successo!", // Zahlung erfolgreich! - "failed": "Pagamento fallito", // Zahlung fehlgeschlagen - "orderCompleted": "🎉 Il tuo ordine è stato completato con successo! Ora puoi visualizzare i tuoi ordini.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. - "orderProcessing": "Il tuo pagamento è stato elaborato con successo. L'ordine sarà completato automaticamente.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. - "paymentError": "Il tuo pagamento non è stato elaborato. Per favore riprova o scegli un altro metodo di pagamento.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. - "viewOrders": "Visualizza i miei ordini" // Zu meinen Bestellungen - }, - "filters": { - "sorting": "Ordinamento", // Sortierung - "perPage": "per pagina", // pro Seite - "availability": "Disponibilità", // Verfügbarkeit - "manufacturer": "Produttore" // Hersteller - }, - "tax": { - "vat": "Imposta sul valore aggiunto", // Mehrwertsteuer - "vat7": "7% Imposta sul valore aggiunto", // 7% Mehrwertsteuer - "vat19": "19% Imposta sul valore aggiunto", // 19% Mehrwertsteuer - "vat19WithShipping": "19% Imposta sul valore aggiunto (incl. spedizione)", // 19% Mehrwertsteuer (inkl. Versand) - "totalNet": "Prezzo netto totale", // Gesamtnettopreis - "totalGross": "Prezzo lordo totale esclusa spedizione", // Gesamtbruttopreis ohne Versand - "subtotal": "Totale parziale" // Zwischensumme - }, - "footer": { - "hours": "Sab 11-19", // Sa 11-19 - "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden - "location": "Tra la fermata Pieschen e Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz - "allPricesIncl": "* Tutti i prezzi includono IVA legale, più spedizione", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand - "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de - "legal": { - "datenschutz": "Privacy", // Datenschutz - "agb": "Termini & Condizioni", // AGB - "sitemap": "Mappa del sito", // Sitemap - "impressum": "Impressum", // Impressum - "batteriegesetzhinweise": "Note sulla legge sulle batterie", // Batteriegesetzhinweise - "widerrufsrecht": "Diritto di recesso" // Widerrufsrecht - } - }, - "titles": { - "home": "Semi e talee di cannabis di alta qualità", // Fine Cannabis Seeds & Cuttings (the text in the string has special characters, translate using the comment) - "aktionen": "Promozioni e offerte attuali", // Aktuelle Aktionen & Angebote (the text in the string has special characters, translate using the comment) - "filiale": "La nostra filiale a Dresda" // Unsere Filiale in Dresden (the text in the string has special characters, translate using the comment) - }, - "sections": { - "seeds": "Semi", // Seeds - "stecklinge": "Talee", // Stecklinge - "oilPress": "Noleggia pressa per olio", // Ölpresse ausleihen - "thcTest": "Test THC", // THC Test - "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 - "address2": "01129 Dresden" // 01129 Dresden - }, - "pages": { - "oilPress": { - "title": "Noleggia pressa per olio", // Ölpresse ausleihen - "comingSoon": "Contenuto in arrivo..." // Inhalt kommt bald... - }, - "thcTest": { - "title": "Test THC", // THC Test - "comingSoon": "Contenuto in arrivo..." // Inhalt kommt bald... - } - }, - "orders": { - "status": { - "new": "In lavorazione", // in Bearbeitung - "pending": "Nuovo", // Neu - "processing": "In lavorazione", // in Bearbeitung - "cancelled": "Annullato", // Storniert - "shipped": "Spedito", // Verschickt - "delivered": "Consegnato", // Geliefert - "return": "Reso", // Retoure - "partialReturn": "Reso parziale", // Teil Retoure - "partialDelivered": "Consegnato parzialmente" // Teil geliefert - } - }, - "common": { - "loading": "Caricamento...", // Lädt... - "error": "Errore", // Fehler - "close": "Chiudi", // Schließen - "save": "Salva", // Speichern - "cancel": "Annulla", // Abbrechen - "ok": "OK", // OK - "yes": "Sì", // Ja - "no": "No", // Nein - "next": "Avanti", // Weiter - "back": "Indietro", // Zurück - "edit": "Modifica", // Bearbeiten - "delete": "Elimina", // Löschen - "add": "Aggiungi", // Hinzufügen - "remove": "Rimuovi", // Entfernen - "products": "Prodotti", // Produkte - "product": "Prodotto" // Produkt - } -}; +import translations from './index.js'; + +export default translations; \ No newline at end of file diff --git a/src/i18n/locales/pl/auth.js b/src/i18n/locales/pl/auth.js new file mode 100644 index 0000000..c3b1cd6 --- /dev/null +++ b/src/i18n/locales/pl/auth.js @@ -0,0 +1,25 @@ +export default { + "login": "Zaloguj się", // Anmelden + "register": "Zarejestruj się", // Registrieren + "logout": "Wyloguj się", // Abmelden + "profile": "Profil", // Profil + "email": "Email", // E-Mail + "password": "Hasło", // Passwort + "confirmPassword": "Potwierdź hasło", // Passwort bestätigen + "forgotPassword": "Zapomniałeś hasła?", // Passwort vergessen? + "loginWithGoogle": "Zaloguj się przez Google", // Mit Google anmelden + "or": "LUB", // ODER + "privacyAccept": "Klikając „Zaloguj się przez Google” akceptuję", // Mit dem Click auf "Mit Google anmelden" akzeptiere ich die + "privacyPolicy": "Politykę prywatności", // Datenschutzbestimmungen + "passwordMinLength": "Hasło musi mieć co najmniej 8 znaków", // Das Passwort muss mindestens 8 Zeichen lang sein + "newPasswordMinLength": "Nowe hasło musi mieć co najmniej 8 znaków", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "menu": { + "profile": "Profil", // Profil + "myProfile": "Mój profil", // Mein Profil + "checkout": "Zamówienie", // Bestellabschluss + "orders": "Zamówienia", // Bestellungen + "settings": "Ustawienia", // Einstellungen + "adminDashboard": "Panel administratora", // Admin Dashboard + "adminUsers": "Użytkownicy administratora" // Admin Users + } +}; diff --git a/src/i18n/locales/pl/cart.js b/src/i18n/locales/pl/cart.js new file mode 100644 index 0000000..aa0a393 --- /dev/null +++ b/src/i18n/locales/pl/cart.js @@ -0,0 +1,24 @@ +export default { + "title": "Koszyk", // Warenkorb + "empty": "pusty", // leer + "addToCart": "Dodaj do koszyka", // In den Korb + "preorderCutting": "Zamów jako sadzonkę", // Als Steckling vorbestellen + "continueShopping": "Kontynuuj zakupy", // Weiter einkaufen + "proceedToCheckout": "Przejdź do kasy", // Weiter zur Kasse + "productCount": "{{count}} {{count, plural, one {produkt} other {produkty}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} + "productSingular": "produkt", // Produkt + "productPlural": "produkty", // Produkte + "removeFromCart": "Usuń z koszyka", // Aus dem Warenkorb entfernen + "openCart": "Otwórz koszyk", // Warenkorb öffnen + "availableFrom": "Dostępne od {{date}}", // Ab {{date}} + "backToOrder": "← Powrót do zamówienia", // ← Zurück zur Bestellung + "sync": { + "title": "Synchronizacja koszyka", // Warenkorb-Synchronisierung + "description": "Masz zapisany koszyk na swoim koncie. Wybierz, jak chcesz postąpić:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten: + "deleteServer": "Usuń koszyk z serwera", // Server-Warenkorb löschen + "useServer": "Użyj koszyka z serwera", // Server-Warenkorb übernehmen + "merge": "Scal koszyki", // Warenkörbe zusammenführen + "currentCart": "Twój aktualny koszyk", // Ihr aktueller Warenkorb + "serverCart": "Koszyk zapisany w Twoim profilu" // In Ihrem Profil gespeicherter Warenkorb + } +}; diff --git a/src/i18n/locales/pl/chat.js b/src/i18n/locales/pl/chat.js new file mode 100644 index 0000000..db111ce --- /dev/null +++ b/src/i18n/locales/pl/chat.js @@ -0,0 +1,3 @@ +export default { + "privacyRead": "Przeczytano i zaakceptowano", // Gelesen & Akzeptiert +}; diff --git a/src/i18n/locales/pl/checkout.js b/src/i18n/locales/pl/checkout.js new file mode 100644 index 0000000..f37f7d7 --- /dev/null +++ b/src/i18n/locales/pl/checkout.js @@ -0,0 +1,13 @@ +export default { + "invoiceAddress": "Adres do faktury", // Rechnungsadresse + "deliveryAddress": "Adres dostawy", // Lieferadresse + "saveForFuture": "Zapisz na przyszłe zamówienia", // Für zukünftige Bestellungen speichern + "pickupDate": "Na jaki termin jest planowany odbiór sadzonek?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht? + "note": "Notatka", // Anmerkung + "sameAddress": "Adres dostawy jest taki sam jak adres do faktury", // Lieferadresse ist identisch mit Rechnungsadresse + "termsAccept": "Przeczytałem warunki i zasady, politykę prywatności oraz postanowienia dotyczące prawa do odstąpienia od umowy", // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen + "selectDeliveryMethod": "Wybierz metodę wysyłki", // Versandart wählen + "selectPaymentMethod": "Wybierz metodę płatności", // Zahlungsart wählen + "orderSummary": "Podsumowanie zamówienia", // Bestellübersicht + "addressValidationError": "Proszę sprawdzić wpisane dane w polach adresowych." // Bitte überprüfen Sie Ihre Eingaben in den Adressfeldern. +}; diff --git a/src/i18n/locales/pl/common.js b/src/i18n/locales/pl/common.js new file mode 100644 index 0000000..450dc79 --- /dev/null +++ b/src/i18n/locales/pl/common.js @@ -0,0 +1,19 @@ +export default { + "loading": "Ładowanie...", // Lädt... + "error": "Błąd", // Fehler + "close": "Zamknij", // Schließen + "save": "Zapisz", // Speichern + "cancel": "Anuluj", // Abbrechen + "ok": "OK", // OK + "yes": "Tak", // Ja + "no": "Nie", // Nein + "next": "Dalej", // Weiter + "back": "Wstecz", // Zurück + "edit": "Edytuj", // Bearbeiten + "delete": "Usuń", // Löschen + "add": "Dodaj", // Hinzufügen + "remove": "Usuń", // Entfernen + "products": "Produkty", // Produkte + "product": "Produkt", // Produkt + "days": "Dni" // Tage +}; diff --git a/src/i18n/locales/pl/delivery.js b/src/i18n/locales/pl/delivery.js new file mode 100644 index 0000000..f3948da --- /dev/null +++ b/src/i18n/locales/pl/delivery.js @@ -0,0 +1,27 @@ +export default { + "methods": { + "dhl": "DHL", // DHL + "dpd": "DPD", // DPD + "sperrgut": "Towary wielkogabarytowe", // Sperrgut + "pickup": "Odbiór w sklepie" // Abholung in der Filiale + }, + "descriptions": { + "standard": "Wysyłka standardowa", // Standardversand + "standardFree": "Wysyłka standardowa - GRATIS od zamówienia za 100€!", // Standardversand - KOSTENLOS ab 100€ Warenwert! + "notAvailable": "Nie do wyboru, ponieważ jeden lub więcej produktów można tylko odebrać", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können + "bulky": "Dla dużych i ciężkich przedmiotów", // Für große und schwere Artikel + "pickupOnly": "Tylko odbiór" // nur Abholung + }, + "prices": { + "free": "bezpłatnie", // kostenlos + "freeFrom100": "(bezpłatnie od 100€)", // (kostenlos ab 100€) + "dhl": "6,99 €", // 6,99 € + "dpd": "4,90 €", // 4,90 € + "sperrgut": "28,99 €" // 28,99 € + }, + "times": { + "cutting14Days": "Czas dostawy: 14 dni", // Lieferzeit: 14 Tage + "standard2to3Days": "Czas dostawy: 2-3 dni", // Lieferzeit: 2-3 Tage + "supplier7to9Days": "Czas dostawy: 7-9 dni" // Lieferzeit: 7-9 Tage + } +}; diff --git a/src/i18n/locales/pl/filters.js b/src/i18n/locales/pl/filters.js new file mode 100644 index 0000000..e2b62e1 --- /dev/null +++ b/src/i18n/locales/pl/filters.js @@ -0,0 +1,7 @@ +export default { + "sorting": "Sortowanie", // Sortierung + "perPage": "na stronę", // pro Seite + "availability": "Dostępność", // Verfügbarkeit + "manufacturer": "Producent", // Hersteller + "all": "Wszystkie", // Alle +}; diff --git a/src/i18n/locales/pl/footer.js b/src/i18n/locales/pl/footer.js new file mode 100644 index 0000000..d8a9e8d --- /dev/null +++ b/src/i18n/locales/pl/footer.js @@ -0,0 +1,15 @@ +export default { + "hours": "Sob 11:00-19:00", // Sa 11-19 + "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden + "location": "Między przystankiem Pieschen a Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz + "allPricesIncl": "* Wszystkie ceny zawierają ustawowy VAT, plus koszty wysyłki", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand + "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de + "legal": { + "datenschutz": "Polityka prywatności", // Datenschutz + "agb": "Regulamin", // AGB + "sitemap": "Mapa strony", // Sitemap + "impressum": "Informacje prawne", // Impressum + "batteriegesetzhinweise": "Informacje o ustawie o bateriach", // Batteriegesetzhinweise + "widerrufsrecht": "Prawo do odstąpienia od umowy" // Widerrufsrecht + } +}; diff --git a/src/i18n/locales/pl/index.js b/src/i18n/locales/pl/index.js new file mode 100644 index 0000000..1dd359f --- /dev/null +++ b/src/i18n/locales/pl/index.js @@ -0,0 +1,43 @@ +import locale from './locale.js'; +import navigation from './navigation.js'; +import auth from './auth.js'; +import cart from './cart.js'; +import product from './product.js'; +import search from './search.js'; +import sorting from './sorting.js'; +import chat from './chat.js'; +import delivery from './delivery.js'; +import checkout from './checkout.js'; +import payment from './payment.js'; +import filters from './filters.js'; +import tax from './tax.js'; +import footer from './footer.js'; +import titles from './titles.js'; +import sections from './sections.js'; +import pages from './pages.js'; +import orders from './orders.js'; +import settings from './settings.js'; +import common from './common.js'; + +export default { + "locale": locale, + "navigation": navigation, + "auth": auth, + "cart": cart, + "product": product, + "search": search, + "sorting": sorting, + "chat": chat, + "delivery": delivery, + "checkout": checkout, + "payment": payment, + "filters": filters, + "tax": tax, + "footer": footer, + "titles": titles, + "sections": sections, + "pages": pages, + "orders": orders, + "settings": settings, + "common": common +}; \ No newline at end of file diff --git a/src/i18n/locales/pl/locale.js b/src/i18n/locales/pl/locale.js new file mode 100644 index 0000000..6ad3613 --- /dev/null +++ b/src/i18n/locales/pl/locale.js @@ -0,0 +1,3 @@ +export default { + "code": "pl-PL" // de-DE +}; diff --git a/src/i18n/locales/pl/navigation.js b/src/i18n/locales/pl/navigation.js new file mode 100644 index 0000000..7598331 --- /dev/null +++ b/src/i18n/locales/pl/navigation.js @@ -0,0 +1,9 @@ +export default { + "home": "Strona główna", // Startseite + "aktionen": "Promocje", // Aktionen + "filiale": "Oddział", // Filiale + "categories": "Kategorie", // Kategorien + "categoriesOpen": "Otwórz kategorie", // Kategorien öffnen + "categoriesClose": "Zamknij kategorie", // Kategorien schließen + "otherCategories": "Inne kategorie" // Andere Kategorien +}; diff --git a/src/i18n/locales/pl/orders.js b/src/i18n/locales/pl/orders.js new file mode 100644 index 0000000..cd36a27 --- /dev/null +++ b/src/i18n/locales/pl/orders.js @@ -0,0 +1,23 @@ +export default { + "status": { + "new": "W trakcie realizacji", // in Bearbeitung + "pending": "Nowe", // Neu + "processing": "W trakcie realizacji", // in Bearbeitung + "cancelled": "Anulowano", // Storniert + "shipped": "Wysłano", // Verschickt + "delivered": "Dostarczono", // Geliefert + "return": "Zwrot", // Retoure + "partialReturn": "Częściowy zwrot", // Teil Retoure + "partialDelivered": "Częściowo dostarczono" // Teil geliefert + }, + "table": { + "orderNumber": "Numer zamówienia", // Bestellnummer + "date": "Data", // Datum + "status": "Status", // Status + "items": "Produkty", // Artikel + "total": "Razem", // Summe + "actions": "Akcje", // Aktionen + "viewDetails": "Pokaż szczegóły" // Details anzeigen + }, + "noOrders": "Nie złożyłeś jeszcze żadnych zamówień." // Sie haben noch keine Bestellungen aufgegeben. +}; diff --git a/src/i18n/locales/pl/pages.js b/src/i18n/locales/pl/pages.js new file mode 100644 index 0000000..4e04259 --- /dev/null +++ b/src/i18n/locales/pl/pages.js @@ -0,0 +1,10 @@ +export default { + "oilPress": { + "title": "Wypożycz prasę do oleju", // Ölpresse ausleihen + "comingSoon": "Zawartość wkrótce dostępna...", // Inhalt kommt bald... + }, + "thcTest": { + "title": "Test THC", // THC Test + "comingSoon": "Zawartość wkrótce dostępna...", // Inhalt kommt bald... + } +}; diff --git a/src/i18n/locales/pl/payment.js b/src/i18n/locales/pl/payment.js new file mode 100644 index 0000000..aae106f --- /dev/null +++ b/src/i18n/locales/pl/payment.js @@ -0,0 +1,8 @@ +export default { + "successful": "Płatność zakończona sukcesem!", // Zahlung erfolgreich! + "failed": "Płatność nie powiodła się", // Zahlung fehlgeschlagen + "orderCompleted": "🎉 Twoje zamówienie zostało pomyślnie zrealizowane! Możesz teraz przeglądać swoje zamówienia.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. + "orderProcessing": "Twoja płatność została pomyślnie przetworzona. Zamówienie zostanie automatycznie zakończone.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. + "paymentError": "Twoja płatność nie mogła zostać przetworzona. Proszę spróbuj ponownie lub wybierz inną metodę płatności.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. + "viewOrders": "Przejdź do moich zamówień" // Zu meinen Bestellungen +}; diff --git a/src/i18n/locales/pl/product.js b/src/i18n/locales/pl/product.js new file mode 100644 index 0000000..0134090 --- /dev/null +++ b/src/i18n/locales/pl/product.js @@ -0,0 +1,32 @@ +export default { + "loading": "Ładowanie produktu...", // Produkt wird geladen... + "notFound": "Produkt nie znaleziony", // Produkt nicht gefunden + "notFoundDescription": "Produkt, którego szukasz, nie istnieje lub został usunięty.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. + "backToHome": "Powrót do strony głównej", // Zurück zur Startseite + "error": "Błąd", // Fehler + "articleNumber": "Numer artykułu", // Artikelnummer + "manufacturer": "Producent", // Hersteller + "inclVat": "w tym {{vat}}% VAT", // inkl. {{vat}}% MwSt. + "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} + "new": "Nowy", // Neu + "weeks": "tygodnie", // Wochen + "arriving": "Przyjazd:", // Ankunft: + "inclVatFooter": "w tym {{vat}}% VAT,*", // inkl. {{vat}}% MwSt.,* + "availability": "Dostępność", // Verfügbarkeit + "inStock": "na stanie", // auf Lager + "comingSoon": "Wkrótce dostępne", // Bald verfügbar + "deliveryTime": "Czas dostawy", // Lieferzeit + "inclShort": "w tym", // inkl. + "vatShort": "VAT", // MwSt. + "countDisplay": { + "noProducts": "0 produktów", // 0 Produkte + "oneProduct": "1 produkt", // 1 Produkt + "multipleProducts": "{{count}} produktów", // {{count}} Produkte + "filteredProducts": "{{filtered}} z {{total}} produktów", // {{filtered}} von {{total}} Produkten + "filteredOneProduct": "{{filtered}} z 1 produktu", // {{filtered}} von 1 Produkt + "xOfYProducts": "{{x}} z {{y}} produktów" // {{x}} von {{y}} Produkten + }, + "removeFiltersToSee": "Usuń filtry, aby zobaczyć produkty", // Entferne Filter um Produkte zu sehen + "outOfStock": "Brak na stanie", // Out of Stock + "fromXProducts": "od {{count}} produktów" // ab {{count}} Produkten +}; diff --git a/src/i18n/locales/pl/search.js b/src/i18n/locales/pl/search.js new file mode 100644 index 0000000..eb11e61 --- /dev/null +++ b/src/i18n/locales/pl/search.js @@ -0,0 +1,5 @@ +export default { + "placeholder": "Możesz zapytać mnie o odmiany konopi...", // Du kannst mich nach Cannabissorten fragen... + "recording": "Nagrywanie w toku...", // Aufnahme läuft... + "searchProducts": "Szukaj produktów...", // Produkte suchen... +}; diff --git a/src/i18n/locales/pl/sections.js b/src/i18n/locales/pl/sections.js new file mode 100644 index 0000000..d509f7f --- /dev/null +++ b/src/i18n/locales/pl/sections.js @@ -0,0 +1,8 @@ +export default { + "seeds": "Nasiona", // Seeds + "stecklinge": "Sadzonki", // Stecklinge + "oilPress": "Wypożycz prasę do oleju", // Ölpresse ausleihen + "thcTest": "Test THC", // THC Test + "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 + "address2": "01129 Dresden" // 01129 Dresden +}; diff --git a/src/i18n/locales/pl/settings.js b/src/i18n/locales/pl/settings.js new file mode 100644 index 0000000..261402f --- /dev/null +++ b/src/i18n/locales/pl/settings.js @@ -0,0 +1,34 @@ +export default { + "changePassword": "Zmień hasło", // Passwort ändern + "currentPassword": "Aktualne hasło", // Aktuelles Passwort + "newPassword": "Nowe hasło", // Neues Passwort + "confirmNewPassword": "Potwierdź nowe hasło", // Neues Passwort bestätigen + "updatePassword": "Aktualizuj hasło", // Passwort aktualisieren + "changeEmail": "Zmień adres e-mail", // E-Mail-Adresse ändern + "password": "Hasło", // Passwort + "newEmail": "Nowy adres e-mail", // Neue E-Mail-Adresse + "updateEmail": "Aktualizuj e-mail", // E-Mail aktualisieren + "apiKey": "Klucz API", // API-Schlüssel + "apiKeyDescription": "Użyj swojego klucza API do integracji z aplikacjami zewnętrznymi.", // Verwenden Sie Ihren API-Schlüssel für die Integration mit externen Anwendungen. + "apiDocumentation": "Dokumentacja API:", // API-Dokumentation: + "copyToClipboard": "Kopiuj do schowka", // In Zwischenablage kopieren + "generate": "Generuj", // Generieren + "regenerate": "Regeneruj", // Regenerieren + "apiKeyCopied": "Klucz API skopiowany do schowka", // API-Schlüssel in Zwischenablage kopiert + "errors": { + "fillAllFields": "Proszę wypełnić wszystkie pola", // Bitte füllen Sie alle Felder aus + "passwordsNotMatch": "Nowe hasła nie są zgodne", // Die neuen Passwörter stimmen nicht überein + "passwordTooShort": "Nowe hasło musi mieć co najmniej 8 znaków", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "passwordUpdateError": "Błąd podczas aktualizacji hasła", // Fehler beim Aktualisieren des Passworts + "invalidEmail": "Proszę podać prawidłowy adres e-mail", // Bitte geben Sie eine gültige E-Mail-Adresse ein + "emailUpdateError": "Błąd podczas aktualizacji adresu e-mail", // Fehler beim Aktualisieren der E-Mail-Adresse + "userNotFound": "Użytkownik nie znaleziony", // Benutzer nicht gefunden + "apiKeyGenerationError": "Błąd podczas generowania klucza API" // Fehler beim Generieren des API-Schlüssels + }, + "success": { + "passwordUpdated": "Hasło zostało pomyślnie zaktualizowane", // Passwort erfolgreich aktualisiert + "emailUpdated": "Adres e-mail został pomyślnie zaktualizowany", // E-Mail-Adresse erfolgreich aktualisiert + "apiKeyGenerated": "Klucz API został pomyślnie wygenerowany", // API-Schlüssel erfolgreich generiert + "apiKeyWarning": "Przechowuj ten klucz w bezpiecznym miejscu. Ze względów bezpieczeństwa zostanie ukryty za 10 sekund." // Speichern Sie diesen Schlüssel sicher. Er wird aus Sicherheitsgründen in 10 Sekunden ausgeblendet. + } +}; diff --git a/src/i18n/locales/pl/sorting.js b/src/i18n/locales/pl/sorting.js new file mode 100644 index 0000000..266dde1 --- /dev/null +++ b/src/i18n/locales/pl/sorting.js @@ -0,0 +1,6 @@ +export default { + "name": "Nazwa", // Name + "searchField": "Fraza wyszukiwania", // Suchbegriff + "priceLowHigh": "Cena: od najniższej do najwyższej", // Preis: Niedrig zu Hoch + "priceHighLow": "Cena: od najwyższej do najniższej" // Preis: Hoch zu Niedrig +}; diff --git a/src/i18n/locales/pl/tax.js b/src/i18n/locales/pl/tax.js new file mode 100644 index 0000000..c6927ec --- /dev/null +++ b/src/i18n/locales/pl/tax.js @@ -0,0 +1,12 @@ +export default { + "vat": "Podatek od wartości dodanej", // Mehrwertsteuer + "vat7": "7% podatek od wartości dodanej", // 7% Mehrwertsteuer + "vat19": "19% podatek od wartości dodanej", // 19% Mehrwertsteuer + "vat19WithShipping": "19% podatek od wartości dodanej (w tym wysyłka)", // 19% Mehrwertsteuer (inkl. Versand) + "totalNet": "Łączna cena netto", // Gesamtnettopreis + "totalGross": "Łączna cena brutto bez wysyłki", // Gesamtbruttopreis ohne Versand + "subtotal": "Suma częściowa", // Zwischensumme + "incl7Vat": "w tym 7% VAT", // inkl. 7% MwSt. + "inclVatWithFooter": "(w tym {{vat}}% VAT,*)", // (incl. {{vat}}% USt.,*) + "inclVatAmount": "w tym {{amount}} € VAT ({{rate}}%)" // nkl. {{amount}} € MwSt. ({{rate}}%) +}; diff --git a/src/i18n/locales/pl/titles.js b/src/i18n/locales/pl/titles.js new file mode 100644 index 0000000..18751e6 --- /dev/null +++ b/src/i18n/locales/pl/titles.js @@ -0,0 +1,5 @@ +export default { + "home": "Doskonałe Nasiona i Szczepy Konopi", // Fine Cannabis Seeds & Cuttings + "aktionen": "Aktualne Promocje i Oferty", // Aktuelle Aktionen & Angebote + "filiale": "Nasz Sklep w Dreźnie" // Unsere Filiale in Dresden +}; diff --git a/src/i18n/locales/pl/translation.js b/src/i18n/locales/pl/translation.js index f44dbbc..820476a 100644 --- a/src/i18n/locales/pl/translation.js +++ b/src/i18n/locales/pl/translation.js @@ -1,231 +1,3 @@ -export default { - "locale": { - "code": "pl-PL" // de-DE - }, - "navigation": { - "home": "Strona główna", // Startseite - "aktionen": "Promocje", // Aktionen - "filiale": "Oddział", // Filiale - "categories": "Kategorie", // Kategorien - "categoriesOpen": "Otwórz kategorie", // Kategorien öffnen - "categoriesClose": "Zamknij kategorie", // Kategorien schließen - "otherCategories": "Inne kategorie" // Andere Kategorien - }, - "auth": { - "login": "Zaloguj się", // Anmelden - "register": "Zarejestruj się", // Registrieren - "logout": "Wyloguj się", // Abmelden - "profile": "Profil", // Profil - "email": "Email", // E-Mail - "password": "Hasło", // Passwort - "confirmPassword": "Potwierdź hasło", // Passwort bestätigen - "forgotPassword": "Zapomniałeś hasła?", // Passwort vergessen? - "loginWithGoogle": "Zaloguj się przez Google", // Mit Google anmelden - "or": "LUB", // ODER - "privacyAccept": "Klikając „Zaloguj się przez Google” akceptuję", // Mit dem Click auf \"Mit Google anmelden\" akzeptiere ich die - "privacyPolicy": "Politykę prywatności", // Datenschutzbestimmungen - "passwordMinLength": "Hasło musi mieć co najmniej 8 znaków", // Das Passwort muss mindestens 8 Zeichen lang sein - "newPasswordMinLength": "Nowe hasło musi mieć co najmniej 8 znaków", // Das neue Passwort muss mindestens 8 Zeichen lang sein - "menu": { - "profile": "Profil", // Profil - "checkout": "Zamówienie", // Bestellabschluss - "orders": "Zamówienia", // Bestellungen - "settings": "Ustawienia", // Einstellungen - "adminDashboard": "Panel administratora", // Admin Dashboard - "adminUsers": "Użytkownicy administratora" // Admin Users - } - }, - "cart": { - "title": "Koszyk", // Warenkorb - "empty": "pusty", // leer - "addToCart": "Dodaj do koszyka", // In den Korb - "preorderCutting": "Zamów jako sadzonkę", // Als Steckling vorbestellen - "continueShopping": "Kontynuuj zakupy", // Weiter einkaufen - "proceedToCheckout": "Przejdź do kasy", // Weiter zur Kasse - "productCount": "{{count}} {{count, plural, one {Produkt} other {Produkty}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} - "removeFromCart": "Usuń z koszyka", // Aus dem Warenkorb entfernen - "openCart": "Otwórz koszyk", // Warenkorb öffnen - "availableFrom": "Dostępne od {{date}}", // Ab {{date}} - "backToOrder": "← Powrót do zamówienia", // ← Zurück zur Bestellung - "sync": { - "title": "Synchronizacja koszyka", // Warenkorb-Synchronisierung - "description": "Masz zapisany koszyk na swoim koncie. Wybierz, jak chcesz kontynuować:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten: - "deleteServer": "Usuń koszyk z serwera", // Server-Warenkorb löschen - "useServer": "Użyj koszyka z serwera", // Server-Warenkorb übernehmen - "merge": "Połącz koszyki", // Warenkörbe zusammenführen - "currentCart": "Twój aktualny koszyk", // Ihr aktueller Warenkorb - "serverCart": "Koszyk zapisany w Twoim profilu" // In Ihrem Profil gespeicherter Warenkorb - } - }, - "product": { - "loading": "Ładowanie produktu...", // Produkt wird geladen... - "notFound": "Produkt nie znaleziony", // Produkt nicht gefunden - "notFoundDescription": "Produkt, którego szukasz, nie istnieje lub został usunięty.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. - "backToHome": "Powrót do strony głównej", // Zurück zur Startseite - "error": "Błąd", // Fehler - "articleNumber": "Numer artykułu", // Artikelnummer - "manufacturer": "Producent", // Hersteller - "inclVat": "w tym {{vat}}% VAT", // inkl. {{vat}}% MwSt. - "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} - "new": "Nowość", // Neu - "arriving": "Nadchodzi:", // Ankunft: - "inclVatFooter": "w tym {{vat}}% VAT,*", // incl. {{vat}}% USt.,* - "availability": "Dostępność", // Verfügbarkeit - "inStock": "na stanie", // auf Lager - "comingSoon": "Wkrótce dostępne", // Bald verfügbar - "deliveryTime": "Czas dostawy", // Lieferzeit - "inclShort": "w tym", // inkl. - "vatShort": "VAT", // MwSt. - "countDisplay": { - "noProducts": "0 produktów", // 0 Produkte - "oneProduct": "1 produkt", // 1 Produkt - "multipleProducts": "{{count}} produktów", // {{count}} Produkte - "filteredProducts": "{{filtered}} z {{total}} produktów", // {{filtered}} von {{total}} Produkten - "filteredOneProduct": "{{filtered}} z 1 produktu" // {{filtered}} von 1 Produkt - }, - "removeFiltersToSee": "Usuń filtry, aby zobaczyć produkty", // Entferne Filter um Produkte zu sehen - "outOfStock": "Brak na stanie", // Out of Stock - "fromXProducts": "od {{count}} produktów" // ab {{count}} Produkten - }, - "search": { - "placeholder": "Możesz zapytać mnie o odmiany konopi...", // Du kannst mich nach Cannabissorten fragen... - "recording": "Nagrywanie...", // Aufnahme läuft... - "searchProducts": "Szukaj produktów..." // Produkte suchen... - }, - "sorting": { - "name": "Nazwa", // Name - "searchField": "Fraza wyszukiwania", // Suchbegriff - "priceLowHigh": "Cena: od najniższej do najwyższej", // Preis: Niedrig zu Hoch - "priceHighLow": "Cena: od najwyższej do najniższej" // Preis: Hoch zu Niedrig - }, - "chat": { - "privacyRead": "Przeczytano i zaakceptowano" // Gelesen & Akzeptiert - }, - "delivery": { - "methods": { - "dhl": "DHL", // DHL - "dpd": "DPD", // DPD - "sperrgut": "Towary wielkogabarytowe", // Sperrgut - "pickup": "Odbiór w oddziale" // Abholung in der Filiale - }, - "descriptions": { - "standard": "Standardowa wysyłka", // Standardversand - "standardFree": "Standardowa wysyłka - GRATIS od zamówienia za 100€!", // Standardversand - KOSTENLOS ab 100€ Warenwert! - "notAvailable": "Nie można wybrać, ponieważ jeden lub więcej produktów można odebrać tylko osobiście", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können - "bulky": "Dla dużych i ciężkich przedmiotów" // Für große und schwere Artikel - }, - "prices": { - "free": "bezpłatnie", // kostenlos - "freeFrom100": "(bezpłatnie od 100€)", // (kostenlos ab 100€) - "dhl": "6,99 €", // 6,99 € - "dpd": "4,90 €", // 4,90 € - "sperrgut": "28,99 €" // 28,99 € - }, - "times": { - "cutting14Days": "Czas dostawy: 14 dni", // Lieferzeit: 14 Tage - "standard2to3Days": "Czas dostawy: 2-3 dni", // Lieferzeit: 2-3 Tage - "supplier7to9Days": "Czas dostawy: 7-9 dni" // Lieferzeit: 7-9 Tage - } - }, - "checkout": { - "invoiceAddress": "Adres do faktury", // Rechnungsadresse - "deliveryAddress": "Adres dostawy", // Lieferadresse - "saveForFuture": "Zapisz na przyszłe zamówienia", // Für zukünftige Bestellungen speichern - "pickupDate": "Na jaki termin chcesz odebrać sadzonki?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht? - "note": "Notatka", // Anmerkung - "sameAddress": "Adres dostawy jest taki sam jak adres do faktury", // Lieferadresse ist identisch mit Rechnungsadresse - "termsAccept": "Przeczytałem Warunki, Politykę prywatności oraz informacje o prawie do odstąpienia od umowy" // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen - }, - "payment": { - "successful": "Płatność zakończona sukcesem!", // Zahlung erfolgreich! - "failed": "Płatność nie powiodła się", // Zahlung fehlgeschlagen - "orderCompleted": "🎉 Twoje zamówienie zostało pomyślnie zrealizowane! Możesz teraz przeglądać swoje zamówienia.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. - "orderProcessing": "Twoja płatność została pomyślnie przetworzona. Zamówienie zostanie automatycznie zakończone.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. - "paymentError": "Twoja płatność nie mogła zostać przetworzona. Spróbuj ponownie lub wybierz inną metodę płatności.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. - "viewOrders": "Zobacz moje zamówienia" // Zu meinen Bestellungen - }, - "filters": { - "sorting": "Sortowanie", // Sortierung - "perPage": "na stronę", // pro Seite - "availability": "Dostępność", // Verfügbarkeit - "manufacturer": "Producent" // Hersteller - }, - "tax": { - "vat": "Podatek VAT", // Mehrwertsteuer - "vat7": "7% podatek VAT", // 7% Mehrwertsteuer - "vat19": "19% podatek VAT", // 19% Mehrwertsteuer - "vat19WithShipping": "19% podatek VAT (w tym wysyłka)", // 19% Mehrwertsteuer (inkl. Versand) - "totalNet": "Łączna cena netto", // Gesamtnettopreis - "totalGross": "Łączna cena brutto bez wysyłki", // Gesamtbruttopreis ohne Versand - "subtotal": "Suma częściowa" // Zwischensumme - }, - "footer": { - "hours": "Sob 11-19", // Sa 11-19 - "address": "Trachenberger Straße 14 - Drezno", // Trachenberger Straße 14 - Dresden - "location": "Między przystankiem Pieschen a Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz - "allPricesIncl": "* Wszystkie ceny zawierają ustawowy VAT, plus koszty wysyłki", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand - "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de - "legal": { - "datenschutz": "Prywatność", // Datenschutz - "agb": "Regulamin", // AGB - "sitemap": "Mapa strony", // Sitemap - "impressum": "Impressum", // Impressum - "batteriegesetzhinweise": "Informacje o ustawie o bateriach", // Batteriegesetzhinweise - "widerrufsrecht": "Prawo do odstąpienia" // Widerrufsrecht - } - }, - "titles": { - "home": "Wysokiej jakości nasiona i sadzonki konopi", // Fine Cannabis Seeds & Cuttings (the text in the string has special characters, translate using the comment) - "aktionen": "Aktualne promocje i oferty", // Aktuelle Aktionen & Angebote (the text in the string has special characters, translate using the comment) - "filiale": "Nasz oddział w Dreźnie" // Unsere Filiale in Dresden (the text in the string has special characters, translate using the comment) - }, - "sections": { - "seeds": "Nasiona", // Seeds - "stecklinge": "Sadzonki", // Stecklinge - "oilPress": "Wypożycz praskę do oleju", // Ölpresse ausleihen - "thcTest": "Test THC", // THC Test - "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 - "address2": "01129 Drezno" // 01129 Dresden - }, - "pages": { - "oilPress": { - "title": "Wypożycz praskę do oleju", // Ölpresse ausleihen - "comingSoon": "Zawartość wkrótce..." // Inhalt kommt bald... - }, - "thcTest": { - "title": "Test THC", // THC Test - "comingSoon": "Zawartość wkrótce..." // Inhalt kommt bald... - } - }, - "orders": { - "status": { - "new": "W trakcie realizacji", // in Bearbeitung - "pending": "Nowe", // Neu - "processing": "W trakcie realizacji", // in Bearbeitung - "cancelled": "Anulowane", // Storniert - "shipped": "Wysłane", // Verschickt - "delivered": "Dostarczone", // Geliefert - "return": "Zwrot", // Retoure - "partialReturn": "Częściowy zwrot", // Teil Retoure - "partialDelivered": "Częściowo dostarczone" // Teil geliefert - } - }, - "common": { - "loading": "Ładowanie...", // Lädt... - "error": "Błąd", // Fehler - "close": "Zamknij", // Schließen - "save": "Zapisz", // Speichern - "cancel": "Anuluj", // Abbrechen - "ok": "OK", // OK - "yes": "Tak", // Ja - "no": "Nie", // Nein - "next": "Dalej", // Weiter - "back": "Wstecz", // Zurück - "edit": "Edytuj", // Bearbeiten - "delete": "Usuń", // Löschen - "add": "Dodaj", // Hinzufügen - "remove": "Usuń", // Entfernen - "products": "Produkty", // Produkte - "product": "Produkt" // Produkt - } -}; +import translations from './index.js'; + +export default translations; \ No newline at end of file diff --git a/src/i18n/locales/ro/auth.js b/src/i18n/locales/ro/auth.js new file mode 100644 index 0000000..9e562dd --- /dev/null +++ b/src/i18n/locales/ro/auth.js @@ -0,0 +1,25 @@ +export default { + "login": "Autentificare", // Anmelden + "register": "Înregistrare", // Registrieren + "logout": "Deconectare", // Abmelden + "profile": "Profil", // Profil + "email": "Email", // E-Mail + "password": "Parolă", // Passwort + "confirmPassword": "Confirmă parola", // Passwort bestätigen + "forgotPassword": "Ai uitat parola?", // Passwort vergessen? + "loginWithGoogle": "Conectează-te cu Google", // Mit Google anmelden + "or": "SAU", // ODER + "privacyAccept": "Prin clic pe „Conectează-te cu Google” accept", // Mit dem Click auf "Mit Google anmelden" akzeptiere ich die + "privacyPolicy": "Politica de confidențialitate", // Datenschutzbestimmungen + "passwordMinLength": "Parola trebuie să aibă cel puțin 8 caractere", // Das Passwort muss mindestens 8 Zeichen lang sein + "newPasswordMinLength": "Noua parolă trebuie să aibă cel puțin 8 caractere", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "menu": { + "profile": "Profil", // Profil + "myProfile": "Profilul meu", // Mein Profil + "checkout": "Finalizare comandă", // Bestellabschluss + "orders": "Comenzi", // Bestellungen + "settings": "Setări", // Einstellungen + "adminDashboard": "Panou de administrare", // Admin Dashboard + "adminUsers": "Utilizatori Admin" // Admin Users + } +}; diff --git a/src/i18n/locales/ro/cart.js b/src/i18n/locales/ro/cart.js new file mode 100644 index 0000000..ff1fcde --- /dev/null +++ b/src/i18n/locales/ro/cart.js @@ -0,0 +1,24 @@ +export default { + "title": "Coș", // Warenkorb + "empty": "gol", // leer + "addToCart": "Adaugă în coș", // In den Korb + "preorderCutting": "Precomandă ca butaș", // Als Steckling vorbestellen + "continueShopping": "Continuă cumpărăturile", // Weiter einkaufen + "proceedToCheckout": "Continuă la plată", // Weiter zur Kasse + "productCount": "{{count}} {{count, plural, one {produs} other {produse}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} + "productSingular": "produs", // Produkt + "productPlural": "produse", // Produkte + "removeFromCart": "Elimină din coș", // Aus dem Warenkorb entfernen + "openCart": "Deschide coșul", // Warenkorb öffnen + "availableFrom": "Disponibil din {{date}}", // Ab {{date}} + "backToOrder": "← Înapoi la comandă", // ← Zurück zur Bestellung + "sync": { + "title": "Sincronizarea coșului", // Warenkorb-Synchronisierung + "description": "Ai un coș salvat în contul tău. Te rugăm să alegi cum dorești să procedezi:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten: + "deleteServer": "Șterge coșul de pe server", // Server-Warenkorb löschen + "useServer": "Folosește coșul de pe server", // Server-Warenkorb übernehmen + "merge": "Combină coșurile", // Warenkörbe zusammenführen + "currentCart": "Coșul tău curent", // Ihr aktueller Warenkorb + "serverCart": "Coș salvat în profilul tău" // In Ihrem Profil gespeicherter Warenkorb + } +}; diff --git a/src/i18n/locales/ro/chat.js b/src/i18n/locales/ro/chat.js new file mode 100644 index 0000000..058c368 --- /dev/null +++ b/src/i18n/locales/ro/chat.js @@ -0,0 +1,3 @@ +export default { + "privacyRead": "Citit și acceptat", // Gelesen & Akzeptiert +}; diff --git a/src/i18n/locales/ro/checkout.js b/src/i18n/locales/ro/checkout.js new file mode 100644 index 0000000..c8e05ff --- /dev/null +++ b/src/i18n/locales/ro/checkout.js @@ -0,0 +1,13 @@ +export default { + "invoiceAddress": "Adresă facturare", // Rechnungsadresse + "deliveryAddress": "Adresă livrare", // Lieferadresse + "saveForFuture": "Salvează pentru comenzile viitoare", // Für zukünftige Bestellungen speichern + "pickupDate": "Pentru ce dată se dorește ridicarea butașilor?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht? + "note": "Notă", // Anmerkung + "sameAddress": "Adresa de livrare este identică cu adresa de facturare", // Lieferadresse ist identisch mit Rechnungsadresse + "termsAccept": "Am citit termenii și condițiile, politica de confidențialitate și prevederile privind dreptul de retragere", // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen + "selectDeliveryMethod": "Selectați metoda de livrare", // Versandart wählen + "selectPaymentMethod": "Selectați metoda de plată", // Zahlungsart wählen + "orderSummary": "Rezumat comandă", // Bestellübersicht + "addressValidationError": "Vă rugăm să verificați datele introduse în câmpurile de adresă." // Bitte überprüfen Sie Ihre Eingaben in den Adressfeldern. +}; diff --git a/src/i18n/locales/ro/common.js b/src/i18n/locales/ro/common.js new file mode 100644 index 0000000..2e41039 --- /dev/null +++ b/src/i18n/locales/ro/common.js @@ -0,0 +1,19 @@ +export default { + "loading": "Se încarcă...", // Lädt... + "error": "Eroare", // Fehler + "close": "Închide", // Schließen + "save": "Salvează", // Speichern + "cancel": "Anulează", // Abbrechen + "ok": "OK", // OK + "yes": "Da", // Ja + "no": "Nu", // Nein + "next": "Următorul", // Weiter + "back": "Înapoi", // Zurück + "edit": "Editează", // Bearbeiten + "delete": "Șterge", // Löschen + "add": "Adaugă", // Hinzufügen + "remove": "Elimină", // Entfernen + "products": "Produse", // Produkte + "product": "Produs", // Produkt + "days": "Zile" // Tage +}; diff --git a/src/i18n/locales/ro/delivery.js b/src/i18n/locales/ro/delivery.js new file mode 100644 index 0000000..199a301 --- /dev/null +++ b/src/i18n/locales/ro/delivery.js @@ -0,0 +1,27 @@ +export default { + "methods": { + "dhl": "DHL", // DHL + "dpd": "DPD", // DPD + "sperrgut": "Mărfuri voluminoase", // Sperrgut + "pickup": "Ridicare din magazin" // Abholung in der Filiale + }, + "descriptions": { + "standard": "Livrare standard", // Standardversand + "standardFree": "Livrare standard - GRATUITĂ pentru comenzi de peste 100€!", // Standardversand - KOSTENLOS ab 100€ Warenwert! + "notAvailable": "Nu poate fi selectat deoarece unul sau mai multe articole pot fi ridicate doar personal", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können + "bulky": "Pentru articole mari și grele", // Für große und schwere Artikel + "pickupOnly": "Doar ridicare personală" // nur Abholung + }, + "prices": { + "free": "gratuit", // kostenlos + "freeFrom100": "(gratuit pentru comenzi de peste 100€)", // (kostenlos ab 100€) + "dhl": "6,99 €", // 6,99 € + "dpd": "4,90 €", // 4,90 € + "sperrgut": "28,99 €" // 28,99 € + }, + "times": { + "cutting14Days": "Timp de livrare: 14 zile", // Lieferzeit: 14 Tage + "standard2to3Days": "Timp de livrare: 2-3 zile", // Lieferzeit: 2-3 Tage + "supplier7to9Days": "Timp de livrare: 7-9 zile" // Lieferzeit: 7-9 Tage + } +}; diff --git a/src/i18n/locales/ro/filters.js b/src/i18n/locales/ro/filters.js new file mode 100644 index 0000000..a305716 --- /dev/null +++ b/src/i18n/locales/ro/filters.js @@ -0,0 +1,7 @@ +export default { + "sorting": "Sortare", // Sortierung + "perPage": "pe pagină", // pro Seite + "availability": "Disponibilitate", // Verfügbarkeit + "manufacturer": "Producător", // Hersteller + "all": "Toate", // Alle +}; diff --git a/src/i18n/locales/ro/footer.js b/src/i18n/locales/ro/footer.js new file mode 100644 index 0000000..d257417 --- /dev/null +++ b/src/i18n/locales/ro/footer.js @@ -0,0 +1,15 @@ +export default { + "hours": "Sâ 11:00-19:00", // Sa 11-19 + "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden + "location": "Între stația Pieschen și Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz + "allPricesIncl": "* Toate prețurile includ TVA-ul legal, plus costurile de transport", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand + "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de + "legal": { + "datenschutz": "Politica de confidențialitate", // Datenschutz + "agb": "Termeni și condiții", // AGB + "sitemap": "Harta site-ului", // Sitemap + "impressum": "Notă legală", // Impressum + "batteriegesetzhinweise": "Informații privind legea bateriilor", // Batteriegesetzhinweise + "widerrufsrecht": "Dreptul de retragere" // Widerrufsrecht + } +}; diff --git a/src/i18n/locales/ro/index.js b/src/i18n/locales/ro/index.js new file mode 100644 index 0000000..1dd359f --- /dev/null +++ b/src/i18n/locales/ro/index.js @@ -0,0 +1,43 @@ +import locale from './locale.js'; +import navigation from './navigation.js'; +import auth from './auth.js'; +import cart from './cart.js'; +import product from './product.js'; +import search from './search.js'; +import sorting from './sorting.js'; +import chat from './chat.js'; +import delivery from './delivery.js'; +import checkout from './checkout.js'; +import payment from './payment.js'; +import filters from './filters.js'; +import tax from './tax.js'; +import footer from './footer.js'; +import titles from './titles.js'; +import sections from './sections.js'; +import pages from './pages.js'; +import orders from './orders.js'; +import settings from './settings.js'; +import common from './common.js'; + +export default { + "locale": locale, + "navigation": navigation, + "auth": auth, + "cart": cart, + "product": product, + "search": search, + "sorting": sorting, + "chat": chat, + "delivery": delivery, + "checkout": checkout, + "payment": payment, + "filters": filters, + "tax": tax, + "footer": footer, + "titles": titles, + "sections": sections, + "pages": pages, + "orders": orders, + "settings": settings, + "common": common +}; \ No newline at end of file diff --git a/src/i18n/locales/ro/locale.js b/src/i18n/locales/ro/locale.js new file mode 100644 index 0000000..8a4930c --- /dev/null +++ b/src/i18n/locales/ro/locale.js @@ -0,0 +1,3 @@ +export default { + "code": "ro-RO" // de-DE +}; diff --git a/src/i18n/locales/ro/navigation.js b/src/i18n/locales/ro/navigation.js new file mode 100644 index 0000000..dfdcbe8 --- /dev/null +++ b/src/i18n/locales/ro/navigation.js @@ -0,0 +1,9 @@ +export default { + "home": "Acasă", // Startseite + "aktionen": "Promoții", // Aktionen + "filiale": "Sucursală", // Filiale + "categories": "Categorii", // Kategorien + "categoriesOpen": "Deschide categoriile", // Kategorien öffnen + "categoriesClose": "Închide categoriile", // Kategorien schließen + "otherCategories": "Alte categorii" // Andere Kategorien +}; diff --git a/src/i18n/locales/ro/orders.js b/src/i18n/locales/ro/orders.js new file mode 100644 index 0000000..53c3deb --- /dev/null +++ b/src/i18n/locales/ro/orders.js @@ -0,0 +1,23 @@ +export default { + "status": { + "new": "În curs", // in Bearbeitung + "pending": "Nou", // Neu + "processing": "În curs", // in Bearbeitung + "cancelled": "Anulat", // Storniert + "shipped": "Expediat", // Verschickt + "delivered": "Livrat", // Geliefert + "return": "Returnare", // Retoure + "partialReturn": "Returnare parțială", // Teil Retoure + "partialDelivered": "Livrat parțial" // Teil geliefert + }, + "table": { + "orderNumber": "Număr comandă", // Bestellnummer + "date": "Data", // Datum + "status": "Status", // Status + "items": "Articole", // Artikel + "total": "Total", // Summe + "actions": "Acțiuni", // Aktionen + "viewDetails": "Vezi detalii" // Details anzeigen + }, + "noOrders": "Nu ați plasat încă nicio comandă." // Sie haben noch keine Bestellungen aufgegeben. +}; diff --git a/src/i18n/locales/ro/pages.js b/src/i18n/locales/ro/pages.js new file mode 100644 index 0000000..b93adeb --- /dev/null +++ b/src/i18n/locales/ro/pages.js @@ -0,0 +1,10 @@ +export default { + "oilPress": { + "title": "Împrumută presa de ulei", // Ölpresse ausleihen + "comingSoon": "Conținutul va fi disponibil în curând...", // Inhalt kommt bald... + }, + "thcTest": { + "title": "Test THC", // THC Test + "comingSoon": "Conținutul va fi disponibil în curând...", // Inhalt kommt bald... + } +}; diff --git a/src/i18n/locales/ro/payment.js b/src/i18n/locales/ro/payment.js new file mode 100644 index 0000000..dd77690 --- /dev/null +++ b/src/i18n/locales/ro/payment.js @@ -0,0 +1,8 @@ +export default { + "successful": "Plată reușită!", // Zahlung erfolgreich! + "failed": "Plata a eșuat", // Zahlung fehlgeschlagen + "orderCompleted": "🎉 Comanda ta a fost finalizată cu succes! Acum poți vedea comenzile tale.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. + "orderProcessing": "Plata ta a fost procesată cu succes. Comanda va fi finalizată automat.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. + "paymentError": "Plata ta nu a putut fi procesată. Te rugăm să încerci din nou sau să alegi o altă metodă de plată.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. + "viewOrders": "Mergi la comenzile mele" // Zu meinen Bestellungen +}; diff --git a/src/i18n/locales/ro/product.js b/src/i18n/locales/ro/product.js new file mode 100644 index 0000000..29f6d18 --- /dev/null +++ b/src/i18n/locales/ro/product.js @@ -0,0 +1,32 @@ +export default { + "loading": "Se încarcă produsul...", // Produkt wird geladen... + "notFound": "Produsul nu a fost găsit", // Produkt nicht gefunden + "notFoundDescription": "Produsul pe care îl căutați nu există sau a fost eliminat.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. + "backToHome": "Înapoi la pagina principală", // Zurück zur Startseite + "error": "Eroare", // Fehler + "articleNumber": "Număr articol", // Artikelnummer + "manufacturer": "Producător", // Hersteller + "inclVat": "inclusiv {{vat}}% TVA", // inkl. {{vat}}% MwSt. + "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} + "new": "Nou", // Neu + "weeks": "săptămâni", // Wochen + "arriving": "Sosire:", // Ankunft: + "inclVatFooter": "inclusiv {{vat}}% TVA,*", // inkl. {{vat}}% MwSt.,* + "availability": "Disponibilitate", // Verfügbarkeit + "inStock": "în stoc", // auf Lager + "comingSoon": "În curând", // Bald verfügbar + "deliveryTime": "Timp de livrare", // Lieferzeit + "inclShort": "incl.", // inkl. + "vatShort": "TVA", // MwSt. + "countDisplay": { + "noProducts": "0 produse", // 0 Produkte + "oneProduct": "1 produs", // 1 Produkt + "multipleProducts": "{{count}} produse", // {{count}} Produkte + "filteredProducts": "{{filtered}} din {{total}} produse", // {{filtered}} von {{total}} Produkten + "filteredOneProduct": "{{filtered}} din 1 produs", // {{filtered}} von 1 Produkt + "xOfYProducts": "{{x}} din {{y}} produse" // {{x}} von {{y}} Produkten + }, + "removeFiltersToSee": "Eliminați filtrele pentru a vedea produsele", // Entferne Filter um Produkte zu sehen + "outOfStock": "Stoc epuizat", // Out of Stock + "fromXProducts": "de la {{count}} produse" // ab {{count}} Produkten +}; diff --git a/src/i18n/locales/ro/search.js b/src/i18n/locales/ro/search.js new file mode 100644 index 0000000..03c8c1a --- /dev/null +++ b/src/i18n/locales/ro/search.js @@ -0,0 +1,5 @@ +export default { + "placeholder": "Mă poți întreba despre soiuri de cannabis...", // Du kannst mich nach Cannabissorten fragen... + "recording": "Înregistrare în curs...", // Aufnahme läuft... + "searchProducts": "Caută produse...", // Produkte suchen... +}; diff --git a/src/i18n/locales/ro/sections.js b/src/i18n/locales/ro/sections.js new file mode 100644 index 0000000..22ee4fe --- /dev/null +++ b/src/i18n/locales/ro/sections.js @@ -0,0 +1,8 @@ +export default { + "seeds": "Semințe", // Seeds + "stecklinge": "Butășe", // Stecklinge + "oilPress": "Împrumută presa de ulei", // Ölpresse ausleihen + "thcTest": "Test THC", // THC Test + "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 + "address2": "01129 Dresden" // 01129 Dresden +}; diff --git a/src/i18n/locales/ro/settings.js b/src/i18n/locales/ro/settings.js new file mode 100644 index 0000000..188e2b3 --- /dev/null +++ b/src/i18n/locales/ro/settings.js @@ -0,0 +1,34 @@ +export default { + "changePassword": "Schimbă parola", // Passwort ändern + "currentPassword": "Parola curentă", // Aktuelles Passwort + "newPassword": "Parolă nouă", // Neues Passwort + "confirmNewPassword": "Confirmă parola nouă", // Neues Passwort bestätigen + "updatePassword": "Actualizează parola", // Passwort aktualisieren + "changeEmail": "Schimbă adresa de email", // E-Mail-Adresse ändern + "password": "Parolă", // Passwort + "newEmail": "Adresă de email nouă", // Neue E-Mail-Adresse + "updateEmail": "Actualizează emailul", // E-Mail aktualisieren + "apiKey": "Cheie API", // API-Schlüssel + "apiKeyDescription": "Folosește cheia ta API pentru integrarea cu aplicații externe.", // Verwenden Sie Ihren API-Schlüssel für die Integration mit externen Anwendungen. + "apiDocumentation": "Documentație API:", // API-Dokumentation: + "copyToClipboard": "Copiază în clipboard", // In Zwischenablage kopieren + "generate": "Generează", // Generieren + "regenerate": "Regenerare", // Regenerieren + "apiKeyCopied": "Cheia API a fost copiată în clipboard", // API-Schlüssel in Zwischenablage kopiert + "errors": { + "fillAllFields": "Te rugăm să completezi toate câmpurile", // Bitte füllen Sie alle Felder aus + "passwordsNotMatch": "Noile parole nu coincid", // Die neuen Passwörter stimmen nicht überein + "passwordTooShort": "Parola nouă trebuie să aibă cel puțin 8 caractere", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "passwordUpdateError": "Eroare la actualizarea parolei", // Fehler beim Aktualisieren des Passworts + "invalidEmail": "Te rugăm să introduci o adresă de email validă", // Bitte geben Sie eine gültige E-Mail-Adresse ein + "emailUpdateError": "Eroare la actualizarea adresei de email", // Fehler beim Aktualisieren der E-Mail-Adresse + "userNotFound": "Utilizatorul nu a fost găsit", // Benutzer nicht gefunden + "apiKeyGenerationError": "Eroare la generarea cheii API" // Fehler beim Generieren des API-Schlüssels + }, + "success": { + "passwordUpdated": "Parola a fost actualizată cu succes", // Passwort erfolgreich aktualisiert + "emailUpdated": "Adresa de email a fost actualizată cu succes", // E-Mail-Adresse erfolgreich aktualisiert + "apiKeyGenerated": "Cheia API a fost generată cu succes", // API-Schlüssel erfolgreich generiert + "apiKeyWarning": "Păstrează această cheie în siguranță. Din motive de securitate, va fi ascunsă în 10 secunde." // Speichern Sie diesen Schlüssel sicher. Er wird aus Sicherheitsgründen in 10 Sekunden ausgeblendet. + } +}; diff --git a/src/i18n/locales/ro/sorting.js b/src/i18n/locales/ro/sorting.js new file mode 100644 index 0000000..fca97c9 --- /dev/null +++ b/src/i18n/locales/ro/sorting.js @@ -0,0 +1,6 @@ +export default { + "name": "Nume", // Name + "searchField": "Termen de căutare", // Suchbegriff + "priceLowHigh": "Preț: de la mic la mare", // Preis: Niedrig zu Hoch + "priceHighLow": "Preț: de la mare la mic" // Preis: Hoch zu Niedrig +}; diff --git a/src/i18n/locales/ro/tax.js b/src/i18n/locales/ro/tax.js new file mode 100644 index 0000000..902c729 --- /dev/null +++ b/src/i18n/locales/ro/tax.js @@ -0,0 +1,12 @@ +export default { + "vat": "Taxa pe valoarea adăugată", // Mehrwertsteuer + "vat7": "Taxa pe valoarea adăugată de 7%", // 7% Mehrwertsteuer + "vat19": "Taxa pe valoarea adăugată de 19%", // 19% Mehrwertsteuer + "vat19WithShipping": "Taxa pe valoarea adăugată de 19% (incl. transport)", // 19% Mehrwertsteuer (inkl. Versand) + "totalNet": "Preț total net", // Gesamtnettopreis + "totalGross": "Preț total brut fără transport", // Gesamtbruttopreis ohne Versand + "subtotal": "Subtotal", // Zwischensumme + "incl7Vat": "incl. TVA 7%", // inkl. 7% MwSt. + "inclVatWithFooter": "(incl. {{vat}}% TVA,*)", // (incl. {{vat}}% USt.,*) + "inclVatAmount": "incl. {{amount}} € TVA ({{rate}}%)" // nkl. {{amount}} € MwSt. ({{rate}}%) +}; diff --git a/src/i18n/locales/ro/titles.js b/src/i18n/locales/ro/titles.js new file mode 100644 index 0000000..847a14d --- /dev/null +++ b/src/i18n/locales/ro/titles.js @@ -0,0 +1,5 @@ +export default { + "home": "Semințe și Butași de Cannabis de Calitate", // Fine Cannabis Seeds & Cuttings + "aktionen": "Promoții și Oferte Curente", // Aktuelle Aktionen & Angebote + "filiale": "Magazinul Nostru din Dresden" // Unsere Filiale in Dresden +}; diff --git a/src/i18n/locales/ro/translation.js b/src/i18n/locales/ro/translation.js index 50c4add..820476a 100644 --- a/src/i18n/locales/ro/translation.js +++ b/src/i18n/locales/ro/translation.js @@ -1,231 +1,3 @@ -export default { - "locale": { - "code": "ro-RO" // de-DE - }, - "navigation": { - "home": "Acasă", // Startseite - "aktionen": "Promoții", // Aktionen - "filiale": "Sucursală", // Filiale - "categories": "Categorii", // Kategorien - "categoriesOpen": "Deschide categoriile", // Kategorien öffnen - "categoriesClose": "Închide categoriile", // Kategorien schließen - "otherCategories": "Alte categorii" // Andere Kategorien - }, - "auth": { - "login": "Autentificare", // Anmelden - "register": "Înregistrare", // Registrieren - "logout": "Deconectare", // Abmelden - "profile": "Profil", // Profil - "email": "Email", // E-Mail - "password": "Parolă", // Passwort - "confirmPassword": "Confirmă parola", // Passwort bestätigen - "forgotPassword": "Ai uitat parola?", // Passwort vergessen? - "loginWithGoogle": "Autentifică-te cu Google", // Mit Google anmelden - "or": "SAU", // ODER - "privacyAccept": "Prin clic pe „Autentifică-te cu Google” accept", // Mit dem Click auf \"Mit Google anmelden\" akzeptiere ich die - "privacyPolicy": "Politica de confidențialitate", // Datenschutzbestimmungen - "passwordMinLength": "Parola trebuie să aibă cel puțin 8 caractere", // Das Passwort muss mindestens 8 Zeichen lang sein - "newPasswordMinLength": "Noua parolă trebuie să aibă cel puțin 8 caractere", // Das neue Passwort muss mindestens 8 Zeichen lang sein - "menu": { - "profile": "Profil", // Profil - "checkout": "Finalizare comandă", // Bestellabschluss - "orders": "Comenzi", // Bestellungen - "settings": "Setări", // Einstellungen - "adminDashboard": "Panou Admin", // Admin Dashboard - "adminUsers": "Utilizatori Admin" // Admin Users - } - }, - "cart": { - "title": "Coș", // Warenkorb - "empty": "gol", // leer - "addToCart": "Adaugă în coș", // In den Korb - "preorderCutting": "Precomandă ca butași", // Als Steckling vorbestellen - "continueShopping": "Continuă cumpărăturile", // Weiter einkaufen - "proceedToCheckout": "Continuă către plată", // Weiter zur Kasse - "productCount": "{{count}} {{count, plural, one {Produs} other {Produse}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} - "removeFromCart": "Elimină din coș", // Aus dem Warenkorb entfernen - "openCart": "Deschide coșul", // Warenkorb öffnen - "availableFrom": "Disponibil din {{date}}", // Ab {{date}} - "backToOrder": "← Înapoi la comandă", // ← Zurück zur Bestellung - "sync": { - "title": "Sincronizare coș", // Warenkorb-Synchronisierung - "description": "Ai un coș salvat în contul tău. Te rugăm să alegi cum dorești să continui:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten: - "deleteServer": "Șterge coșul de pe server", // Server-Warenkorb löschen - "useServer": "Folosește coșul de pe server", // Server-Warenkorb übernehmen - "merge": "Combină coșurile", // Warenkörbe zusammenführen - "currentCart": "Coșul tău curent", // Ihr aktueller Warenkorb - "serverCart": "Coș salvat în profilul tău" // In Ihrem Profil gespeicherter Warenkorb - } - }, - "product": { - "loading": "Se încarcă produsul...", // Produkt wird geladen... - "notFound": "Produsul nu a fost găsit", // Produkt nicht gefunden - "notFoundDescription": "Produsul căutat nu există sau a fost eliminat.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. - "backToHome": "Înapoi la pagina principală", // Zurück zur Startseite - "error": "Eroare", // Fehler - "articleNumber": "Număr articol", // Artikelnummer - "manufacturer": "Producător", // Hersteller - "inclVat": "incl. {{vat}}% TVA", // inkl. {{vat}}% MwSt. - "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} - "new": "Nou", // Neu - "arriving": "Sosire:", // Ankunft: - "inclVatFooter": "incl. {{vat}}% TVA,*", // incl. {{vat}}% USt.,* - "availability": "Disponibilitate", // Verfügbarkeit - "inStock": "în stoc", // auf Lager - "comingSoon": "În curând", // Bald verfügbar - "deliveryTime": "Timp de livrare", // Lieferzeit - "inclShort": "incl.", // inkl. - "vatShort": "TVA", // MwSt. - "countDisplay": { - "noProducts": "0 produse", // 0 Produkte - "oneProduct": "1 produs", // 1 Produkt - "multipleProducts": "{{count}} produse", // {{count}} Produkte - "filteredProducts": "{{filtered}} din {{total}} produse", // {{filtered}} von {{total}} Produkten - "filteredOneProduct": "{{filtered}} din 1 produs" // {{filtered}} von 1 Produkt - }, - "removeFiltersToSee": "Elimină filtrele pentru a vedea produsele", // Entferne Filter um Produkte zu sehen - "outOfStock": "Stoc epuizat", // Out of Stock - "fromXProducts": "de la {{count}} produse" // ab {{count}} Produkten - }, - "search": { - "placeholder": "Mă poți întreba despre soiuri de cannabis...", // Du kannst mich nach Cannabissorten fragen... - "recording": "Înregistrare...", // Aufnahme läuft... - "searchProducts": "Caută produse..." // Produkte suchen... - }, - "sorting": { - "name": "Nume", // Name - "searchField": "Termen de căutare", // Suchbegriff - "priceLowHigh": "Preț: Crescător", // Preis: Niedrig zu Hoch - "priceHighLow": "Preț: Descrescător" // Preis: Hoch zu Niedrig - }, - "chat": { - "privacyRead": "Citit & Acceptat" // Gelesen & Akzeptiert - }, - "delivery": { - "methods": { - "dhl": "DHL", // DHL - "dpd": "DPD", // DPD - "sperrgut": "Mărfuri voluminoase", // Sperrgut - "pickup": "Ridicare din sucursală" // Abholung in der Filiale - }, - "descriptions": { - "standard": "Livrare standard", // Standardversand - "standardFree": "Livrare standard - GRATUITĂ pentru comenzi de peste 100€!", // Standardversand - KOSTENLOS ab 100€ Warenwert! - "notAvailable": "Nu poate fi selectat deoarece unul sau mai multe articole pot fi ridicate doar personal", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können - "bulky": "Pentru articole mari și grele" // Für große und schwere Artikel - }, - "prices": { - "free": "gratuit", // kostenlos - "freeFrom100": "(gratuit de la 100€)", // (kostenlos ab 100€) - "dhl": "6,99 €", // 6,99 € - "dpd": "4,90 €", // 4,90 € - "sperrgut": "28,99 €" // 28,99 € - }, - "times": { - "cutting14Days": "Timp de livrare: 14 zile", // Lieferzeit: 14 Tage - "standard2to3Days": "Timp de livrare: 2-3 zile", // Lieferzeit: 2-3 Tage - "supplier7to9Days": "Timp de livrare: 7-9 zile" // Lieferzeit: 7-9 Tage - } - }, - "checkout": { - "invoiceAddress": "Adresă facturare", // Rechnungsadresse - "deliveryAddress": "Adresă livrare", // Lieferadresse - "saveForFuture": "Salvează pentru comenzile viitoare", // Für zukünftige Bestellungen speichern - "pickupDate": "Pentru ce dată dorești să ridici butașii?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht? - "note": "Notă", // Anmerkung - "sameAddress": "Adresa de livrare este aceeași cu adresa de facturare", // Lieferadresse ist identisch mit Rechnungsadresse - "termsAccept": "Am citit Termenii și Condițiile, Politica de Confidențialitate și informațiile privind Dreptul de Retragere" // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen - }, - "payment": { - "successful": "Plată reușită!", // Zahlung erfolgreich! - "failed": "Plata a eșuat", // Zahlung fehlgeschlagen - "orderCompleted": "🎉 Comanda ta a fost finalizată cu succes! Acum poți vizualiza comenzile tale.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. - "orderProcessing": "Plata ta a fost procesată cu succes. Comanda va fi finalizată automat.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. - "paymentError": "Plata nu a putut fi procesată. Te rugăm să încerci din nou sau să alegi o altă metodă de plată.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. - "viewOrders": "Vezi comenzile mele" // Zu meinen Bestellungen - }, - "filters": { - "sorting": "Sortare", // Sortierung - "perPage": "pe pagină", // pro Seite - "availability": "Disponibilitate", // Verfügbarkeit - "manufacturer": "Producător" // Hersteller - }, - "tax": { - "vat": "Taxa pe valoarea adăugată", // Mehrwertsteuer - "vat7": "Taxa pe valoarea adăugată 7%", // 7% Mehrwertsteuer - "vat19": "Taxa pe valoarea adăugată 19%", // 19% Mehrwertsteuer - "vat19WithShipping": "Taxa pe valoarea adăugată 19% (inclusiv transport)", // 19% Mehrwertsteuer (inkl. Versand) - "totalNet": "Preț total net", // Gesamtnettopreis - "totalGross": "Preț total brut fără transport", // Gesamtbruttopreis ohne Versand - "subtotal": "Subtotal" // Zwischensumme - }, - "footer": { - "hours": "Sâ 11-19", // Sa 11-19 - "address": "Strada Trachenberger 14 - Dresden", // Trachenberger Straße 14 - Dresden - "location": "Între stația Pieschen și Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz - "allPricesIncl": "* Toate prețurile includ TVA-ul legal, plus transport", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand - "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de - "legal": { - "datenschutz": "Confidențialitate", // Datenschutz - "agb": "Termeni & Condiții", // AGB - "sitemap": "Hartă site", // Sitemap - "impressum": "Impressum", // Impressum - "batteriegesetzhinweise": "Note privind legea bateriilor", // Batteriegesetzhinweise - "widerrufsrecht": "Drept de retragere" // Widerrufsrecht - } - }, - "titles": { - "home": "Semințe și butași de cannabis de calitate", // Fine Cannabis Seeds & Cuttings (the text in the string has special characters, translate using the comment) - "aktionen": "Promoții și oferte actuale", // Aktuelle Aktionen & Angebote (the text in the string has special characters, translate using the comment) - "filiale": "Sucursala noastră din Dresden" // Unsere Filiale in Dresden (the text in the string has special characters, translate using the comment) - }, - "sections": { - "seeds": "Semințe", // Seeds - "stecklinge": "Butași", // Stecklinge - "oilPress": "Împrumută presa de ulei", // Ölpresse ausleihen - "thcTest": "Test THC", // THC Test - "address1": "Strada Trachenberger 14", // Trachenberger Straße 14 - "address2": "01129 Dresden" // 01129 Dresden - }, - "pages": { - "oilPress": { - "title": "Împrumută presa de ulei", // Ölpresse ausleihen - "comingSoon": "Conținut în curând..." // Inhalt kommt bald... - }, - "thcTest": { - "title": "Test THC", // THC Test - "comingSoon": "Conținut în curând..." // Inhalt kommt bald... - } - }, - "orders": { - "status": { - "new": "În procesare", // in Bearbeitung - "pending": "Nou", // Neu - "processing": "În procesare", // in Bearbeitung - "cancelled": "Anulat", // Storniert - "shipped": "Expediat", // Verschickt - "delivered": "Livrat", // Geliefert - "return": "Returnare", // Retoure - "partialReturn": "Returnare parțială", // Teil Retoure - "partialDelivered": "Livrat parțial" // Teil geliefert - } - }, - "common": { - "loading": "Se încarcă...", // Lädt... - "error": "Eroare", // Fehler - "close": "Închide", // Schließen - "save": "Salvează", // Speichern - "cancel": "Anulează", // Abbrechen - "ok": "OK", // OK - "yes": "Da", // Ja - "no": "Nu", // Nein - "next": "Următorul", // Weiter - "back": "Înapoi", // Zurück - "edit": "Editează", // Bearbeiten - "delete": "Șterge", // Löschen - "add": "Adaugă", // Hinzufügen - "remove": "Elimină", // Entfernen - "products": "Produse", // Produkte - "product": "Produs" // Produkt - } -}; +import translations from './index.js'; + +export default translations; \ No newline at end of file diff --git a/src/i18n/locales/ru/auth.js b/src/i18n/locales/ru/auth.js new file mode 100644 index 0000000..9ac999a --- /dev/null +++ b/src/i18n/locales/ru/auth.js @@ -0,0 +1,25 @@ +export default { + "login": "Войти", // Anmelden + "register": "Регистрация", // Registrieren + "logout": "Выйти", // Abmelden + "profile": "Профиль", // Profil + "email": "Электронная почта", // E-Mail + "password": "Пароль", // Passwort + "confirmPassword": "Подтвердите пароль", // Passwort bestätigen + "forgotPassword": "Забыли пароль?", // Passwort vergessen? + "loginWithGoogle": "Войти через Google", // Mit Google anmelden + "or": "ИЛИ", // ODER + "privacyAccept": "Нажимая «Войти через Google», я принимаю", // Mit dem Click auf "Mit Google anmelden" akzeptiere ich die + "privacyPolicy": "Политику конфиденциальности", // Datenschutzbestimmungen + "passwordMinLength": "Пароль должен содержать не менее 8 символов", // Das Passwort muss mindestens 8 Zeichen lang sein + "newPasswordMinLength": "Новый пароль должен содержать не менее 8 символов", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "menu": { + "profile": "Профиль", // Profil + "myProfile": "Мой профиль", // Mein Profil + "checkout": "Оформление заказа", // Bestellabschluss + "orders": "Заказы", // Bestellungen + "settings": "Настройки", // Einstellungen + "adminDashboard": "Панель администратора", // Admin Dashboard + "adminUsers": "Пользователи администратора" // Admin Users + } +}; diff --git a/src/i18n/locales/ru/cart.js b/src/i18n/locales/ru/cart.js new file mode 100644 index 0000000..b978e71 --- /dev/null +++ b/src/i18n/locales/ru/cart.js @@ -0,0 +1,24 @@ +export default { + "title": "Корзина", // Warenkorb + "empty": "пусто", // leer + "addToCart": "Добавить в корзину", // In den Korb + "preorderCutting": "Предзаказать как черенок", // Als Steckling vorbestellen + "continueShopping": "Продолжить покупки", // Weiter einkaufen + "proceedToCheckout": "Перейти к оформлению", // Weiter zur Kasse + "productCount": "{{count}} {{count, plural, one {товар} other {товаров}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} + "productSingular": "товар", // Produkt + "productPlural": "товары", // Produkte + "removeFromCart": "Удалить из корзины", // Aus dem Warenkorb entfernen + "openCart": "Открыть корзину", // Warenkorb öffnen + "availableFrom": "Доступно с {{date}}", // Ab {{date}} + "backToOrder": "← Назад к заказу", // ← Zurück zur Bestellung + "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 + } +}; diff --git a/src/i18n/locales/ru/chat.js b/src/i18n/locales/ru/chat.js new file mode 100644 index 0000000..ca35079 --- /dev/null +++ b/src/i18n/locales/ru/chat.js @@ -0,0 +1,3 @@ +export default { + "privacyRead": "Прочитано и принято", // Gelesen & Akzeptiert +}; diff --git a/src/i18n/locales/ru/checkout.js b/src/i18n/locales/ru/checkout.js new file mode 100644 index 0000000..23b1965 --- /dev/null +++ b/src/i18n/locales/ru/checkout.js @@ -0,0 +1,13 @@ +export default { + "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 + "selectDeliveryMethod": "Выберите способ доставки", // Versandart wählen + "selectPaymentMethod": "Выберите способ оплаты", // Zahlungsart wählen + "orderSummary": "Итог заказа", // Bestellübersicht + "addressValidationError": "Пожалуйста, проверьте введённые данные в полях адреса." // Bitte überprüfen Sie Ihre Eingaben in den Adressfeldern. +}; diff --git a/src/i18n/locales/ru/common.js b/src/i18n/locales/ru/common.js new file mode 100644 index 0000000..beb549d --- /dev/null +++ b/src/i18n/locales/ru/common.js @@ -0,0 +1,19 @@ +export default { + "loading": "Загрузка...", // Lädt... + "error": "Ошибка", // Fehler + "close": "Закрыть", // Schließen + "save": "Сохранить", // Speichern + "cancel": "Отмена", // Abbrechen + "ok": "OK", // OK + "yes": "Да", // Ja + "no": "Нет", // Nein + "next": "Далее", // Weiter + "back": "Назад", // Zurück + "edit": "Редактировать", // Bearbeiten + "delete": "Удалить", // Löschen + "add": "Добавить", // Hinzufügen + "remove": "Удалить", // Entfernen + "products": "Товары", // Produkte + "product": "Товар", // Produkt + "days": "Дни" // Tage +}; diff --git a/src/i18n/locales/ru/delivery.js b/src/i18n/locales/ru/delivery.js new file mode 100644 index 0000000..ca92c6d --- /dev/null +++ b/src/i18n/locales/ru/delivery.js @@ -0,0 +1,27 @@ +export default { + "methods": { + "dhl": "DHL", // DHL + "dpd": "DPD", // DPD + "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 + "bulky": "Для крупных и тяжелых товаров", // Für große und schwere Artikel + "pickupOnly": "Только самовывоз" // nur Abholung + }, + "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 + } +}; diff --git a/src/i18n/locales/ru/filters.js b/src/i18n/locales/ru/filters.js new file mode 100644 index 0000000..4a692e1 --- /dev/null +++ b/src/i18n/locales/ru/filters.js @@ -0,0 +1,7 @@ +export default { + "sorting": "Сортировка", // Sortierung + "perPage": "на страницу", // pro Seite + "availability": "Наличие", // Verfügbarkeit + "manufacturer": "Производитель", // Hersteller + "all": "Все", // Alle +}; diff --git a/src/i18n/locales/ru/footer.js b/src/i18n/locales/ru/footer.js new file mode 100644 index 0000000..4a88faf --- /dev/null +++ b/src/i18n/locales/ru/footer.js @@ -0,0 +1,15 @@ +export default { + "hours": "Сб 11:00-19:00", // Sa 11-19 + "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden + "location": "Между остановкой Пишен и площадью Трахенбергер", // Zwischen Haltepunkt Pieschen und Trachenberger Platz + "allPricesIncl": "* Все цены включают законный НДС, плюс доставка", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand + "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de + "legal": { + "datenschutz": "Политика конфиденциальности", // Datenschutz + "agb": "Условия и положения", // AGB + "sitemap": "Карта сайта", // Sitemap + "impressum": "Правовая информация", // Impressum + "batteriegesetzhinweise": "Информация о законе о батареях", // Batteriegesetzhinweise + "widerrufsrecht": "Право на отказ" // Widerrufsrecht + } +}; diff --git a/src/i18n/locales/ru/index.js b/src/i18n/locales/ru/index.js new file mode 100644 index 0000000..1dd359f --- /dev/null +++ b/src/i18n/locales/ru/index.js @@ -0,0 +1,43 @@ +import locale from './locale.js'; +import navigation from './navigation.js'; +import auth from './auth.js'; +import cart from './cart.js'; +import product from './product.js'; +import search from './search.js'; +import sorting from './sorting.js'; +import chat from './chat.js'; +import delivery from './delivery.js'; +import checkout from './checkout.js'; +import payment from './payment.js'; +import filters from './filters.js'; +import tax from './tax.js'; +import footer from './footer.js'; +import titles from './titles.js'; +import sections from './sections.js'; +import pages from './pages.js'; +import orders from './orders.js'; +import settings from './settings.js'; +import common from './common.js'; + +export default { + "locale": locale, + "navigation": navigation, + "auth": auth, + "cart": cart, + "product": product, + "search": search, + "sorting": sorting, + "chat": chat, + "delivery": delivery, + "checkout": checkout, + "payment": payment, + "filters": filters, + "tax": tax, + "footer": footer, + "titles": titles, + "sections": sections, + "pages": pages, + "orders": orders, + "settings": settings, + "common": common +}; \ No newline at end of file diff --git a/src/i18n/locales/ru/locale.js b/src/i18n/locales/ru/locale.js new file mode 100644 index 0000000..b3592b6 --- /dev/null +++ b/src/i18n/locales/ru/locale.js @@ -0,0 +1,3 @@ +export default { + "code": "ru-RU" // de-DE +}; diff --git a/src/i18n/locales/ru/navigation.js b/src/i18n/locales/ru/navigation.js new file mode 100644 index 0000000..ca1c2b5 --- /dev/null +++ b/src/i18n/locales/ru/navigation.js @@ -0,0 +1,9 @@ +export default { + "home": "Главная", // Startseite + "aktionen": "Акции", // Aktionen + "filiale": "Филиал", // Filiale + "categories": "Категории", // Kategorien + "categoriesOpen": "Открыть категории", // Kategorien öffnen + "categoriesClose": "Закрыть категории", // Kategorien schließen + "otherCategories": "Другие категории" // Andere Kategorien +}; diff --git a/src/i18n/locales/ru/orders.js b/src/i18n/locales/ru/orders.js new file mode 100644 index 0000000..24cbb0d --- /dev/null +++ b/src/i18n/locales/ru/orders.js @@ -0,0 +1,23 @@ +export default { + "status": { + "new": "В процессе", // in Bearbeitung + "pending": "Новый", // Neu + "processing": "В процессе", // in Bearbeitung + "cancelled": "Отменён", // Storniert + "shipped": "Отправлен", // Verschickt + "delivered": "Доставлен", // Geliefert + "return": "Возврат", // Retoure + "partialReturn": "Частичный возврат", // Teil Retoure + "partialDelivered": "Частично доставлен" // Teil geliefert + }, + "table": { + "orderNumber": "Номер заказа", // Bestellnummer + "date": "Дата", // Datum + "status": "Статус", // Status + "items": "Товары", // Artikel + "total": "Итого", // Summe + "actions": "Действия", // Aktionen + "viewDetails": "Просмотреть детали" // Details anzeigen + }, + "noOrders": "Вы ещё не сделали ни одного заказа." // Sie haben noch keine Bestellungen aufgegeben. +}; diff --git a/src/i18n/locales/ru/pages.js b/src/i18n/locales/ru/pages.js new file mode 100644 index 0000000..cf2c7a0 --- /dev/null +++ b/src/i18n/locales/ru/pages.js @@ -0,0 +1,10 @@ +export default { + "oilPress": { + "title": "Взять маслопресс в аренду", // Ölpresse ausleihen + "comingSoon": "Содержимое скоро появится...", // Inhalt kommt bald... + }, + "thcTest": { + "title": "Тест на THC", // THC Test + "comingSoon": "Содержимое скоро появится...", // Inhalt kommt bald... + } +}; diff --git a/src/i18n/locales/ru/payment.js b/src/i18n/locales/ru/payment.js new file mode 100644 index 0000000..371fe7a --- /dev/null +++ b/src/i18n/locales/ru/payment.js @@ -0,0 +1,8 @@ +export default { + "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 +}; diff --git a/src/i18n/locales/ru/product.js b/src/i18n/locales/ru/product.js new file mode 100644 index 0000000..f5694c5 --- /dev/null +++ b/src/i18n/locales/ru/product.js @@ -0,0 +1,32 @@ +export default { + "loading": "Загрузка продукта...", // Produkt wird geladen... + "notFound": "Продукт не найден", // Produkt nicht gefunden + "notFoundDescription": "Искомый продукт не существует или был удалён.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. + "backToHome": "Вернуться на главную страницу", // Zurück zur Startseite + "error": "Ошибка", // Fehler + "articleNumber": "Артикул", // Artikelnummer + "manufacturer": "Производитель", // Hersteller + "inclVat": "включая {{vat}}% НДС", // inkl. {{vat}}% MwSt. + "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} + "new": "Новый", // Neu + "weeks": "недели", // Wochen + "arriving": "Прибытие:", // Ankunft: + "inclVatFooter": "включая {{vat}}% НДС,*", // inkl. {{vat}}% MwSt.,* + "availability": "Наличие", // Verfügbarkeit + "inStock": "в наличии", // auf Lager + "comingSoon": "Скоро в продаже", // Bald verfügbar + "deliveryTime": "Срок доставки", // Lieferzeit + "inclShort": "вкл.", // inkl. + "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 + "xOfYProducts": "{{x}} из {{y}} продуктов" // {{x}} von {{y}} Produkten + }, + "removeFiltersToSee": "Уберите фильтры, чтобы увидеть продукты", // Entferne Filter um Produkte zu sehen + "outOfStock": "Нет в наличии", // Out of Stock + "fromXProducts": "от {{count}} продуктов" // ab {{count}} Produkten +}; diff --git a/src/i18n/locales/ru/search.js b/src/i18n/locales/ru/search.js new file mode 100644 index 0000000..e29836d --- /dev/null +++ b/src/i18n/locales/ru/search.js @@ -0,0 +1,5 @@ +export default { + "placeholder": "Вы можете спросить меня о сортах каннабиса...", // Du kannst mich nach Cannabissorten fragen... + "recording": "Идёт запись...", // Aufnahme läuft... + "searchProducts": "Поиск продуктов...", // Produkte suchen... +}; diff --git a/src/i18n/locales/ru/sections.js b/src/i18n/locales/ru/sections.js new file mode 100644 index 0000000..eb59dd8 --- /dev/null +++ b/src/i18n/locales/ru/sections.js @@ -0,0 +1,8 @@ +export default { + "seeds": "Семена", // Seeds + "stecklinge": "Черенки", // Stecklinge + "oilPress": "Взять напрокат маслопресс", // Ölpresse ausleihen + "thcTest": "Тест на ТГК", // THC Test + "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 + "address2": "01129 Dresden" // 01129 Dresden +}; diff --git a/src/i18n/locales/ru/settings.js b/src/i18n/locales/ru/settings.js new file mode 100644 index 0000000..62f4c82 --- /dev/null +++ b/src/i18n/locales/ru/settings.js @@ -0,0 +1,34 @@ +export default { + "changePassword": "Изменить пароль", // Passwort ändern + "currentPassword": "Текущий пароль", // Aktuelles Passwort + "newPassword": "Новый пароль", // Neues Passwort + "confirmNewPassword": "Подтвердите новый пароль", // Neues Passwort bestätigen + "updatePassword": "Обновить пароль", // Passwort aktualisieren + "changeEmail": "Изменить адрес электронной почты", // E-Mail-Adresse ändern + "password": "Пароль", // Passwort + "newEmail": "Новый адрес электронной почты", // Neue E-Mail-Adresse + "updateEmail": "Обновить электронную почту", // E-Mail aktualisieren + "apiKey": "API ключ", // API-Schlüssel + "apiKeyDescription": "Используйте ваш API ключ для интеграции с внешними приложениями.", // Verwenden Sie Ihren API-Schlüssel für die Integration mit externen Anwendungen. + "apiDocumentation": "Документация API:", // API-Dokumentation: + "copyToClipboard": "Скопировать в буфер обмена", // In Zwischenablage kopieren + "generate": "Создать", // Generieren + "regenerate": "Перегенерировать", // Regenerieren + "apiKeyCopied": "API ключ скопирован в буфер обмена", // API-Schlüssel in Zwischenablage kopiert + "errors": { + "fillAllFields": "Пожалуйста, заполните все поля", // Bitte füllen Sie alle Felder aus + "passwordsNotMatch": "Новые пароли не совпадают", // Die neuen Passwörter stimmen nicht überein + "passwordTooShort": "Новый пароль должен содержать не менее 8 символов", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "passwordUpdateError": "Ошибка при обновлении пароля", // Fehler beim Aktualisieren des Passworts + "invalidEmail": "Пожалуйста, введите корректный адрес электронной почты", // Bitte geben Sie eine gültige E-Mail-Adresse ein + "emailUpdateError": "Ошибка при обновлении адреса электронной почты", // Fehler beim Aktualisieren der E-Mail-Adresse + "userNotFound": "Пользователь не найден", // Benutzer nicht gefunden + "apiKeyGenerationError": "Ошибка при генерации API ключа" // Fehler beim Generieren des API-Schlüssels + }, + "success": { + "passwordUpdated": "Пароль успешно обновлен", // Passwort erfolgreich aktualisiert + "emailUpdated": "Адрес электронной почты успешно обновлен", // E-Mail-Adresse erfolgreich aktualisiert + "apiKeyGenerated": "API ключ успешно сгенерирован", // API-Schlüssel erfolgreich generiert + "apiKeyWarning": "Храните этот ключ в безопасности. По соображениям безопасности он будет скрыт через 10 секунд." // Speichern Sie diesen Schlüssel sicher. Er wird aus Sicherheitsgründen in 10 Sekunden ausgeblendet. + } +}; diff --git a/src/i18n/locales/ru/sorting.js b/src/i18n/locales/ru/sorting.js new file mode 100644 index 0000000..5d052de --- /dev/null +++ b/src/i18n/locales/ru/sorting.js @@ -0,0 +1,6 @@ +export default { + "name": "Имя", // Name + "searchField": "Поисковый запрос", // Suchbegriff + "priceLowHigh": "Цена: от низкой к высокой", // Preis: Niedrig zu Hoch + "priceHighLow": "Цена: от высокой к низкой" // Preis: Hoch zu Niedrig +}; diff --git a/src/i18n/locales/ru/tax.js b/src/i18n/locales/ru/tax.js new file mode 100644 index 0000000..861ab8a --- /dev/null +++ b/src/i18n/locales/ru/tax.js @@ -0,0 +1,12 @@ +export default { + "vat": "Налог на добавленную стоимость", // Mehrwertsteuer + "vat7": "7% налог на добавленную стоимость", // 7% Mehrwertsteuer + "vat19": "19% налог на добавленную стоимость", // 19% Mehrwertsteuer + "vat19WithShipping": "19% налог на добавленную стоимость (включая доставку)", // 19% Mehrwertsteuer (inkl. Versand) + "totalNet": "Общая чистая цена", // Gesamtnettopreis + "totalGross": "Общая валовая цена без доставки", // Gesamtbruttopreis ohne Versand + "subtotal": "Промежуточный итог", // Zwischensumme + "incl7Vat": "включая 7% НДС", // inkl. 7% MwSt. + "inclVatWithFooter": "(включая {{vat}}% НДС,*)", // (incl. {{vat}}% USt.,*) + "inclVatAmount": "включая {{amount}} € НДС ({{rate}}%)" // nkl. {{amount}} € MwSt. ({{rate}}%) +}; diff --git a/src/i18n/locales/ru/titles.js b/src/i18n/locales/ru/titles.js new file mode 100644 index 0000000..508f54b --- /dev/null +++ b/src/i18n/locales/ru/titles.js @@ -0,0 +1,5 @@ +export default { + "home": "Качественные семена и черенки каннабиса", // Fine Cannabis Seeds & Cuttings + "aktionen": "Текущие акции и предложения", // Aktuelle Aktionen & Angebote + "filiale": "Наш магазин в Дрездене" // Unsere Filiale in Dresden +}; diff --git a/src/i18n/locales/ru/translation.js b/src/i18n/locales/ru/translation.js index 2611d96..820476a 100644 --- a/src/i18n/locales/ru/translation.js +++ b/src/i18n/locales/ru/translation.js @@ -1,231 +1,3 @@ -export default { - "locale": { - "code": "ru-RU" // de-DE - }, - "navigation": { - "home": "Главная", // Startseite - "aktionen": "Акции", // Aktionen - "filiale": "Филиал", // Filiale - "categories": "Категории", // Kategorien - "categoriesOpen": "Открыть категории", // Kategorien öffnen - "categoriesClose": "Закрыть категории", // Kategorien schließen - "otherCategories": "Другие категории" // Andere Kategorien - }, - "auth": { - "login": "Войти", // Anmelden - "register": "Регистрация", // Registrieren - "logout": "Выйти", // Abmelden - "profile": "Профиль", // Profil - "email": "Электронная почта", // E-Mail - "password": "Пароль", // Passwort - "confirmPassword": "Подтвердите пароль", // Passwort bestätigen - "forgotPassword": "Забыли пароль?", // Passwort vergessen? - "loginWithGoogle": "Войти через Google", // Mit Google anmelden - "or": "ИЛИ", // ODER - "privacyAccept": "Нажимая «Войти через Google», я принимаю", // Mit dem Click auf \"Mit Google anmelden\" akzeptiere ich die - "privacyPolicy": "Политику конфиденциальности", // Datenschutzbestimmungen - "passwordMinLength": "Пароль должен содержать не менее 8 символов", // Das Passwort muss mindestens 8 Zeichen lang sein - "newPasswordMinLength": "Новый пароль должен содержать не менее 8 символов", // Das neue Passwort muss mindestens 8 Zeichen lang sein - "menu": { - "profile": "Профиль", // Profil - "checkout": "Оформление заказа", // Bestellabschluss - "orders": "Заказы", // Bestellungen - "settings": "Настройки", // Einstellungen - "adminDashboard": "Панель администратора", // Admin Dashboard - "adminUsers": "Пользователи администратора" // Admin Users - } - }, - "cart": { - "title": "Корзина", // Warenkorb - "empty": "пусто", // leer - "addToCart": "Добавить в корзину", // In den Korb - "preorderCutting": "Предзаказ черенка", // Als Steckling vorbestellen - "continueShopping": "Продолжить покупки", // Weiter einkaufen - "proceedToCheckout": "Перейти к оформлению", // Weiter zur Kasse - "productCount": "{{count}} {{count, plural, one {товар} other {товаров}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} - "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 - } - }, - "product": { - "loading": "Загрузка продукта...", // Produkt wird geladen... - "notFound": "Продукт не найден", // Produkt nicht gefunden - "notFoundDescription": "Искомый продукт не существует или был удалён.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. - "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: - "inclVatFooter": "вкл. {{vat}}% НДС,*", // incl. {{vat}}% USt.,* - "availability": "Наличие", // Verfügbarkeit - "inStock": "в наличии", // auf Lager - "comingSoon": "Скоро в продаже", // Bald verfügbar - "deliveryTime": "Срок доставки", // Lieferzeit - "inclShort": "вкл.", // inkl. - "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... - "searchProducts": "Поиск товаров..." // Produkte suchen... - }, - "sorting": { - "name": "Название", // Name - "searchField": "Поисковый запрос", // Suchbegriff - "priceLowHigh": "Цена: от низкой к высокой", // Preis: Niedrig zu Hoch - "priceHighLow": "Цена: от высокой к низкой" // Preis: Hoch zu Niedrig - }, - "chat": { - "privacyRead": "Прочитано и принято" // Gelesen & Akzeptiert - }, - "delivery": { - "methods": { - "dhl": "DHL", // DHL - "dpd": "DPD", // DPD - "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 - "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 - } - }, - "checkout": { - "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 - }, - "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. - "viewOrders": "Просмотреть мои заказы" // Zu meinen Bestellungen - }, - "filters": { - "sorting": "Сортировка", // Sortierung - "perPage": "на странице", // pro Seite - "availability": "Наличие", // Verfügbarkeit - "manufacturer": "Производитель" // Hersteller - }, - "tax": { - "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 - Dresden", // Trachenberger Straße 14 - Dresden - "location": "Между остановкой Пишен и площадью Трахенберг", // Zwischen Haltepunkt Pieschen und Trachenberger Platz - "allPricesIncl": "* Все цены включают законный НДС, плюс доставка", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand - "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de - "legal": { - "datenschutz": "Конфиденциальность", // Datenschutz - "agb": "Условия и положения", // AGB - "sitemap": "Карта сайта", // Sitemap - "impressum": "Импрессум", // Impressum - "batteriegesetzhinweise": "Информация о законе о батареях", // Batteriegesetzhinweise - "widerrufsrecht": "Право на отказ" // Widerrufsrecht - } - }, - "titles": { - "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": "Аренда маслопрессa", // Ölpresse ausleihen - "thcTest": "Тест на THC", // THC Test - "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 - "address2": "01129 Dresden" // 01129 Dresden - }, - "pages": { - "oilPress": { - "title": "Аренда маслопрессa", // Ölpresse ausleihen - "comingSoon": "Скоро появится контент..." // Inhalt kommt bald... - }, - "thcTest": { - "title": "Тест на THC", // THC Test - "comingSoon": "Скоро появится контент..." // Inhalt kommt bald... - } - }, - "orders": { - "status": { - "new": "В обработке", // in Bearbeitung - "pending": "Новый", // Neu - "processing": "В обработке", // in Bearbeitung - "cancelled": "Отменён", // Storniert - "shipped": "Отправлен", // Verschickt - "delivered": "Доставлен", // Geliefert - "return": "Возврат", // Retoure - "partialReturn": "Частичный возврат", // Teil Retoure - "partialDelivered": "Частично доставлен" // Teil geliefert - } - }, - "common": { - "loading": "Загрузка...", // Lädt... - "error": "Ошибка", // Fehler - "close": "Закрыть", // Schließen - "save": "Сохранить", // Speichern - "cancel": "Отмена", // Abbrechen - "ok": "ОК", // OK - "yes": "Да", // Ja - "no": "Нет", // Nein - "next": "Далее", // Weiter - "back": "Назад", // Zurück - "edit": "Редактировать", // Bearbeiten - "delete": "Удалить", // Löschen - "add": "Добавить", // Hinzufügen - "remove": "Удалить", // Entfernen - "products": "Товары", // Produkte - "product": "Товар" // Produkt - } -}; +import translations from './index.js'; + +export default translations; \ No newline at end of file diff --git a/src/i18n/locales/sk/auth.js b/src/i18n/locales/sk/auth.js new file mode 100644 index 0000000..e999fe2 --- /dev/null +++ b/src/i18n/locales/sk/auth.js @@ -0,0 +1,25 @@ +export default { + "login": "Prihlásiť sa", // Anmelden + "register": "Registrovať sa", // Registrieren + "logout": "Odhlásiť sa", // Abmelden + "profile": "Profil", // Profil + "email": "Email", // E-Mail + "password": "Heslo", // Passwort + "confirmPassword": "Potvrdiť heslo", // Passwort bestätigen + "forgotPassword": "Zabudli ste heslo?", // Passwort vergessen? + "loginWithGoogle": "Prihlásiť sa cez Google", // Mit Google anmelden + "or": "ALEBO", // ODER + "privacyAccept": "Kliknutím na „Prihlásiť sa cez Google“ súhlasím s", // Mit dem Click auf "Mit Google anmelden" akzeptiere ich die + "privacyPolicy": "Zásadami ochrany osobných údajov", // Datenschutzbestimmungen + "passwordMinLength": "Heslo musí mať aspoň 8 znakov", // Das Passwort muss mindestens 8 Zeichen lang sein + "newPasswordMinLength": "Nové heslo musí mať aspoň 8 znakov", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "menu": { + "profile": "Profil", // Profil + "myProfile": "Môj profil", // Mein Profil + "checkout": "Pokladňa", // Bestellabschluss + "orders": "Objednávky", // Bestellungen + "settings": "Nastavenia", // Einstellungen + "adminDashboard": "Administrátorský panel", // Admin Dashboard + "adminUsers": "Administrátori" // Admin Users + } +}; diff --git a/src/i18n/locales/sk/cart.js b/src/i18n/locales/sk/cart.js new file mode 100644 index 0000000..f9bf5c5 --- /dev/null +++ b/src/i18n/locales/sk/cart.js @@ -0,0 +1,24 @@ +export default { + "title": "Košík", // Warenkorb + "empty": "prázdny", // leer + "addToCart": "Pridať do košíka", // In den Korb + "preorderCutting": "Predobjednať ako odrezok", // Als Steckling vorbestellen + "continueShopping": "Pokračovať v nákupe", // Weiter einkaufen + "proceedToCheckout": "Prejsť k pokladni", // Weiter zur Kasse + "productCount": "{{count}} {{count, plural, one {produkt} other {produkty}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} + "productSingular": "produkt", // Produkt + "productPlural": "produkty", // Produkte + "removeFromCart": "Odstrániť z košíka", // Aus dem Warenkorb entfernen + "openCart": "Otvoriť košík", // Warenkorb öffnen + "availableFrom": "Dostupné od {{date}}", // Ab {{date}} + "backToOrder": "← Späť k objednávke", // ← Zurück zur Bestellung + "sync": { + "title": "Synchronizácia košíka", // Warenkorb-Synchronisierung + "description": "Máte uložený košík vo svojom účte. Prosím, vyberte, ako chcete pokračovať:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten: + "deleteServer": "Vymazať košík na serveri", // Server-Warenkorb löschen + "useServer": "Použiť košík zo servera", // Server-Warenkorb übernehmen + "merge": "Zlúčiť košíky", // Warenkörbe zusammenführen + "currentCart": "Váš aktuálny košík", // Ihr aktueller Warenkorb + "serverCart": "Košík uložený vo vašom profile" // In Ihrem Profil gespeicherter Warenkorb + } +}; diff --git a/src/i18n/locales/sk/chat.js b/src/i18n/locales/sk/chat.js new file mode 100644 index 0000000..23b7837 --- /dev/null +++ b/src/i18n/locales/sk/chat.js @@ -0,0 +1,3 @@ +export default { + "privacyRead": "Prečítané a akceptované", // Gelesen & Akzeptiert +}; diff --git a/src/i18n/locales/sk/checkout.js b/src/i18n/locales/sk/checkout.js new file mode 100644 index 0000000..0347cd2 --- /dev/null +++ b/src/i18n/locales/sk/checkout.js @@ -0,0 +1,13 @@ +export default { + "invoiceAddress": "Fakturačná adresa", // Rechnungsadresse + "deliveryAddress": "Dodacia adresa", // Lieferadresse + "saveForFuture": "Uložiť pre budúce objednávky", // Für zukünftige Bestellungen speichern + "pickupDate": "Na ktorý dátum je požadovaný odber odrezkov?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht? + "note": "Poznámka", // Anmerkung + "sameAddress": "Dodacia adresa je rovnaká ako fakturačná adresa", // Lieferadresse ist identisch mit Rechnungsadresse + "termsAccept": "Prečítal(a) som si obchodné podmienky, zásady ochrany osobných údajov a ustanovenia o práve na odstúpenie od zmluvy", // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen + "selectDeliveryMethod": "Vyberte spôsob doručenia", // Versandart wählen + "selectPaymentMethod": "Vyberte spôsob platby", // Zahlungsart wählen + "orderSummary": "Zhrnutie objednávky", // Bestellübersicht + "addressValidationError": "Skontrolujte prosím svoje údaje v poliach adresy." // Bitte überprüfen Sie Ihre Eingaben in den Adressfeldern. +}; diff --git a/src/i18n/locales/sk/common.js b/src/i18n/locales/sk/common.js new file mode 100644 index 0000000..3473373 --- /dev/null +++ b/src/i18n/locales/sk/common.js @@ -0,0 +1,19 @@ +export default { + "loading": "Načítava sa...", // Lädt... + "error": "Chyba", // Fehler + "close": "Zavrieť", // Schließen + "save": "Uložiť", // Speichern + "cancel": "Zrušiť", // Abbrechen + "ok": "OK", // OK + "yes": "Áno", // Ja + "no": "Nie", // Nein + "next": "Ďalej", // Weiter + "back": "Späť", // Zurück + "edit": "Upraviť", // Bearbeiten + "delete": "Vymazať", // Löschen + "add": "Pridať", // Hinzufügen + "remove": "Odstrániť", // Entfernen + "products": "Produkty", // Produkte + "product": "Produkt", // Produkt + "days": "Dni" // Tage +}; diff --git a/src/i18n/locales/sk/delivery.js b/src/i18n/locales/sk/delivery.js new file mode 100644 index 0000000..ffdda3d --- /dev/null +++ b/src/i18n/locales/sk/delivery.js @@ -0,0 +1,27 @@ +export default { + "methods": { + "dhl": "DHL", // DHL + "dpd": "DPD", // DPD + "sperrgut": "Objemný tovar", // Sperrgut + "pickup": "Vyzdvihnutie v predajni" // Abholung in der Filiale + }, + "descriptions": { + "standard": "Štandardné doručenie", // Standardversand + "standardFree": "Štandardné doručenie - ZDARMA pri objednávke nad 100€!", // Standardversand - KOSTENLOS ab 100€ Warenwert! + "notAvailable": "Nie je možné vybrať, pretože jeden alebo viac položiek je možné iba vyzdvihnúť", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können + "bulky": "Pre veľké a ťažké položky", // Für große und schwere Artikel + "pickupOnly": "Iba vyzdvihnutie" // nur Abholung + }, + "prices": { + "free": "zdarma", // kostenlos + "freeFrom100": "(zdarma od 100€)", // (kostenlos ab 100€) + "dhl": "6,99 €", // 6,99 € + "dpd": "4,90 €", // 4,90 € + "sperrgut": "28,99 €" // 28,99 € + }, + "times": { + "cutting14Days": "Doba dodania: 14 dní", // Lieferzeit: 14 Tage + "standard2to3Days": "Doba dodania: 2-3 dni", // Lieferzeit: 2-3 Tage + "supplier7to9Days": "Doba dodania: 7-9 dní" // Lieferzeit: 7-9 Tage + } +}; diff --git a/src/i18n/locales/sk/filters.js b/src/i18n/locales/sk/filters.js new file mode 100644 index 0000000..c27913b --- /dev/null +++ b/src/i18n/locales/sk/filters.js @@ -0,0 +1,7 @@ +export default { + "sorting": "Zoradenie", // Sortierung + "perPage": "na stránku", // pro Seite + "availability": "Dostupnosť", // Verfügbarkeit + "manufacturer": "Výrobca", // Hersteller + "all": "Všetko", // Alle +}; diff --git a/src/i18n/locales/sk/footer.js b/src/i18n/locales/sk/footer.js new file mode 100644 index 0000000..e832611 --- /dev/null +++ b/src/i18n/locales/sk/footer.js @@ -0,0 +1,15 @@ +export default { + "hours": "So 11:00 - 19:00", // Sa 11-19 + "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden + "location": "Medzi zastávkou Pieschen a Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz + "allPricesIncl": "* Všetky ceny vrátane zákonnej DPH, plus poštovné", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand + "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de + "legal": { + "datenschutz": "Zásady ochrany osobných údajov", // Datenschutz + "agb": "Obchodné podmienky", // AGB + "sitemap": "Mapa stránok", // Sitemap + "impressum": "Právne upozornenie", // Impressum + "batteriegesetzhinweise": "Informácie o zákone o batériách", // Batteriegesetzhinweise + "widerrufsrecht": "Právo na odstúpenie od zmluvy" // Widerrufsrecht + } +}; diff --git a/src/i18n/locales/sk/index.js b/src/i18n/locales/sk/index.js new file mode 100644 index 0000000..1dd359f --- /dev/null +++ b/src/i18n/locales/sk/index.js @@ -0,0 +1,43 @@ +import locale from './locale.js'; +import navigation from './navigation.js'; +import auth from './auth.js'; +import cart from './cart.js'; +import product from './product.js'; +import search from './search.js'; +import sorting from './sorting.js'; +import chat from './chat.js'; +import delivery from './delivery.js'; +import checkout from './checkout.js'; +import payment from './payment.js'; +import filters from './filters.js'; +import tax from './tax.js'; +import footer from './footer.js'; +import titles from './titles.js'; +import sections from './sections.js'; +import pages from './pages.js'; +import orders from './orders.js'; +import settings from './settings.js'; +import common from './common.js'; + +export default { + "locale": locale, + "navigation": navigation, + "auth": auth, + "cart": cart, + "product": product, + "search": search, + "sorting": sorting, + "chat": chat, + "delivery": delivery, + "checkout": checkout, + "payment": payment, + "filters": filters, + "tax": tax, + "footer": footer, + "titles": titles, + "sections": sections, + "pages": pages, + "orders": orders, + "settings": settings, + "common": common +}; \ No newline at end of file diff --git a/src/i18n/locales/sk/locale.js b/src/i18n/locales/sk/locale.js new file mode 100644 index 0000000..32054b4 --- /dev/null +++ b/src/i18n/locales/sk/locale.js @@ -0,0 +1,3 @@ +export default { + "code": "sk-SK" // de-DE +}; diff --git a/src/i18n/locales/sk/navigation.js b/src/i18n/locales/sk/navigation.js new file mode 100644 index 0000000..ebf01c7 --- /dev/null +++ b/src/i18n/locales/sk/navigation.js @@ -0,0 +1,9 @@ +export default { + "home": "Domov", // Startseite + "aktionen": "Akcie", // Aktionen + "filiale": "Pobočka", // Filiale + "categories": "Kategórie", // Kategorien + "categoriesOpen": "Otvoriť kategórie", // Kategorien öffnen + "categoriesClose": "Zatvoriť kategórie", // Kategorien schließen + "otherCategories": "Iné kategórie" // Andere Kategorien +}; diff --git a/src/i18n/locales/sk/orders.js b/src/i18n/locales/sk/orders.js new file mode 100644 index 0000000..fbf33d5 --- /dev/null +++ b/src/i18n/locales/sk/orders.js @@ -0,0 +1,23 @@ +export default { + "status": { + "new": "Prebieha", // in Bearbeitung + "pending": "Nové", // Neu + "processing": "Prebieha", // in Bearbeitung + "cancelled": "Zrušené", // Storniert + "shipped": "Odoslané", // Verschickt + "delivered": "Doručené", // Geliefert + "return": "Vrátenie", // Retoure + "partialReturn": "Čiastočné vrátenie", // Teil Retoure + "partialDelivered": "Čiastočne doručené" // Teil geliefert + }, + "table": { + "orderNumber": "Číslo objednávky", // Bestellnummer + "date": "Dátum", // Datum + "status": "Stav", // Status + "items": "Položky", // Artikel + "total": "Celkom", // Summe + "actions": "Akcie", // Aktionen + "viewDetails": "Zobraziť detaily" // Details anzeigen + }, + "noOrders": "Ešte ste neuskutočnili žiadne objednávky." // Sie haben noch keine Bestellungen aufgegeben. +}; diff --git a/src/i18n/locales/sk/pages.js b/src/i18n/locales/sk/pages.js new file mode 100644 index 0000000..2a129d5 --- /dev/null +++ b/src/i18n/locales/sk/pages.js @@ -0,0 +1,10 @@ +export default { + "oilPress": { + "title": "Požičajte si lis na olej", // Ölpresse ausleihen + "comingSoon": "Obsah čoskoro...", // Inhalt kommt bald... + }, + "thcTest": { + "title": "THC test", // THC Test + "comingSoon": "Obsah čoskoro...", // Inhalt kommt bald... + } +}; diff --git a/src/i18n/locales/sk/payment.js b/src/i18n/locales/sk/payment.js new file mode 100644 index 0000000..550fb83 --- /dev/null +++ b/src/i18n/locales/sk/payment.js @@ -0,0 +1,8 @@ +export default { + "successful": "Platba úspešná!", // Zahlung erfolgreich! + "failed": "Platba zlyhala", // Zahlung fehlgeschlagen + "orderCompleted": "🎉 Vaša objednávka bola úspešne dokončená! Teraz si môžete prezrieť svoje objednávky.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. + "orderProcessing": "Vaša platba bola úspešne spracovaná. Objednávka bude automaticky dokončená.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. + "paymentError": "Vašu platbu sa nepodarilo spracovať. Skúste to znova alebo vyberte inú platobnú metódu.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. + "viewOrders": "Prejsť na moje objednávky" // Zu meinen Bestellungen +}; diff --git a/src/i18n/locales/sk/product.js b/src/i18n/locales/sk/product.js new file mode 100644 index 0000000..b15ec9b --- /dev/null +++ b/src/i18n/locales/sk/product.js @@ -0,0 +1,32 @@ +export default { + "loading": "Načítava sa produkt...", // Produkt wird geladen... + "notFound": "Produkt nenájdený", // Produkt nicht gefunden + "notFoundDescription": "Produkt, ktorý hľadáte, neexistuje alebo bol odstránený.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. + "backToHome": "Späť na domovskú stránku", // Zurück zur Startseite + "error": "Chyba", // Fehler + "articleNumber": "Číslo článku", // Artikelnummer + "manufacturer": "Výrobca", // Hersteller + "inclVat": "vrátane {{vat}}% DPH", // inkl. {{vat}}% MwSt. + "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} + "new": "Nové", // Neu + "weeks": "týždne", // Wochen + "arriving": "Príchod:", // Ankunft: + "inclVatFooter": "vrátane {{vat}}% DPH,*", // inkl. {{vat}}% MwSt.,* + "availability": "Dostupnosť", // Verfügbarkeit + "inStock": "na sklade", // auf Lager + "comingSoon": "Čoskoro k dispozícii", // Bald verfügbar + "deliveryTime": "Doba dodania", // Lieferzeit + "inclShort": "vrátane", // inkl. + "vatShort": "DPH", // MwSt. + "countDisplay": { + "noProducts": "0 produktov", // 0 Produkte + "oneProduct": "1 produkt", // 1 Produkt + "multipleProducts": "{{count}} produktov", // {{count}} Produkte + "filteredProducts": "{{filtered}} z {{total}} produktov", // {{filtered}} von {{total}} Produkten + "filteredOneProduct": "{{filtered}} z 1 produktu", // {{filtered}} von 1 Produkt + "xOfYProducts": "{{x}} z {{y}} produktov" // {{x}} von {{y}} Produkten + }, + "removeFiltersToSee": "Odstráňte filtre, aby ste videli produkty", // Entferne Filter um Produkte zu sehen + "outOfStock": "Nedostupné", // Out of Stock + "fromXProducts": "z {{count}} produktov" // ab {{count}} Produkten +}; diff --git a/src/i18n/locales/sk/search.js b/src/i18n/locales/sk/search.js new file mode 100644 index 0000000..da8d849 --- /dev/null +++ b/src/i18n/locales/sk/search.js @@ -0,0 +1,5 @@ +export default { + "placeholder": "Môžete sa ma opýtať na odrody konope...", // Du kannst mich nach Cannabissorten fragen... + "recording": "Prebieha nahrávanie...", // Aufnahme läuft... + "searchProducts": "Hľadať produkty...", // Produkte suchen... +}; diff --git a/src/i18n/locales/sk/sections.js b/src/i18n/locales/sk/sections.js new file mode 100644 index 0000000..1bd3a51 --- /dev/null +++ b/src/i18n/locales/sk/sections.js @@ -0,0 +1,8 @@ +export default { + "seeds": "Semienka", // Seeds + "stecklinge": "Rezky", // Stecklinge + "oilPress": "Požičať lis na olej", // Ölpresse ausleihen + "thcTest": "THC test", // THC Test + "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 + "address2": "01129 Dresden" // 01129 Dresden +}; diff --git a/src/i18n/locales/sk/settings.js b/src/i18n/locales/sk/settings.js new file mode 100644 index 0000000..0fe534b --- /dev/null +++ b/src/i18n/locales/sk/settings.js @@ -0,0 +1,34 @@ +export default { + "changePassword": "Zmeniť heslo", // Passwort ändern + "currentPassword": "Aktuálne heslo", // Aktuelles Passwort + "newPassword": "Nové heslo", // Neues Passwort + "confirmNewPassword": "Potvrdiť nové heslo", // Neues Passwort bestätigen + "updatePassword": "Aktualizovať heslo", // Passwort aktualisieren + "changeEmail": "Zmeniť e-mailovú adresu", // E-Mail-Adresse ändern + "password": "Heslo", // Passwort + "newEmail": "Nová e-mailová adresa", // Neue E-Mail-Adresse + "updateEmail": "Aktualizovať e-mail", // E-Mail aktualisieren + "apiKey": "API kľúč", // API-Schlüssel + "apiKeyDescription": "Použite svoj API kľúč na integráciu s externými aplikáciami.", // Verwenden Sie Ihren API-Schlüssel für die Integration mit externen Anwendungen. + "apiDocumentation": "API dokumentácia:", // API-Dokumentation: + "copyToClipboard": "Kopírovať do schránky", // In Zwischenablage kopieren + "generate": "Vygenerovať", // Generieren + "regenerate": "Znovu vygenerovať", // Regenerieren + "apiKeyCopied": "API kľúč skopírovaný do schránky", // API-Schlüssel in Zwischenablage kopiert + "errors": { + "fillAllFields": "Prosím, vyplňte všetky polia", // Bitte füllen Sie alle Felder aus + "passwordsNotMatch": "Nové heslá sa nezhodujú", // Die neuen Passwörter stimmen nicht überein + "passwordTooShort": "Nové heslo musí mať aspoň 8 znakov", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "passwordUpdateError": "Chyba pri aktualizácii hesla", // Fehler beim Aktualisieren des Passworts + "invalidEmail": "Prosím, zadajte platnú e-mailovú adresu", // Bitte geben Sie eine gültige E-Mail-Adresse ein + "emailUpdateError": "Chyba pri aktualizácii e-mailovej adresy", // Fehler beim Aktualisieren der E-Mail-Adresse + "userNotFound": "Používateľ nenájdený", // Benutzer nicht gefunden + "apiKeyGenerationError": "Chyba pri generovaní API kľúča" // Fehler beim Generieren des API-Schlüssels + }, + "success": { + "passwordUpdated": "Heslo bolo úspešne aktualizované", // Passwort erfolgreich aktualisiert + "emailUpdated": "E-mailová adresa bola úspešne aktualizovaná", // E-Mail-Adresse erfolgreich aktualisiert + "apiKeyGenerated": "API kľúč bol úspešne vygenerovaný", // API-Schlüssel erfolgreich generiert + "apiKeyWarning": "Uložte si tento kľúč bezpečne. Z bezpečnostných dôvodov bude skrytý o 10 sekúnd." // Speichern Sie diesen Schlüssel sicher. Er wird aus Sicherheitsgründen in 10 Sekunden ausgeblendet. + } +}; diff --git a/src/i18n/locales/sk/sorting.js b/src/i18n/locales/sk/sorting.js new file mode 100644 index 0000000..6f2dfef --- /dev/null +++ b/src/i18n/locales/sk/sorting.js @@ -0,0 +1,6 @@ +export default { + "name": "Meno", // Name + "searchField": "Hľadaný výraz", // Suchbegriff + "priceLowHigh": "Cena: od najnižšej po najvyššiu", // Preis: Niedrig zu Hoch + "priceHighLow": "Cena: od najvyššej po najnižšiu" // Preis: Hoch zu Niedrig +}; diff --git a/src/i18n/locales/sk/tax.js b/src/i18n/locales/sk/tax.js new file mode 100644 index 0000000..f1a0c71 --- /dev/null +++ b/src/i18n/locales/sk/tax.js @@ -0,0 +1,12 @@ +export default { + "vat": "Daň z pridanej hodnoty", // Mehrwertsteuer + "vat7": "7% daň z pridanej hodnoty", // 7% Mehrwertsteuer + "vat19": "19% daň z pridanej hodnoty", // 19% Mehrwertsteuer + "vat19WithShipping": "19% daň z pridanej hodnoty (vrátane dopravy)", // 19% Mehrwertsteuer (inkl. Versand) + "totalNet": "Celková čistá cena", // Gesamtnettopreis + "totalGross": "Celková hrubá cena bez dopravy", // Gesamtbruttopreis ohne Versand + "subtotal": "Medzisúčet", // Zwischensumme + "incl7Vat": "vrátane 7% DPH", // inkl. 7% MwSt. + "inclVatWithFooter": "(vrátane {{vat}}% DPH,*)", // (incl. {{vat}}% USt.,*) + "inclVatAmount": "vrátane {{amount}} € DPH ({{rate}}%)" // nkl. {{amount}} € MwSt. ({{rate}}%) +}; diff --git a/src/i18n/locales/sk/titles.js b/src/i18n/locales/sk/titles.js new file mode 100644 index 0000000..0ff0e4b --- /dev/null +++ b/src/i18n/locales/sk/titles.js @@ -0,0 +1,5 @@ +export default { + "home": "Kvalitné semená a odrezky konope", // Fine Cannabis Seeds & Cuttings + "aktionen": "Aktuálne akcie a ponuky", // Aktuelle Aktionen & Angebote + "filiale": "Náš obchod v Drážďanoch" // Unsere Filiale in Dresden +}; diff --git a/src/i18n/locales/sk/translation.js b/src/i18n/locales/sk/translation.js index e7933d8..820476a 100644 --- a/src/i18n/locales/sk/translation.js +++ b/src/i18n/locales/sk/translation.js @@ -1,231 +1,3 @@ -export default { - "locale": { - "code": "sk-SK" // de-DE - }, - "navigation": { - "home": "Domov", // Startseite - "aktionen": "Akcie", // Aktionen - "filiale": "Pobočka", // Filiale - "categories": "Kategórie", // Kategorien - "categoriesOpen": "Otvoriť kategórie", // Kategorien öffnen - "categoriesClose": "Zatvoriť kategórie", // Kategorien schließen - "otherCategories": "Iné kategórie" // Andere Kategorien - }, - "auth": { - "login": "Prihlásiť sa", // Anmelden - "register": "Registrovať sa", // Registrieren - "logout": "Odhlásiť sa", // Abmelden - "profile": "Profil", // Profil - "email": "Email", // E-Mail - "password": "Heslo", // Passwort - "confirmPassword": "Potvrdiť heslo", // Passwort bestätigen - "forgotPassword": "Zabudli ste heslo?", // Passwort vergessen? - "loginWithGoogle": "Prihlásiť sa cez Google", // Mit Google anmelden - "or": "ALEBO", // ODER - "privacyAccept": "Kliknutím na \"Prihlásiť sa cez Google\" súhlasím s", // Mit dem Click auf \"Mit Google anmelden\" akzeptiere ich die - "privacyPolicy": "Zásadami ochrany osobných údajov", // Datenschutzbestimmungen - "passwordMinLength": "Heslo musí mať aspoň 8 znakov", // Das Passwort muss mindestens 8 Zeichen lang sein - "newPasswordMinLength": "Nové heslo musí mať aspoň 8 znakov", // Das neue Passwort muss mindestens 8 Zeichen lang sein - "menu": { - "profile": "Profil", // Profil - "checkout": "Pokladňa", // Bestellabschluss - "orders": "Objednávky", // Bestellungen - "settings": "Nastavenia", // Einstellungen - "adminDashboard": "Admin Dashboard", // Admin Dashboard - "adminUsers": "Admin Users" // Admin Users - } - }, - "cart": { - "title": "Košík", // Warenkorb - "empty": "prázdny", // leer - "addToCart": "Pridať do košíka", // In den Korb - "preorderCutting": "Predobjednať ako odrezok", // Als Steckling vorbestellen - "continueShopping": "Pokračovať v nákupe", // Weiter einkaufen - "proceedToCheckout": "Prejsť k pokladni", // Weiter zur Kasse - "productCount": "{{count}} {{count, plural, one {Produkt} other {Produkty}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} - "removeFromCart": "Odstrániť z košíka", // Aus dem Warenkorb entfernen - "openCart": "Otvoriť košík", // Warenkorb öffnen - "availableFrom": "Dostupné od {{date}}", // Ab {{date}} - "backToOrder": "← Späť k objednávke", // ← Zurück zur Bestellung - "sync": { - "title": "Synchronizácia košíka", // Warenkorb-Synchronisierung - "description": "Máte uložený košík vo svojom účte. Vyberte, ako chcete pokračovať:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten: - "deleteServer": "Vymazať košík na serveri", // Server-Warenkorb löschen - "useServer": "Použiť košík zo servera", // Server-Warenkorb übernehmen - "merge": "Zlúčiť košíky", // Warenkörbe zusammenführen - "currentCart": "Váš aktuálny košík", // Ihr aktueller Warenkorb - "serverCart": "Košík uložený vo vašom profile" // In Ihrem Profil gespeicherter Warenkorb - } - }, - "product": { - "loading": "Načítavam produkt...", // Produkt wird geladen... - "notFound": "Produkt nenájdený", // Produkt nicht gefunden - "notFoundDescription": "Produkt, ktorý hľadáte, neexistuje alebo bol odstránený.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. - "backToHome": "Späť na domovskú stránku", // Zurück zur Startseite - "error": "Chyba", // Fehler - "articleNumber": "Číslo produktu", // Artikelnummer - "manufacturer": "Výrobca", // Hersteller - "inclVat": "vrátane {{vat}}% DPH", // inkl. {{vat}}% MwSt. - "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} - "new": "Nové", // Neu - "arriving": "Prichádza:", // Ankunft: - "inclVatFooter": "vrátane {{vat}}% DPH,*", // incl. {{vat}}% USt.,* - "availability": "Dostupnosť", // Verfügbarkeit - "inStock": "na sklade", // auf Lager - "comingSoon": "Čoskoro dostupné", // Bald verfügbar - "deliveryTime": "Doba dodania", // Lieferzeit - "inclShort": "vrátane", // inkl. - "vatShort": "DPH", // MwSt. - "countDisplay": { - "noProducts": "0 produktov", // 0 Produkte - "oneProduct": "1 produkt", // 1 Produkt - "multipleProducts": "{{count}} produktov", // {{count}} Produkte - "filteredProducts": "{{filtered}} z {{total}} produktov", // {{filtered}} von {{total}} Produkten - "filteredOneProduct": "{{filtered}} z 1 produktu" // {{filtered}} von 1 Produkt - }, - "removeFiltersToSee": "Odstráňte filtre, aby ste videli produkty", // Entferne Filter um Produkte zu sehen - "outOfStock": "Nedostupné", // Out of Stock - "fromXProducts": "od {{count}} produktov" // ab {{count}} Produkten - }, - "search": { - "placeholder": "Môžete sa ma opýtať na odrody konope...", // Du kannst mich nach Cannabissorten fragen... - "recording": "Nahrávanie...", // Aufnahme läuft... - "searchProducts": "Hľadať produkty..." // Produkte suchen... - }, - "sorting": { - "name": "Názov", // Name - "searchField": "Hľadaný výraz", // Suchbegriff - "priceLowHigh": "Cena: od najnižšej po najvyššiu", // Preis: Niedrig zu Hoch - "priceHighLow": "Cena: od najvyššej po najnižšiu" // Preis: Hoch zu Niedrig - }, - "chat": { - "privacyRead": "Prečítané a akceptované" // Gelesen & Akzeptiert - }, - "delivery": { - "methods": { - "dhl": "DHL", // DHL - "dpd": "DPD", // DPD - "sperrgut": "Objemný tovar", // Sperrgut - "pickup": "Vyzdvihnutie na pobočke" // Abholung in der Filiale - }, - "descriptions": { - "standard": "Štandardné doručenie", // Standardversand - "standardFree": "Štandardné doručenie - ZDARMA pri objednávke nad 100 €!", // Standardversand - KOSTENLOS ab 100€ Warenwert! - "notAvailable": "Nie je možné vybrať, pretože jeden alebo viac produktov je možné iba vyzdvihnúť", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können - "bulky": "Pre veľké a ťažké položky" // Für große und schwere Artikel - }, - "prices": { - "free": "zdarma", // kostenlos - "freeFrom100": "(zdarma od 100 €)", // (kostenlos ab 100€) - "dhl": "6,99 €", // 6,99 € - "dpd": "4,90 €", // 4,90 € - "sperrgut": "28,99 €" // 28,99 € - }, - "times": { - "cutting14Days": "Doba dodania: 14 dní", // Lieferzeit: 14 Tage - "standard2to3Days": "Doba dodania: 2-3 dni", // Lieferzeit: 2-3 Tage - "supplier7to9Days": "Doba dodania: 7-9 dní" // Lieferzeit: 7-9 Tage - } - }, - "checkout": { - "invoiceAddress": "Fakturačná adresa", // Rechnungsadresse - "deliveryAddress": "Dodacia adresa", // Lieferadresse - "saveForFuture": "Uložiť pre budúce objednávky", // Für zukünftige Bestellungen speichern - "pickupDate": "Na ktorý dátum chcete vyzdvihnúť odrezky?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht? - "note": "Poznámka", // Anmerkung - "sameAddress": "Dodacia adresa je rovnaká ako fakturačná adresa", // Lieferadresse ist identisch mit Rechnungsadresse - "termsAccept": "Prečítal(a) som si Všeobecné obchodné podmienky, Zásady ochrany osobných údajov a informácie o práve na odstúpenie od zmluvy" // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen - }, - "payment": { - "successful": "Platba úspešná!", // Zahlung erfolgreich! - "failed": "Platba zlyhala", // Zahlung fehlgeschlagen - "orderCompleted": "🎉 Vaša objednávka bola úspešne dokončená! Teraz si môžete prezrieť svoje objednávky.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. - "orderProcessing": "Vaša platba bola úspešne spracovaná. Objednávka bude automaticky dokončená.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. - "paymentError": "Vaša platba nemohla byť spracovaná. Skúste to prosím znova alebo vyberte inú platobnú metódu.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. - "viewOrders": "Zobraziť moje objednávky" // Zu meinen Bestellungen - }, - "filters": { - "sorting": "Zoradenie", // Sortierung - "perPage": "na stránku", // pro Seite - "availability": "Dostupnosť", // Verfügbarkeit - "manufacturer": "Výrobca" // Hersteller - }, - "tax": { - "vat": "Daň z pridanej hodnoty", // Mehrwertsteuer - "vat7": "7% daň z pridanej hodnoty", // 7% Mehrwertsteuer - "vat19": "19% daň z pridanej hodnoty", // 19% Mehrwertsteuer - "vat19WithShipping": "19% daň z pridanej hodnoty (vrátane dopravy)", // 19% Mehrwertsteuer (inkl. Versand) - "totalNet": "Celková cena bez DPH", // Gesamtnettopreis - "totalGross": "Celková cena s DPH bez dopravy", // Gesamtbruttopreis ohne Versand - "subtotal": "Medzisúčet" // Zwischensumme - }, - "footer": { - "hours": "So 11-19", // Sa 11-19 - "address": "Trachenberger Straße 14 - Drážďany", // Trachenberger Straße 14 - Dresden - "location": "Medzi zastávkou Pieschen a Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz - "allPricesIncl": "* Všetky ceny vrátane zákonnej DPH, plus doprava", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand - "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de - "legal": { - "datenschutz": "Ochrana osobných údajov", // Datenschutz - "agb": "Všeobecné obchodné podmienky", // AGB - "sitemap": "Mapa stránok", // Sitemap - "impressum": "Impressum", // Impressum - "batteriegesetzhinweise": "Poznámky k zákonu o batériách", // Batteriegesetzhinweise - "widerrufsrecht": "Právo na odstúpenie od zmluvy" // Widerrufsrecht - } - }, - "titles": { - "home": "Kvalitné semená a odrezky konope", // Fine Cannabis Seeds & Cuttings (the text in the string has special characters, translate using the comment) - "aktionen": "Aktuálne akcie a ponuky", // Aktuelle Aktionen & Angebote (the text in the string has special characters, translate using the comment) - "filiale": "Naša pobočka v Drážďanoch" // Unsere Filiale in Dresden (the text in the string has special characters, translate using the comment) - }, - "sections": { - "seeds": "Semená", // Seeds - "stecklinge": "Odrezky", // Stecklinge - "oilPress": "Požičajte si lis na olej", // Ölpresse ausleihen - "thcTest": "THC test", // THC Test - "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 - "address2": "01129 Drážďany" // 01129 Dresden - }, - "pages": { - "oilPress": { - "title": "Požičajte si lis na olej", // Ölpresse ausleihen - "comingSoon": "Obsah čoskoro..." // Inhalt kommt bald... - }, - "thcTest": { - "title": "THC test", // THC Test - "comingSoon": "Obsah čoskoro..." // Inhalt kommt bald... - } - }, - "orders": { - "status": { - "new": "Spracováva sa", // in Bearbeitung - "pending": "Nová", // Neu - "processing": "Spracováva sa", // in Bearbeitung - "cancelled": "Zrušená", // Storniert - "shipped": "Odoslaná", // Verschickt - "delivered": "Doručená", // Geliefert - "return": "Vrátenie", // Retoure - "partialReturn": "Čiastočné vrátenie", // Teil Retoure - "partialDelivered": "Čiastočne doručená" // Teil geliefert - } - }, - "common": { - "loading": "Načítavam...", // Lädt... - "error": "Chyba", // Fehler - "close": "Zavrieť", // Schließen - "save": "Uložiť", // Speichern - "cancel": "Zrušiť", // Abbrechen - "ok": "OK", // OK - "yes": "Áno", // Ja - "no": "Nie", // Nein - "next": "Ďalej", // Weiter - "back": "Späť", // Zurück - "edit": "Upraviť", // Bearbeiten - "delete": "Vymazať", // Löschen - "add": "Pridať", // Hinzufügen - "remove": "Odstrániť", // Entfernen - "products": "Produkty", // Produkte - "product": "Produkt" // Produkt - } -}; +import translations from './index.js'; + +export default translations; \ No newline at end of file diff --git a/src/i18n/locales/sl/auth.js b/src/i18n/locales/sl/auth.js new file mode 100644 index 0000000..66162fb --- /dev/null +++ b/src/i18n/locales/sl/auth.js @@ -0,0 +1,25 @@ +export default { + "login": "Prijava", // Anmelden + "register": "Registracija", // Registrieren + "logout": "Odjava", // Abmelden + "profile": "Profil", // Profil + "email": "E-pošta", // E-Mail + "password": "Geslo", // Passwort + "confirmPassword": "Potrdite geslo", // Passwort bestätigen + "forgotPassword": "Ste pozabili geslo?", // Passwort vergessen? + "loginWithGoogle": "Prijava z Google", // Mit Google anmelden + "or": "ALI", // ODER + "privacyAccept": "S klikom na \"Prijava z Google\" sprejemam", // Mit dem Click auf "Mit Google anmelden" akzeptiere ich die + "privacyPolicy": "Pravilnik o zasebnosti", // Datenschutzbestimmungen + "passwordMinLength": "Geslo mora biti dolgo vsaj 8 znakov", // Das Passwort muss mindestens 8 Zeichen lang sein + "newPasswordMinLength": "Novo geslo mora biti dolgo vsaj 8 znakov", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "menu": { + "profile": "Profil", // Profil + "myProfile": "Moj profil", // Mein Profil + "checkout": "Zaključek nakupa", // Bestellabschluss + "orders": "Naročila", // Bestellungen + "settings": "Nastavitve", // Einstellungen + "adminDashboard": "Administratorska nadzorna plošča", // Admin Dashboard + "adminUsers": "Administratorski uporabniki" // Admin Users + } +}; diff --git a/src/i18n/locales/sl/cart.js b/src/i18n/locales/sl/cart.js new file mode 100644 index 0000000..f953c66 --- /dev/null +++ b/src/i18n/locales/sl/cart.js @@ -0,0 +1,24 @@ +export default { + "title": "Košarica", // Warenkorb + "empty": "prazno", // leer + "addToCart": "Dodaj v košarico", // In den Korb + "preorderCutting": "Naroči vnaprej kot potaknjenca", // Als Steckling vorbestellen + "continueShopping": "Nadaljuj z nakupovanjem", // Weiter einkaufen + "proceedToCheckout": "Nadaljuj na blagajno", // Weiter zur Kasse + "productCount": "{{count}} {{count, plural, one {izdelek} other {izdelki}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} + "productSingular": "izdelek", // Produkt + "productPlural": "izdelki", // Produkte + "removeFromCart": "Odstrani iz košarice", // Aus dem Warenkorb entfernen + "openCart": "Odpri košarico", // Warenkorb öffnen + "availableFrom": "Na voljo od {{date}}", // Ab {{date}} + "backToOrder": "← Nazaj na naročilo", // ← Zurück zur Bestellung + "sync": { + "title": "Sinhronizacija košarice", // Warenkorb-Synchronisierung + "description": "V vašem računu imate shranjeno košarico. Prosimo, izberite, kako želite nadaljevati:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten: + "deleteServer": "Izbriši košarico na strežniku", // Server-Warenkorb löschen + "useServer": "Uporabi košarico s strežnika", // Server-Warenkorb übernehmen + "merge": "Združi košarice", // Warenkörbe zusammenführen + "currentCart": "Vaša trenutna košarica", // Ihr aktueller Warenkorb + "serverCart": "Košarica shranjena v vašem profilu" // In Ihrem Profil gespeicherter Warenkorb + } +}; diff --git a/src/i18n/locales/sl/chat.js b/src/i18n/locales/sl/chat.js new file mode 100644 index 0000000..cf87eee --- /dev/null +++ b/src/i18n/locales/sl/chat.js @@ -0,0 +1,3 @@ +export default { + "privacyRead": "Prebrano in sprejeto", // Gelesen & Akzeptiert +}; diff --git a/src/i18n/locales/sl/checkout.js b/src/i18n/locales/sl/checkout.js new file mode 100644 index 0000000..106c872 --- /dev/null +++ b/src/i18n/locales/sl/checkout.js @@ -0,0 +1,13 @@ +export default { + "invoiceAddress": "Naslov za račun", // Rechnungsadresse + "deliveryAddress": "Naslov za dostavo", // Lieferadresse + "saveForFuture": "Shrani za prihodnja naročila", // Für zukünftige Bestellungen speichern + "pickupDate": "Za kateri datum je željeno prevzemanje potaknjencev?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht? + "note": "Opomba", // Anmerkung + "sameAddress": "Naslov za dostavo je enak naslovu za račun", // Lieferadresse ist identisch mit Rechnungsadresse + "termsAccept": "Prebral sem pogoje poslovanja, politiko zasebnosti in določila o pravici do odstopa", // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen + "selectDeliveryMethod": "Izberite način dostave", // Versandart wählen + "selectPaymentMethod": "Izberite način plačila", // Zahlungsart wählen + "orderSummary": "Povzetek naročila", // Bestellübersicht + "addressValidationError": "Prosimo, preverite svoje vnose v poljih za naslov." // Bitte überprüfen Sie Ihre Eingaben in den Adressfeldern. +}; diff --git a/src/i18n/locales/sl/common.js b/src/i18n/locales/sl/common.js new file mode 100644 index 0000000..0585315 --- /dev/null +++ b/src/i18n/locales/sl/common.js @@ -0,0 +1,19 @@ +export default { + "loading": "Nalaganje...", // Lädt... + "error": "Napaka", // Fehler + "close": "Zapri", // Schließen + "save": "Shrani", // Speichern + "cancel": "Prekliči", // Abbrechen + "ok": "V redu", // OK + "yes": "Da", // Ja + "no": "Ne", // Nein + "next": "Naprej", // Weiter + "back": "Nazaj", // Zurück + "edit": "Uredi", // Bearbeiten + "delete": "Izbriši", // Löschen + "add": "Dodaj", // Hinzufügen + "remove": "Odstrani", // Entfernen + "products": "Izdelki", // Produkte + "product": "Izdelek", // Produkt + "days": "Dnevi" // Tage +}; diff --git a/src/i18n/locales/sl/delivery.js b/src/i18n/locales/sl/delivery.js new file mode 100644 index 0000000..cfb71b0 --- /dev/null +++ b/src/i18n/locales/sl/delivery.js @@ -0,0 +1,27 @@ +export default { + "methods": { + "dhl": "DHL", // DHL + "dpd": "DPD", // DPD + "sperrgut": "Veliki predmeti", // Sperrgut + "pickup": "Prevzem v trgovini" // Abholung in der Filiale + }, + "descriptions": { + "standard": "Standardna dostava", // Standardversand + "standardFree": "Standardna dostava - BREZPLAČNO pri naročilu nad 100€!", // Standardversand - KOSTENLOS ab 100€ Warenwert! + "notAvailable": "Ni mogoče izbrati, ker je en ali več izdelkov mogoče samo prevzeti", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können + "bulky": "Za velike in težke predmete", // Für große und schwere Artikel + "pickupOnly": "Samo prevzem" // nur Abholung + }, + "prices": { + "free": "brezplačno", // kostenlos + "freeFrom100": "(brezplačno od 100€)", // (kostenlos ab 100€) + "dhl": "6,99 €", // 6,99 € + "dpd": "4,90 €", // 4,90 € + "sperrgut": "28,99 €" // 28,99 € + }, + "times": { + "cutting14Days": "Čas dostave: 14 dni", // Lieferzeit: 14 Tage + "standard2to3Days": "Čas dostave: 2-3 dni", // Lieferzeit: 2-3 Tage + "supplier7to9Days": "Čas dostave: 7-9 dni" // Lieferzeit: 7-9 Tage + } +}; diff --git a/src/i18n/locales/sl/filters.js b/src/i18n/locales/sl/filters.js new file mode 100644 index 0000000..909b0c7 --- /dev/null +++ b/src/i18n/locales/sl/filters.js @@ -0,0 +1,7 @@ +export default { + "sorting": "Razvrščanje", // Sortierung + "perPage": "na stran", // pro Seite + "availability": "Razpoložljivost", // Verfügbarkeit + "manufacturer": "Proizvajalec", // Hersteller + "all": "Vse", // Alle +}; diff --git a/src/i18n/locales/sl/footer.js b/src/i18n/locales/sl/footer.js new file mode 100644 index 0000000..b171db4 --- /dev/null +++ b/src/i18n/locales/sl/footer.js @@ -0,0 +1,15 @@ +export default { + "hours": "Sob 11:00-19:00", // Sa 11-19 + "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden + "location": "Med postajališčem Pieschen in Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz + "allPricesIncl": "* Vse cene vključujejo zakonski DDV, plus poštnina", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand + "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de + "legal": { + "datenschutz": "Politika zasebnosti", // Datenschutz + "agb": "Pogoji poslovanja", // AGB + "sitemap": "Zemljevid strani", // Sitemap + "impressum": "Pravni opomnik", // Impressum + "batteriegesetzhinweise": "Informacije o zakonu o baterijah", // Batteriegesetzhinweise + "widerrufsrecht": "Pravica do odstopa" // Widerrufsrecht + } +}; diff --git a/src/i18n/locales/sl/index.js b/src/i18n/locales/sl/index.js new file mode 100644 index 0000000..1dd359f --- /dev/null +++ b/src/i18n/locales/sl/index.js @@ -0,0 +1,43 @@ +import locale from './locale.js'; +import navigation from './navigation.js'; +import auth from './auth.js'; +import cart from './cart.js'; +import product from './product.js'; +import search from './search.js'; +import sorting from './sorting.js'; +import chat from './chat.js'; +import delivery from './delivery.js'; +import checkout from './checkout.js'; +import payment from './payment.js'; +import filters from './filters.js'; +import tax from './tax.js'; +import footer from './footer.js'; +import titles from './titles.js'; +import sections from './sections.js'; +import pages from './pages.js'; +import orders from './orders.js'; +import settings from './settings.js'; +import common from './common.js'; + +export default { + "locale": locale, + "navigation": navigation, + "auth": auth, + "cart": cart, + "product": product, + "search": search, + "sorting": sorting, + "chat": chat, + "delivery": delivery, + "checkout": checkout, + "payment": payment, + "filters": filters, + "tax": tax, + "footer": footer, + "titles": titles, + "sections": sections, + "pages": pages, + "orders": orders, + "settings": settings, + "common": common +}; \ No newline at end of file diff --git a/src/i18n/locales/sl/locale.js b/src/i18n/locales/sl/locale.js new file mode 100644 index 0000000..aa46a28 --- /dev/null +++ b/src/i18n/locales/sl/locale.js @@ -0,0 +1,3 @@ +export default { + "code": "sl-SI" // de-DE +}; diff --git a/src/i18n/locales/sl/navigation.js b/src/i18n/locales/sl/navigation.js new file mode 100644 index 0000000..18dd239 --- /dev/null +++ b/src/i18n/locales/sl/navigation.js @@ -0,0 +1,9 @@ +export default { + "home": "Domov", // Startseite + "aktionen": "Promocije", // Aktionen + "filiale": "Poslovalnica", // Filiale + "categories": "Kategorije", // Kategorien + "categoriesOpen": "Odpri kategorije", // Kategorien öffnen + "categoriesClose": "Zapri kategorije", // Kategorien schließen + "otherCategories": "Druge kategorije" // Andere Kategorien +}; diff --git a/src/i18n/locales/sl/orders.js b/src/i18n/locales/sl/orders.js new file mode 100644 index 0000000..12cd267 --- /dev/null +++ b/src/i18n/locales/sl/orders.js @@ -0,0 +1,23 @@ +export default { + "status": { + "new": "V teku", // in Bearbeitung + "pending": "Novo", // Neu + "processing": "V teku", // in Bearbeitung + "cancelled": "Preklicano", // Storniert + "shipped": "Poslano", // Verschickt + "delivered": "Dostavljeno", // Geliefert + "return": "Vrnitev", // Retoure + "partialReturn": "Delna vrnitev", // Teil Retoure + "partialDelivered": "Delno dostavljeno" // Teil geliefert + }, + "table": { + "orderNumber": "Številka naročila", // Bestellnummer + "date": "Datum", // Datum + "status": "Status", // Status + "items": "Izdelki", // Artikel + "total": "Skupaj", // Summe + "actions": "Dejanja", // Aktionen + "viewDetails": "Poglej podrobnosti" // Details anzeigen + }, + "noOrders": "Še niste oddali nobenega naročila." // Sie haben noch keine Bestellungen aufgegeben. +}; diff --git a/src/i18n/locales/sl/pages.js b/src/i18n/locales/sl/pages.js new file mode 100644 index 0000000..115bd42 --- /dev/null +++ b/src/i18n/locales/sl/pages.js @@ -0,0 +1,10 @@ +export default { + "oilPress": { + "title": "Izposodi si stiskalnico za olje", // Ölpresse ausleihen + "comingSoon": "Vsebina kmalu na voljo...", // Inhalt kommt bald... + }, + "thcTest": { + "title": "THC test", // THC Test + "comingSoon": "Vsebina kmalu na voljo...", // Inhalt kommt bald... + } +}; diff --git a/src/i18n/locales/sl/payment.js b/src/i18n/locales/sl/payment.js new file mode 100644 index 0000000..d44c7c7 --- /dev/null +++ b/src/i18n/locales/sl/payment.js @@ -0,0 +1,8 @@ +export default { + "successful": "Plačilo uspešno!", // Zahlung erfolgreich! + "failed": "Plačilo ni uspelo", // Zahlung fehlgeschlagen + "orderCompleted": "🎉 Vaše naročilo je bilo uspešno zaključeno! Zdaj lahko pregledate svoja naročila.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. + "orderProcessing": "Vaše plačilo je bilo uspešno obdelano. Naročilo bo samodejno zaključeno.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. + "paymentError": "Vašega plačila ni bilo mogoče obdelati. Prosimo, poskusite znova ali izberite drugo metodo plačila.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. + "viewOrders": "Pojdi na moja naročila" // Zu meinen Bestellungen +}; diff --git a/src/i18n/locales/sl/product.js b/src/i18n/locales/sl/product.js new file mode 100644 index 0000000..87e4c78 --- /dev/null +++ b/src/i18n/locales/sl/product.js @@ -0,0 +1,32 @@ +export default { + "loading": "Nalaganje izdelka...", // Produkt wird geladen... + "notFound": "Izdelek ni najden", // Produkt nicht gefunden + "notFoundDescription": "Izdelek, ki ga iščete, ne obstaja ali je bil odstranjen.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. + "backToHome": "Nazaj na domačo stran", // Zurück zur Startseite + "error": "Napaka", // Fehler + "articleNumber": "Številka artikla", // Artikelnummer + "manufacturer": "Proizvajalec", // Hersteller + "inclVat": "vključno z {{vat}}% DDV", // inkl. {{vat}}% MwSt. + "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} + "new": "Novo", // Neu + "weeks": "tedni", // Wochen + "arriving": "Prihod:", // Ankunft: + "inclVatFooter": "vključno z {{vat}}% DDV,*", // inkl. {{vat}}% MwSt.,* + "availability": "Razpoložljivost", // Verfügbarkeit + "inStock": "na zalogi", // auf Lager + "comingSoon": "Kmalu na voljo", // Bald verfügbar + "deliveryTime": "Čas dostave", // Lieferzeit + "inclShort": "vklj.", // inkl. + "vatShort": "DDV", // MwSt. + "countDisplay": { + "noProducts": "0 izdelkov", // 0 Produkte + "oneProduct": "1 izdelek", // 1 Produkt + "multipleProducts": "{{count}} izdelki", // {{count}} Produkte + "filteredProducts": "{{filtered}} od {{total}} izdelkov", // {{filtered}} von {{total}} Produkten + "filteredOneProduct": "{{filtered}} od 1 izdelka", // {{filtered}} von 1 Produkt + "xOfYProducts": "{{x}} od {{y}} izdelkov" // {{x}} von {{y}} Produkten + }, + "removeFiltersToSee": "Odstranite filtre, da vidite izdelke", // Entferne Filter um Produkte zu sehen + "outOfStock": "Ni na zalogi", // Out of Stock + "fromXProducts": "iz {{count}} izdelkov" // ab {{count}} Produkten +}; diff --git a/src/i18n/locales/sl/search.js b/src/i18n/locales/sl/search.js new file mode 100644 index 0000000..fb1d08e --- /dev/null +++ b/src/i18n/locales/sl/search.js @@ -0,0 +1,5 @@ +export default { + "placeholder": "Lahko me vprašaš o sortah konoplje...", // Du kannst mich nach Cannabissorten fragen... + "recording": "Posnetek v teku...", // Aufnahme läuft... + "searchProducts": "Išči izdelke...", // Produkte suchen... +}; diff --git a/src/i18n/locales/sl/sections.js b/src/i18n/locales/sl/sections.js new file mode 100644 index 0000000..90a2a84 --- /dev/null +++ b/src/i18n/locales/sl/sections.js @@ -0,0 +1,8 @@ +export default { + "seeds": "Semena", // Seeds + "stecklinge": "Rezalci", // Stecklinge + "oilPress": "Izposodi si stiskalnico za olje", // Ölpresse ausleihen + "thcTest": "THC test", // THC Test + "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 + "address2": "01129 Dresden" // 01129 Dresden +}; diff --git a/src/i18n/locales/sl/settings.js b/src/i18n/locales/sl/settings.js new file mode 100644 index 0000000..48bd83e --- /dev/null +++ b/src/i18n/locales/sl/settings.js @@ -0,0 +1,34 @@ +export default { + "changePassword": "Spremeni geslo", // Passwort ändern + "currentPassword": "Trenutno geslo", // Aktuelles Passwort + "newPassword": "Novo geslo", // Neues Passwort + "confirmNewPassword": "Potrdi novo geslo", // Neues Passwort bestätigen + "updatePassword": "Posodobi geslo", // Passwort aktualisieren + "changeEmail": "Spremeni e-poštni naslov", // E-Mail-Adresse ändern + "password": "Geslo", // Passwort + "newEmail": "Nov e-poštni naslov", // Neue E-Mail-Adresse + "updateEmail": "Posodobi e-pošto", // E-Mail aktualisieren + "apiKey": "API ključ", // API-Schlüssel + "apiKeyDescription": "Uporabite svoj API ključ za integracijo z zunanjimi aplikacijami.", // Verwenden Sie Ihren API-Schlüssel für die Integration mit externen Anwendungen. + "apiDocumentation": "API dokumentacija:", // API-Dokumentation: + "copyToClipboard": "Kopiraj v odložišče", // In Zwischenablage kopieren + "generate": "Ustvari", // Generieren + "regenerate": "Ponovno ustvari", // Regenerieren + "apiKeyCopied": "API ključ je kopiran v odložišče", // API-Schlüssel in Zwischenablage kopiert + "errors": { + "fillAllFields": "Prosimo, izpolnite vsa polja", // Bitte füllen Sie alle Felder aus + "passwordsNotMatch": "Nova gesla se ne ujemata", // Die neuen Passwörter stimmen nicht überein + "passwordTooShort": "Novo geslo mora biti dolgo vsaj 8 znakov", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "passwordUpdateError": "Napaka pri posodabljanju gesla", // Fehler beim Aktualisieren des Passworts + "invalidEmail": "Prosimo, vnesite veljaven e-poštni naslov", // Bitte geben Sie eine gültige E-Mail-Adresse ein + "emailUpdateError": "Napaka pri posodabljanju e-poštnega naslova", // Fehler beim Aktualisieren der E-Mail-Adresse + "userNotFound": "Uporabnik ni najden", // Benutzer nicht gefunden + "apiKeyGenerationError": "Napaka pri ustvarjanju API ključa" // Fehler beim Generieren des API-Schlüssels + }, + "success": { + "passwordUpdated": "Geslo je bilo uspešno posodobljeno", // Passwort erfolgreich aktualisiert + "emailUpdated": "E-poštni naslov je bil uspešno posodobljen", // E-Mail-Adresse erfolgreich aktualisiert + "apiKeyGenerated": "API ključ je bil uspešno ustvarjen", // API-Schlüssel erfolgreich generiert + "apiKeyWarning": "Ta ključ shranite varno. Zaradi varnostnih razlogov bo skrit čez 10 sekund." // Speichern Sie diesen Schlüssel sicher. Er wird aus Sicherheitsgründen in 10 Sekunden ausgeblendet. + } +}; diff --git a/src/i18n/locales/sl/sorting.js b/src/i18n/locales/sl/sorting.js new file mode 100644 index 0000000..e9a3e29 --- /dev/null +++ b/src/i18n/locales/sl/sorting.js @@ -0,0 +1,6 @@ +export default { + "name": "Ime", // Name + "searchField": "Iskalni izraz", // Suchbegriff + "priceLowHigh": "Cena: od nizke do visoke", // Preis: Niedrig zu Hoch + "priceHighLow": "Cena: od visoke do nizke" // Preis: Hoch zu Niedrig +}; diff --git a/src/i18n/locales/sl/tax.js b/src/i18n/locales/sl/tax.js new file mode 100644 index 0000000..ed50201 --- /dev/null +++ b/src/i18n/locales/sl/tax.js @@ -0,0 +1,12 @@ +export default { + "vat": "Davek na dodano vrednost", // Mehrwertsteuer + "vat7": "7% davek na dodano vrednost", // 7% Mehrwertsteuer + "vat19": "19% davek na dodano vrednost", // 19% Mehrwertsteuer + "vat19WithShipping": "19% davek na dodano vrednost (vključno s poštnino)", // 19% Mehrwertsteuer (inkl. Versand) + "totalNet": "Skupna neto cena", // Gesamtnettopreis + "totalGross": "Skupna bruto cena brez poštnine", // Gesamtbruttopreis ohne Versand + "subtotal": "Vmesni seštevek", // Zwischensumme + "incl7Vat": "vključno z 7% DDV", // inkl. 7% MwSt. + "inclVatWithFooter": "(vključno z {{vat}}% DDV,*)", // (incl. {{vat}}% USt.,*) + "inclVatAmount": "vključno z {{amount}} € DDV ({{rate}}%)" // nkl. {{amount}} € MwSt. ({{rate}}%) +}; diff --git a/src/i18n/locales/sl/titles.js b/src/i18n/locales/sl/titles.js new file mode 100644 index 0000000..2a4a6b4 --- /dev/null +++ b/src/i18n/locales/sl/titles.js @@ -0,0 +1,5 @@ +export default { + "home": "Kakovostna semena in reznice konoplje", // Fine Cannabis Seeds & Cuttings + "aktionen": "Trenutne promocije in ponudbe", // Aktuelle Aktionen & Angebote + "filiale": "Naša trgovina v Dresdnu" // Unsere Filiale in Dresden +}; diff --git a/src/i18n/locales/sl/translation.js b/src/i18n/locales/sl/translation.js index d51f193..820476a 100644 --- a/src/i18n/locales/sl/translation.js +++ b/src/i18n/locales/sl/translation.js @@ -1,231 +1,3 @@ -export default { - "locale": { - "code": "sl-SI" // de-DE - }, - "navigation": { - "home": "Domov", // Startseite - "aktionen": "Promocije", // Aktionen - "filiale": "Poslovalnica", // Filiale - "categories": "Kategorije", // Kategorien - "categoriesOpen": "Odpri kategorije", // Kategorien öffnen - "categoriesClose": "Zapri kategorije", // Kategorien schließen - "otherCategories": "Druge kategorije" // Andere Kategorien - }, - "auth": { - "login": "Prijava", // Anmelden - "register": "Registracija", // Registrieren - "logout": "Odjava", // Abmelden - "profile": "Profil", // Profil - "email": "E-pošta", // E-Mail - "password": "Geslo", // Passwort - "confirmPassword": "Potrdi geslo", // Passwort bestätigen - "forgotPassword": "Ste pozabili geslo?", // Passwort vergessen? - "loginWithGoogle": "Prijava z Google", // Mit Google anmelden - "or": "ALI", // ODER - "privacyAccept": "S klikom na \"Prijava z Google\" sprejemam", // Mit dem Click auf \"Mit Google anmelden\" akzeptiere ich die - "privacyPolicy": "Pravilnik o zasebnosti", // Datenschutzbestimmungen - "passwordMinLength": "Geslo mora biti dolgo vsaj 8 znakov", // Das Passwort muss mindestens 8 Zeichen lang sein - "newPasswordMinLength": "Novo geslo mora biti dolgo vsaj 8 znakov", // Das neue Passwort muss mindestens 8 Zeichen lang sein - "menu": { - "profile": "Profil", // Profil - "checkout": "Zaključek nakupa", // Bestellabschluss - "orders": "Naročila", // Bestellungen - "settings": "Nastavitve", // Einstellungen - "adminDashboard": "Administratorska nadzorna plošča", // Admin Dashboard - "adminUsers": "Administratorski uporabniki" // Admin Users - } - }, - "cart": { - "title": "Košarica", // Warenkorb - "empty": "prazno", // leer - "addToCart": "Dodaj v košarico", // In den Korb - "preorderCutting": "Prednaročilo kot potomec", // Als Steckling vorbestellen - "continueShopping": "Nadaljuj z nakupovanjem", // Weiter einkaufen - "proceedToCheckout": "Nadaljuj na blagajno", // Weiter zur Kasse - "productCount": "{{count}} {{count, plural, one {Izdelek} other {Izdelki}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} - "removeFromCart": "Odstrani iz košarice", // Aus dem Warenkorb entfernen - "openCart": "Odpri košarico", // Warenkorb öffnen - "availableFrom": "Na voljo od {{date}}", // Ab {{date}} - "backToOrder": "← Nazaj na naročilo", // ← Zurück zur Bestellung - "sync": { - "title": "Sinhronizacija košarice", // Warenkorb-Synchronisierung - "description": "V vašem računu imate shranjeno košarico. Prosimo, izberite, kako želite nadaljevati:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten: - "deleteServer": "Izbriši košarico na strežniku", // Server-Warenkorb löschen - "useServer": "Uporabi košarico s strežnika", // Server-Warenkorb übernehmen - "merge": "Združi košarice", // Warenkörbe zusammenführen - "currentCart": "Vaša trenutna košarica", // Ihr aktueller Warenkorb - "serverCart": "Košarica shranjena v vašem profilu" // In Ihrem Profil gespeicherter Warenkorb - } - }, - "product": { - "loading": "Nalaganje izdelka...", // Produkt wird geladen... - "notFound": "Izdelek ni najden", // Produkt nicht gefunden - "notFoundDescription": "Izdelek, ki ga iščete, ne obstaja ali je bil odstranjen.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. - "backToHome": "Nazaj na domov", // Zurück zur Startseite - "error": "Napaka", // Fehler - "articleNumber": "Številka artikla", // Artikelnummer - "manufacturer": "Proizvajalec", // Hersteller - "inclVat": "vključno z {{vat}}% DDV", // inkl. {{vat}}% MwSt. - "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} - "new": "Novo", // Neu - "arriving": "Prihaja:", // Ankunft: - "inclVatFooter": "vključno z {{vat}}% DDV,*", // incl. {{vat}}% USt.,* - "availability": "Razpoložljivost", // Verfügbarkeit - "inStock": "na zalogi", // auf Lager - "comingSoon": "Kmalu na voljo", // Bald verfügbar - "deliveryTime": "Čas dostave", // Lieferzeit - "inclShort": "vklj.", // inkl. - "vatShort": "DDV", // MwSt. - "countDisplay": { - "noProducts": "0 izdelkov", // 0 Produkte - "oneProduct": "1 izdelek", // 1 Produkt - "multipleProducts": "{{count}} izdelki", // {{count}} Produkte - "filteredProducts": "{{filtered}} od {{total}} izdelkov", // {{filtered}} von {{total}} Produkten - "filteredOneProduct": "{{filtered}} od 1 izdelka" // {{filtered}} von 1 Produkt - }, - "removeFiltersToSee": "Odstranite filtre, da vidite izdelke", // Entferne Filter um Produkte zu sehen - "outOfStock": "Ni na zalogi", // Out of Stock - "fromXProducts": "od {{count}} izdelkov" // ab {{count}} Produkten - }, - "search": { - "placeholder": "Vprašajte me o sortah konoplje...", // Du kannst mich nach Cannabissorten fragen... - "recording": "Snemanje...", // Aufnahme läuft... - "searchProducts": "Išči izdelke..." // Produkte suchen... - }, - "sorting": { - "name": "Ime", // Name - "searchField": "Iskalni izraz", // Suchbegriff - "priceLowHigh": "Cena: naraščajoče", // Preis: Niedrig zu Hoch - "priceHighLow": "Cena: padajoče" // Preis: Hoch zu Niedrig - }, - "chat": { - "privacyRead": "Prebrano & Sprejeto" // Gelesen & Akzeptiert - }, - "delivery": { - "methods": { - "dhl": "DHL", // DHL - "dpd": "DPD", // DPD - "sperrgut": "Veliki tovor", // Sperrgut - "pickup": "Prevzem v poslovalnici" // Abholung in der Filiale - }, - "descriptions": { - "standard": "Standardna dostava", // Standardversand - "standardFree": "Standardna dostava - BREZPLAČNO za naročila nad 100 €!", // Standardversand - KOSTENLOS ab 100€ Warenwert! - "notAvailable": "Ni mogoče izbrati, ker je en ali več artiklov mogoče samo prevzeti", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können - "bulky": "Za velike in težke artikle" // Für große und schwere Artikel - }, - "prices": { - "free": "brezplačno", // kostenlos - "freeFrom100": "(brezplačno od 100 €)", // (kostenlos ab 100€) - "dhl": "6,99 €", // 6,99 € - "dpd": "4,90 €", // 4,90 € - "sperrgut": "28,99 €" // 28,99 € - }, - "times": { - "cutting14Days": "Čas dostave: 14 dni", // Lieferzeit: 14 Tage - "standard2to3Days": "Čas dostave: 2-3 dni", // Lieferzeit: 2-3 Tage - "supplier7to9Days": "Čas dostave: 7-9 dni" // Lieferzeit: 7-9 Tage - } - }, - "checkout": { - "invoiceAddress": "Naslov za račun", // Rechnungsadresse - "deliveryAddress": "Naslov za dostavo", // Lieferadresse - "saveForFuture": "Shrani za prihodnja naročila", // Für zukünftige Bestellungen speichern - "pickupDate": "Za kateri datum želite prevzeti potomce?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht? - "note": "Opomba", // Anmerkung - "sameAddress": "Naslov za dostavo je enak naslovu za račun", // Lieferadresse ist identisch mit Rechnungsadresse - "termsAccept": "Prebral sem Splošne pogoje, Pravilnik o zasebnosti in informacije o pravici do odstopa" // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen - }, - "payment": { - "successful": "Plačilo uspešno!", // Zahlung erfolgreich! - "failed": "Plačilo ni uspelo", // Zahlung fehlgeschlagen - "orderCompleted": "🎉 Vaše naročilo je bilo uspešno zaključeno! Zdaj lahko pregledate svoja naročila.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. - "orderProcessing": "Vaše plačilo je bilo uspešno obdelano. Naročilo bo samodejno zaključeno.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. - "paymentError": "Vaše plačilo ni bilo mogoče obdelati. Prosimo, poskusite znova ali izberite drugo metodo plačila.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. - "viewOrders": "Poglej moja naročila" // Zu meinen Bestellungen - }, - "filters": { - "sorting": "Razvrščanje", // Sortierung - "perPage": "na stran", // pro Seite - "availability": "Razpoložljivost", // Verfügbarkeit - "manufacturer": "Proizvajalec" // Hersteller - }, - "tax": { - "vat": "Davek na dodano vrednost", // Mehrwertsteuer - "vat7": "7% davek na dodano vrednost", // 7% Mehrwertsteuer - "vat19": "19% davek na dodano vrednost", // 19% Mehrwertsteuer - "vat19WithShipping": "19% davek na dodano vrednost (vključno s poštnino)", // 19% Mehrwertsteuer (inkl. Versand) - "totalNet": "Skupna neto cena", // Gesamtnettopreis - "totalGross": "Skupna bruto cena brez poštnine", // Gesamtbruttopreis ohne Versand - "subtotal": "Vmesni seštevek" // Zwischensumme - }, - "footer": { - "hours": "Sob 11-19", // Sa 11-19 - "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden - "location": "Med postajališčem Pieschen in Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz - "allPricesIncl": "* Vse cene vključujejo zakonski DDV, plus poštnina", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand - "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de - "legal": { - "datenschutz": "Zasebnost", // Datenschutz - "agb": "Splošni pogoji", // AGB - "sitemap": "Zemljevid strani", // Sitemap - "impressum": "Impressum", // Impressum - "batteriegesetzhinweise": "Opombe o zakonu o baterijah", // Batteriegesetzhinweise - "widerrufsrecht": "Pravica do odstopa" // Widerrufsrecht - } - }, - "titles": { - "home": "Kakovostna semena in potomci konoplje", // Fine Cannabis Seeds & Cuttings (the text in the string has special characters, translate using the comment) - "aktionen": "Trenutne promocije in ponudbe", // Aktuelle Aktionen & Angebote (the text in the string has special characters, translate using the comment) - "filiale": "Naša poslovalnica v Dresdnu" // Unsere Filiale in Dresden (the text in the string has special characters, translate using the comment) - }, - "sections": { - "seeds": "Semena", // Seeds - "stecklinge": "Potomci", // Stecklinge - "oilPress": "Izposoja oljne preše", // Ölpresse ausleihen - "thcTest": "THC test", // THC Test - "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 - "address2": "01129 Dresden" // 01129 Dresden - }, - "pages": { - "oilPress": { - "title": "Izposoja oljne preše", // Ölpresse ausleihen - "comingSoon": "Vsebina prihaja kmalu..." // Inhalt kommt bald... - }, - "thcTest": { - "title": "THC test", // THC Test - "comingSoon": "Vsebina prihaja kmalu..." // Inhalt kommt bald... - } - }, - "orders": { - "status": { - "new": "V obdelavi", // in Bearbeitung - "pending": "Novo", // Neu - "processing": "V obdelavi", // in Bearbeitung - "cancelled": "Preklicano", // Storniert - "shipped": "Poslano", // Verschickt - "delivered": "Dostavljeno", // Geliefert - "return": "Vrnitev", // Retoure - "partialReturn": "Delna vrnitev", // Teil Retoure - "partialDelivered": "Delno dostavljeno" // Teil geliefert - } - }, - "common": { - "loading": "Nalaganje...", // Lädt... - "error": "Napaka", // Fehler - "close": "Zapri", // Schließen - "save": "Shrani", // Speichern - "cancel": "Prekliči", // Abbrechen - "ok": "V redu", // OK - "yes": "Da", // Ja - "no": "Ne", // Nein - "next": "Naprej", // Weiter - "back": "Nazaj", // Zurück - "edit": "Uredi", // Bearbeiten - "delete": "Izbriši", // Löschen - "add": "Dodaj", // Hinzufügen - "remove": "Odstrani", // Entfernen - "products": "Izdelki", // Produkte - "product": "Izdelek" // Produkt - } -}; +import translations from './index.js'; + +export default translations; \ No newline at end of file diff --git a/src/i18n/locales/sr/auth.js b/src/i18n/locales/sr/auth.js new file mode 100644 index 0000000..227410e --- /dev/null +++ b/src/i18n/locales/sr/auth.js @@ -0,0 +1,25 @@ +export default { + "login": "Prijava", // Anmelden + "register": "Registracija", // Registrieren + "logout": "Odjava", // Abmelden + "profile": "Profil", // Profil + "email": "Email", // E-Mail + "password": "Lozinka", // Passwort + "confirmPassword": "Potvrdi lozinku", // Passwort bestätigen + "forgotPassword": "Zaboravili ste lozinku?", // Passwort vergessen? + "loginWithGoogle": "Prijavite se sa Google-om", // Mit Google anmelden + "or": "ILI", // ODER + "privacyAccept": "Klikom na \"Prijavite se sa Google-om\" prihvatam", // Mit dem Click auf "Mit Google anmelden" akzeptiere ich die + "privacyPolicy": "Politiku privatnosti", // Datenschutzbestimmungen + "passwordMinLength": "Lozinka mora imati najmanje 8 karaktera", // Das Passwort muss mindestens 8 Zeichen lang sein + "newPasswordMinLength": "Nova lozinka mora imati najmanje 8 karaktera", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "menu": { + "profile": "Profil", // Profil + "myProfile": "Moj profil", // Mein Profil + "checkout": "Završi kupovinu", // Bestellabschluss + "orders": "Porudžbine", // Bestellungen + "settings": "Podešavanja", // Einstellungen + "adminDashboard": "Admin kontrolna tabla", // Admin Dashboard + "adminUsers": "Admin korisnici" // Admin Users + } +}; diff --git a/src/i18n/locales/sr/cart.js b/src/i18n/locales/sr/cart.js new file mode 100644 index 0000000..94fb682 --- /dev/null +++ b/src/i18n/locales/sr/cart.js @@ -0,0 +1,24 @@ +export default { + "title": "Korpa", // Warenkorb + "empty": "prazna", // leer + "addToCart": "Dodaj u korpu", // In den Korb + "preorderCutting": "Poruči unapred kao reznicu", // Als Steckling vorbestellen + "continueShopping": "Nastavi sa kupovinom", // Weiter einkaufen + "proceedToCheckout": "Nastavi na naplatu", // Weiter zur Kasse + "productCount": "{{count}} {{count, plural, one {proizvod} other {proizvoda}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} + "productSingular": "proizvod", // Produkt + "productPlural": "proizvoda", // Produkte + "removeFromCart": "Ukloni iz korpe", // Aus dem Warenkorb entfernen + "openCart": "Otvori korpu", // Warenkorb öffnen + "availableFrom": "Dostupno od {{date}}", // Ab {{date}} + "backToOrder": "← Nazad na porudžbinu", // ← Zurück zur Bestellung + "sync": { + "title": "Sinhronizacija korpe", // Warenkorb-Synchronisierung + "description": "Imate sačuvanu korpu na svom nalogu. Molimo izaberite kako želite da nastavite:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten: + "deleteServer": "Obriši korpu sa servera", // Server-Warenkorb löschen + "useServer": "Koristi korpu sa servera", // Server-Warenkorb übernehmen + "merge": "Spoji korpe", // Warenkörbe zusammenführen + "currentCart": "Vaša trenutna korpa", // Ihr aktueller Warenkorb + "serverCart": "Korpa sačuvana u vašem profilu" // In Ihrem Profil gespeicherter Warenkorb + } +}; diff --git a/src/i18n/locales/sr/chat.js b/src/i18n/locales/sr/chat.js new file mode 100644 index 0000000..1eb1221 --- /dev/null +++ b/src/i18n/locales/sr/chat.js @@ -0,0 +1,3 @@ +export default { + "privacyRead": "Pročitano i prihvaćeno", // Gelesen & Akzeptiert +}; diff --git a/src/i18n/locales/sr/checkout.js b/src/i18n/locales/sr/checkout.js new file mode 100644 index 0000000..8151cb2 --- /dev/null +++ b/src/i18n/locales/sr/checkout.js @@ -0,0 +1,13 @@ +export default { + "invoiceAddress": "Adresa za fakturu", // Rechnungsadresse + "deliveryAddress": "Adresa za isporuku", // Lieferadresse + "saveForFuture": "Sačuvaj za buduće porudžbine", // Für zukünftige Bestellungen speichern + "pickupDate": "Za koji datum je željeno preuzimanje reznica?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht? + "note": "Napomena", // Anmerkung + "sameAddress": "Adresa za isporuku je ista kao adresa za fakturu", // Lieferadresse ist identisch mit Rechnungsadresse + "termsAccept": "Pročitao/la sam uslove korišćenja, politiku privatnosti i odredbe o pravu na odustajanje", // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen + "selectDeliveryMethod": "Izaberite način isporuke", // Versandart wählen + "selectPaymentMethod": "Izaberite način plaćanja", // Zahlungsart wählen + "orderSummary": "Pregled porudžbine", // Bestellübersicht + "addressValidationError": "Molimo proverite unete podatke u poljima za adresu." // Bitte überprüfen Sie Ihre Eingaben in den Adressfeldern. +}; diff --git a/src/i18n/locales/sr/common.js b/src/i18n/locales/sr/common.js new file mode 100644 index 0000000..197ea52 --- /dev/null +++ b/src/i18n/locales/sr/common.js @@ -0,0 +1,19 @@ +export default { + "loading": "Učitavanje...", // Lädt... + "error": "Greška", // Fehler + "close": "Zatvori", // Schließen + "save": "Sačuvaj", // Speichern + "cancel": "Otkaži", // Abbrechen + "ok": "OK", // OK + "yes": "Da", // Ja + "no": "Ne", // Nein + "next": "Dalje", // Weiter + "back": "Nazad", // Zurück + "edit": "Izmeni", // Bearbeiten + "delete": "Obriši", // Löschen + "add": "Dodaj", // Hinzufügen + "remove": "Ukloni", // Entfernen + "products": "Proizvodi", // Produkte + "product": "Proizvod", // Produkt + "days": "Dani" // Tage +}; diff --git a/src/i18n/locales/sr/delivery.js b/src/i18n/locales/sr/delivery.js new file mode 100644 index 0000000..5c5dfa4 --- /dev/null +++ b/src/i18n/locales/sr/delivery.js @@ -0,0 +1,27 @@ +export default { + "methods": { + "dhl": "DHL", // DHL + "dpd": "DPD", // DPD + "sperrgut": "Glomazna roba", // Sperrgut + "pickup": "Preuzimanje u prodavnici" // Abholung in der Filiale + }, + "descriptions": { + "standard": "Standardna dostava", // Standardversand + "standardFree": "Standardna dostava - BESPLATNO za porudžbine preko 100€!", // Standardversand - KOSTENLOS ab 100€ Warenwert! + "notAvailable": "Nije moguće izabrati jer jedan ili više artikala mogu samo da se preuzmu", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können + "bulky": "Za velike i teške artikle", // Für große und schwere Artikel + "pickupOnly": "Samo preuzimanje" // nur Abholung + }, + "prices": { + "free": "besplatno", // kostenlos + "freeFrom100": "(besplatno od 100€)", // (kostenlos ab 100€) + "dhl": "6,99 €", // 6,99 € + "dpd": "4,90 €", // 4,90 € + "sperrgut": "28,99 €" // 28,99 € + }, + "times": { + "cutting14Days": "Vreme isporuke: 14 dana", // Lieferzeit: 14 Tage + "standard2to3Days": "Vreme isporuke: 2-3 dana", // Lieferzeit: 2-3 Tage + "supplier7to9Days": "Vreme isporuke: 7-9 dana" // Lieferzeit: 7-9 Tage + } +}; diff --git a/src/i18n/locales/sr/filters.js b/src/i18n/locales/sr/filters.js new file mode 100644 index 0000000..41f3e2c --- /dev/null +++ b/src/i18n/locales/sr/filters.js @@ -0,0 +1,7 @@ +export default { + "sorting": "Sortiranje", // Sortierung + "perPage": "po strani", // pro Seite + "availability": "Dostupnost", // Verfügbarkeit + "manufacturer": "Proizvođač", // Hersteller + "all": "Sve", // Alle +}; diff --git a/src/i18n/locales/sr/footer.js b/src/i18n/locales/sr/footer.js new file mode 100644 index 0000000..6f64347 --- /dev/null +++ b/src/i18n/locales/sr/footer.js @@ -0,0 +1,15 @@ +export default { + "hours": "Radno vreme subota 11-19", // Sa 11-19 + "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden + "location": "Između stanice Pieschen i Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz + "allPricesIncl": "* Sve cene uključuju zakonski PDV, plus troškove dostave", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand + "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de + "legal": { + "datenschutz": "Politika privatnosti", // Datenschutz + "agb": "Uslovi korišćenja", // AGB + "sitemap": "Mapa sajta", // Sitemap + "impressum": "Pravni podaci", // Impressum + "batteriegesetzhinweise": "Informacije o zakonu o baterijama", // Batteriegesetzhinweise + "widerrufsrecht": "Pravo na povlačenje" // Widerrufsrecht + } +}; diff --git a/src/i18n/locales/sr/index.js b/src/i18n/locales/sr/index.js new file mode 100644 index 0000000..1dd359f --- /dev/null +++ b/src/i18n/locales/sr/index.js @@ -0,0 +1,43 @@ +import locale from './locale.js'; +import navigation from './navigation.js'; +import auth from './auth.js'; +import cart from './cart.js'; +import product from './product.js'; +import search from './search.js'; +import sorting from './sorting.js'; +import chat from './chat.js'; +import delivery from './delivery.js'; +import checkout from './checkout.js'; +import payment from './payment.js'; +import filters from './filters.js'; +import tax from './tax.js'; +import footer from './footer.js'; +import titles from './titles.js'; +import sections from './sections.js'; +import pages from './pages.js'; +import orders from './orders.js'; +import settings from './settings.js'; +import common from './common.js'; + +export default { + "locale": locale, + "navigation": navigation, + "auth": auth, + "cart": cart, + "product": product, + "search": search, + "sorting": sorting, + "chat": chat, + "delivery": delivery, + "checkout": checkout, + "payment": payment, + "filters": filters, + "tax": tax, + "footer": footer, + "titles": titles, + "sections": sections, + "pages": pages, + "orders": orders, + "settings": settings, + "common": common +}; \ No newline at end of file diff --git a/src/i18n/locales/sr/locale.js b/src/i18n/locales/sr/locale.js new file mode 100644 index 0000000..76c2c1d --- /dev/null +++ b/src/i18n/locales/sr/locale.js @@ -0,0 +1,3 @@ +export default { + "code": "sr-RS" // de-DE +}; diff --git a/src/i18n/locales/sr/navigation.js b/src/i18n/locales/sr/navigation.js new file mode 100644 index 0000000..74c4476 --- /dev/null +++ b/src/i18n/locales/sr/navigation.js @@ -0,0 +1,9 @@ +export default { + "home": "Početna", // Startseite + "aktionen": "Promocije", // Aktionen + "filiale": "Filijala", // Filiale + "categories": "Kategorije", // Kategorien + "categoriesOpen": "Otvori kategorije", // Kategorien öffnen + "categoriesClose": "Zatvori kategorije", // Kategorien schließen + "otherCategories": "Ostale kategorije" // Andere Kategorien +}; diff --git a/src/i18n/locales/sr/orders.js b/src/i18n/locales/sr/orders.js new file mode 100644 index 0000000..9372d87 --- /dev/null +++ b/src/i18n/locales/sr/orders.js @@ -0,0 +1,23 @@ +export default { + "status": { + "new": "U toku", // in Bearbeitung + "pending": "Novo", // Neu + "processing": "U toku", // in Bearbeitung + "cancelled": "Otkazano", // Storniert + "shipped": "Poslato", // Verschickt + "delivered": "Isporučeno", // Geliefert + "return": "Povrat", // Retoure + "partialReturn": "Delimični povrat", // Teil Retoure + "partialDelivered": "Delimično isporučeno" // Teil geliefert + }, + "table": { + "orderNumber": "Broj porudžbine", // Bestellnummer + "date": "Datum", // Datum + "status": "Status", // Status + "items": "Artikli", // Artikel + "total": "Ukupno", // Summe + "actions": "Akcije", // Aktionen + "viewDetails": "Prikaži detalje" // Details anzeigen + }, + "noOrders": "Još niste izvršili nijednu porudžbinu." // Sie haben noch keine Bestellungen aufgegeben. +}; diff --git a/src/i18n/locales/sr/pages.js b/src/i18n/locales/sr/pages.js new file mode 100644 index 0000000..ddd82e9 --- /dev/null +++ b/src/i18n/locales/sr/pages.js @@ -0,0 +1,10 @@ +export default { + "oilPress": { + "title": "Pozajmi prešu za ulje", // Ölpresse ausleihen + "comingSoon": "Sadržaj uskoro...", // Inhalt kommt bald... + }, + "thcTest": { + "title": "THC test", // THC Test + "comingSoon": "Sadržaj uskoro...", // Inhalt kommt bald... + } +}; diff --git a/src/i18n/locales/sr/payment.js b/src/i18n/locales/sr/payment.js new file mode 100644 index 0000000..6265375 --- /dev/null +++ b/src/i18n/locales/sr/payment.js @@ -0,0 +1,8 @@ +export default { + "successful": "Plaćanje uspešno!", // Zahlung erfolgreich! + "failed": "Plaćanje nije uspelo", // Zahlung fehlgeschlagen + "orderCompleted": "🎉 Vaša porudžbina je uspešno završena! Sada možete pregledati svoje porudžbine.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. + "orderProcessing": "Vaša uplata je uspešno obrađena. Porudžbina će biti automatski završena.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. + "paymentError": "Vaša uplata nije mogla biti obrađena. Molimo pokušajte ponovo ili izaberite drugi način plaćanja.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. + "viewOrders": "Idi na moje porudžbine" // Zu meinen Bestellungen +}; diff --git a/src/i18n/locales/sr/product.js b/src/i18n/locales/sr/product.js new file mode 100644 index 0000000..107c44b --- /dev/null +++ b/src/i18n/locales/sr/product.js @@ -0,0 +1,32 @@ +export default { + "loading": "Učitavanje proizvoda...", // Produkt wird geladen... + "notFound": "Proizvod nije pronađen", // Produkt nicht gefunden + "notFoundDescription": "Proizvod koji tražite ne postoji ili je uklonjen.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. + "backToHome": "Nazad na početnu stranicu", // Zurück zur Startseite + "error": "Greška", // Fehler + "articleNumber": "Broj artikla", // Artikelnummer + "manufacturer": "Proizvođač", // Hersteller + "inclVat": "uključujući {{vat}}% PDV", // inkl. {{vat}}% MwSt. + "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} + "new": "Novo", // Neu + "weeks": "nedelja", // Wochen + "arriving": "Dolazak:", // Ankunft: + "inclVatFooter": "uključujući {{vat}}% PDV,*", // inkl. {{vat}}% MwSt.,* + "availability": "Dostupnost", // Verfügbarkeit + "inStock": "na lageru", // auf Lager + "comingSoon": "Uskoro dostupno", // Bald verfügbar + "deliveryTime": "Vreme isporuke", // Lieferzeit + "inclShort": "uklj.", // inkl. + "vatShort": "PDV", // MwSt. + "countDisplay": { + "noProducts": "0 proizvoda", // 0 Produkte + "oneProduct": "1 proizvod", // 1 Produkt + "multipleProducts": "{{count}} proizvoda", // {{count}} Produkte + "filteredProducts": "{{filtered}} od {{total}} proizvoda", // {{filtered}} von {{total}} Produkten + "filteredOneProduct": "{{filtered}} od 1 proizvoda", // {{filtered}} von 1 Produkt + "xOfYProducts": "{{x}} od {{y}} proizvoda" // {{x}} von {{y}} Produkten + }, + "removeFiltersToSee": "Uklonite filtere da vidite proizvode", // Entferne Filter um Produkte zu sehen + "outOfStock": "Nema na lageru", // Out of Stock + "fromXProducts": "od {{count}} proizvoda" // ab {{count}} Produkten +}; diff --git a/src/i18n/locales/sr/search.js b/src/i18n/locales/sr/search.js new file mode 100644 index 0000000..d8dead0 --- /dev/null +++ b/src/i18n/locales/sr/search.js @@ -0,0 +1,5 @@ +export default { + "placeholder": "Možete me pitati o sortama kanabisa...", // Du kannst mich nach Cannabissorten fragen... + "recording": "Snimanje u toku...", // Aufnahme läuft... + "searchProducts": "Pretraži proizvode...", // Produkte suchen... +}; diff --git a/src/i18n/locales/sr/sections.js b/src/i18n/locales/sr/sections.js new file mode 100644 index 0000000..d6ad9b2 --- /dev/null +++ b/src/i18n/locales/sr/sections.js @@ -0,0 +1,8 @@ +export default { + "seeds": "Semena", // Seeds + "stecklinge": "Reznice", // Stecklinge + "oilPress": "Pozajmi prešu za ulje", // Ölpresse ausleihen + "thcTest": "THC test", // THC Test + "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 + "address2": "01129 Dresden" // 01129 Dresden +}; diff --git a/src/i18n/locales/sr/settings.js b/src/i18n/locales/sr/settings.js new file mode 100644 index 0000000..8ff0e4e --- /dev/null +++ b/src/i18n/locales/sr/settings.js @@ -0,0 +1,34 @@ +export default { + "changePassword": "Promeni lozinku", // Passwort ändern + "currentPassword": "Trenutna lozinka", // Aktuelles Passwort + "newPassword": "Nova lozinka", // Neues Passwort + "confirmNewPassword": "Potvrdi novu lozinku", // Neues Passwort bestätigen + "updatePassword": "Ažuriraj lozinku", // Passwort aktualisieren + "changeEmail": "Promeni email adresu", // E-Mail-Adresse ändern + "password": "Lozinka", // Passwort + "newEmail": "Nova email adresa", // Neue E-Mail-Adresse + "updateEmail": "Ažuriraj email", // E-Mail aktualisieren + "apiKey": "API ključ", // API-Schlüssel + "apiKeyDescription": "Koristite svoj API ključ za integraciju sa eksternim aplikacijama.", // Verwenden Sie Ihren API-Schlüssel für die Integration mit externen Anwendungen. + "apiDocumentation": "API dokumentacija:", // API-Dokumentation: + "copyToClipboard": "Kopiraj u međuspremnik", // In Zwischenablage kopieren + "generate": "Generiši", // Generieren + "regenerate": "Regeneriši", // Regenerieren + "apiKeyCopied": "API ključ kopiran u međuspremnik", // API-Schlüssel in Zwischenablage kopiert + "errors": { + "fillAllFields": "Molimo popunite sva polja", // Bitte füllen Sie alle Felder aus + "passwordsNotMatch": "Nove lozinke se ne poklapaju", // Die neuen Passwörter stimmen nicht überein + "passwordTooShort": "Nova lozinka mora imati najmanje 8 karaktera", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "passwordUpdateError": "Greška pri ažuriranju lozinke", // Fehler beim Aktualisieren des Passworts + "invalidEmail": "Molimo unesite validnu email adresu", // Bitte geben Sie eine gültige E-Mail-Adresse ein + "emailUpdateError": "Greška pri ažuriranju email adrese", // Fehler beim Aktualisieren der E-Mail-Adresse + "userNotFound": "Korisnik nije pronađen", // Benutzer nicht gefunden + "apiKeyGenerationError": "Greška pri generisanju API ključa" // Fehler beim Generieren des API-Schlüssels + }, + "success": { + "passwordUpdated": "Lozinka uspešno ažurirana", // Passwort erfolgreich aktualisiert + "emailUpdated": "Email adresa uspešno ažurirana", // E-Mail-Adresse erfolgreich aktualisiert + "apiKeyGenerated": "API ključ uspešno generisan", // API-Schlüssel erfolgreich generiert + "apiKeyWarning": "Sačuvajte ovaj ključ na sigurnom mestu. Iz bezbednosnih razloga, biće sakriven za 10 sekundi." // Speichern Sie diesen Schlüssel sicher. Er wird aus Sicherheitsgründen in 10 Sekunden ausgeblendet. + } +}; diff --git a/src/i18n/locales/sr/sorting.js b/src/i18n/locales/sr/sorting.js new file mode 100644 index 0000000..d6d2594 --- /dev/null +++ b/src/i18n/locales/sr/sorting.js @@ -0,0 +1,6 @@ +export default { + "name": "Ime", // Name + "searchField": "Pojam za pretragu", // Suchbegriff + "priceLowHigh": "Cena: Od najniže do najviše", // Preis: Niedrig zu Hoch + "priceHighLow": "Cena: Od najviše do najniže" // Preis: Hoch zu Niedrig +}; diff --git a/src/i18n/locales/sr/tax.js b/src/i18n/locales/sr/tax.js new file mode 100644 index 0000000..eb2048d --- /dev/null +++ b/src/i18n/locales/sr/tax.js @@ -0,0 +1,12 @@ +export default { + "vat": "Porez na dodatu vrednost", // Mehrwertsteuer + "vat7": "7% poreza na dodatu vrednost", // 7% Mehrwertsteuer + "vat19": "19% poreza na dodatu vrednost", // 19% Mehrwertsteuer + "vat19WithShipping": "19% poreza na dodatu vrednost (uključujući dostavu)", // 19% Mehrwertsteuer (inkl. Versand) + "totalNet": "Ukupna neto cena", // Gesamtnettopreis + "totalGross": "Ukupna bruto cena bez dostave", // Gesamtbruttopreis ohne Versand + "subtotal": "Međuzbir", // Zwischensumme + "incl7Vat": "uključujući 7% PDV", // inkl. 7% MwSt. + "inclVatWithFooter": "(uključujući {{vat}}% PDV,*)", // (incl. {{vat}}% USt.,*) + "inclVatAmount": "uključujući {{amount}} € PDV ({{rate}}%)" // nkl. {{amount}} € MwSt. ({{rate}}%) +}; diff --git a/src/i18n/locales/sr/titles.js b/src/i18n/locales/sr/titles.js new file mode 100644 index 0000000..dab2703 --- /dev/null +++ b/src/i18n/locales/sr/titles.js @@ -0,0 +1,5 @@ +export default { + "home": "Kvalitetni semenski kanabis i reznice", // Fine Cannabis Seeds & Cuttings + "aktionen": "Trenutne promocije i ponude", // Aktuelle Aktionen & Angebote + "filiale": "Naša prodavnica u Dresdenu" // Unsere Filiale in Dresden +}; diff --git a/src/i18n/locales/sr/translation.js b/src/i18n/locales/sr/translation.js index 8bdbecf..820476a 100644 --- a/src/i18n/locales/sr/translation.js +++ b/src/i18n/locales/sr/translation.js @@ -1,231 +1,3 @@ -export default { - "locale": { - "code": "sr-RS" // de-DE - }, - "navigation": { - "home": "Početna", // Startseite - "aktionen": "Promocije", // Aktionen - "filiale": "Filijala", // Filiale - "categories": "Kategorije", // Kategorien - "categoriesOpen": "Otvori kategorije", // Kategorien öffnen - "categoriesClose": "Zatvori kategorije", // Kategorien schließen - "otherCategories": "Ostale kategorije" // Andere Kategorien - }, - "auth": { - "login": "Prijava", // Anmelden - "register": "Registracija", // Registrieren - "logout": "Odjava", // Abmelden - "profile": "Profil", // Profil - "email": "Email", // E-Mail - "password": "Lozinka", // Passwort - "confirmPassword": "Potvrdi lozinku", // Passwort bestätigen - "forgotPassword": "Zaboravljena lozinka?", // Passwort vergessen? - "loginWithGoogle": "Prijavi se preko Google-a", // Mit Google anmelden - "or": "ILI", // ODER - "privacyAccept": "Klikom na \"Prijavi se preko Google-a\" prihvatam", // Mit dem Click auf \"Mit Google anmelden\" akzeptiere ich die - "privacyPolicy": "Politiku privatnosti", // Datenschutzbestimmungen - "passwordMinLength": "Lozinka mora imati najmanje 8 karaktera", // Das Passwort muss mindestens 8 Zeichen lang sein - "newPasswordMinLength": "Nova lozinka mora imati najmanje 8 karaktera", // Das neue Passwort muss mindestens 8 Zeichen lang sein - "menu": { - "profile": "Profil", // Profil - "checkout": "Završi kupovinu", // Bestellabschluss - "orders": "Porudžbine", // Bestellungen - "settings": "Podešavanja", // Einstellungen - "adminDashboard": "Admin kontrolna tabla", // Admin Dashboard - "adminUsers": "Admin korisnici" // Admin Users - } - }, - "cart": { - "title": "Korpa", // Warenkorb - "empty": "prazna", // leer - "addToCart": "Dodaj u korpu", // In den Korb - "preorderCutting": "Poruči unapred kao reznicu", // Als Steckling vorbestellen - "continueShopping": "Nastavi kupovinu", // Weiter einkaufen - "proceedToCheckout": "Idi na plaćanje", // Weiter zur Kasse - "productCount": "{{count}} {{count, plural, one {Proizvod} other {Proizvoda}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} - "removeFromCart": "Ukloni iz korpe", // Aus dem Warenkorb entfernen - "openCart": "Otvori korpu", // Warenkorb öffnen - "availableFrom": "Dostupno od {{date}}", // Ab {{date}} - "backToOrder": "← Nazad na porudžbinu", // ← Zurück zur Bestellung - "sync": { - "title": "Sinhronizacija korpe", // Warenkorb-Synchronisierung - "description": "Imate sačuvanu korpu na svom nalogu. Molimo izaberite kako želite da nastavite:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten: - "deleteServer": "Obriši korpu sa servera", // Server-Warenkorb löschen - "useServer": "Koristi korpu sa servera", // Server-Warenkorb übernehmen - "merge": "Spoji korpe", // Warenkörbe zusammenführen - "currentCart": "Vaša trenutna korpa", // Ihr aktueller Warenkorb - "serverCart": "Korpa sačuvana u vašem profilu" // In Ihrem Profil gespeicherter Warenkorb - } - }, - "product": { - "loading": "Učitavanje proizvoda...", // Produkt wird geladen... - "notFound": "Proizvod nije pronađen", // Produkt nicht gefunden - "notFoundDescription": "Proizvod koji tražite ne postoji ili je uklonjen.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. - "backToHome": "Nazad na početnu", // Zurück zur Startseite - "error": "Greška", // Fehler - "articleNumber": "Broj artikla", // Artikelnummer - "manufacturer": "Proizvođač", // Hersteller - "inclVat": "uključujući {{vat}}% PDV", // inkl. {{vat}}% MwSt. - "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} - "new": "Novo", // Neu - "arriving": "Stiže:", // Ankunft: - "inclVatFooter": "uključujući {{vat}}% PDV,*", // incl. {{vat}}% USt.,* - "availability": "Dostupnost", // Verfügbarkeit - "inStock": "na lageru", // auf Lager - "comingSoon": "Uskoro dostupno", // Bald verfügbar - "deliveryTime": "Vreme isporuke", // Lieferzeit - "inclShort": "uklj.", // inkl. - "vatShort": "PDV", // MwSt. - "countDisplay": { - "noProducts": "0 proizvoda", // 0 Produkte - "oneProduct": "1 proizvod", // 1 Produkt - "multipleProducts": "{{count}} proizvoda", // {{count}} Produkte - "filteredProducts": "{{filtered}} od {{total}} proizvoda", // {{filtered}} von {{total}} Produkten - "filteredOneProduct": "{{filtered}} od 1 proizvoda" // {{filtered}} von 1 Produkt - }, - "removeFiltersToSee": "Uklonite filtere da vidite proizvode", // Entferne Filter um Produkte zu sehen - "outOfStock": "Nema na lageru", // Out of Stock - "fromXProducts": "od {{count}} proizvoda" // ab {{count}} Produkten - }, - "search": { - "placeholder": "Možete me pitati o sortama kanabisa...", // Du kannst mich nach Cannabissorten fragen... - "recording": "Snimanje...", // Aufnahme läuft... - "searchProducts": "Pretraži proizvode..." // Produkte suchen... - }, - "sorting": { - "name": "Ime", // Name - "searchField": "Pretraga", // Suchbegriff - "priceLowHigh": "Cena: od najniže do najviše", // Preis: Niedrig zu Hoch - "priceHighLow": "Cena: od najviše do najniže" // Preis: Hoch zu Niedrig - }, - "chat": { - "privacyRead": "Pročitano i prihvaćeno" // Gelesen & Akzeptiert - }, - "delivery": { - "methods": { - "dhl": "DHL", // DHL - "dpd": "DPD", // DPD - "sperrgut": "Glomazna roba", // Sperrgut - "pickup": "Preuzimanje u filijali" // Abholung in der Filiale - }, - "descriptions": { - "standard": "Standardna dostava", // Standardversand - "standardFree": "Standardna dostava - BESPLATNO za porudžbine preko 100€!", // Standardversand - KOSTENLOS ab 100€ Warenwert! - "notAvailable": "Nije moguće izabrati jer jedan ili više artikala mogu biti samo preuzeti", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können - "bulky": "Za velike i teške artikle" // Für große und schwere Artikel - }, - "prices": { - "free": "besplatno", // kostenlos - "freeFrom100": "(besplatno od 100€)", // (kostenlos ab 100€) - "dhl": "6,99 €", // 6,99 € - "dpd": "4,90 €", // 4,90 € - "sperrgut": "28,99 €" // 28,99 € - }, - "times": { - "cutting14Days": "Vreme isporuke: 14 dana", // Lieferzeit: 14 Tage - "standard2to3Days": "Vreme isporuke: 2-3 dana", // Lieferzeit: 2-3 Tage - "supplier7to9Days": "Vreme isporuke: 7-9 dana" // Lieferzeit: 7-9 Tage - } - }, - "checkout": { - "invoiceAddress": "Adresa za fakturu", // Rechnungsadresse - "deliveryAddress": "Adresa za isporuku", // Lieferadresse - "saveForFuture": "Sačuvaj za buduće porudžbine", // Für zukünftige Bestellungen speichern - "pickupDate": "Za koji datum želite preuzeti reznice?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht? - "note": "Napomena", // Anmerkung - "sameAddress": "Adresa za isporuku je ista kao adresa za fakturu", // Lieferadresse ist identisch mit Rechnungsadresse - "termsAccept": "Pročitao/la sam Uslove korišćenja, Politiku privatnosti i informacije o pravu na odustanak" // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen - }, - "payment": { - "successful": "Plaćanje uspešno!", // Zahlung erfolgreich! - "failed": "Plaćanje nije uspelo", // Zahlung fehlgeschlagen - "orderCompleted": "🎉 Vaša porudžbina je uspešno završena! Sada možete pregledati svoje porudžbine.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. - "orderProcessing": "Vaša uplata je uspešno obrađena. Porudžbina će biti automatski završena.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. - "paymentError": "Vaša uplata nije mogla biti obrađena. Molimo pokušajte ponovo ili izaberite drugi način plaćanja.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. - "viewOrders": "Pogledaj moje porudžbine" // Zu meinen Bestellungen - }, - "filters": { - "sorting": "Sortiranje", // Sortierung - "perPage": "po strani", // pro Seite - "availability": "Dostupnost", // Verfügbarkeit - "manufacturer": "Proizvođač" // Hersteller - }, - "tax": { - "vat": "Porez na dodatu vrednost", // Mehrwertsteuer - "vat7": "7% poreza na dodatu vrednost", // 7% Mehrwertsteuer - "vat19": "19% poreza na dodatu vrednost", // 19% Mehrwertsteuer - "vat19WithShipping": "19% poreza na dodatu vrednost (uključujući dostavu)", // 19% Mehrwertsteuer (inkl. Versand) - "totalNet": "Ukupna neto cena", // Gesamtnettopreis - "totalGross": "Ukupna bruto cena bez dostave", // Gesamtbruttopreis ohne Versand - "subtotal": "Međuzbir" // Zwischensumme - }, - "footer": { - "hours": "Sub 11-19", // Sa 11-19 - "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden - "location": "Između stanice Pieschen i Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz - "allPricesIncl": "* Sve cene uključuju zakonski PDV, plus dostava", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand - "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de - "legal": { - "datenschutz": "Privatnost", // Datenschutz - "agb": "Uslovi korišćenja", // AGB - "sitemap": "Mapa sajta", // Sitemap - "impressum": "Impresum", // Impressum - "batteriegesetzhinweise": "Napomene o zakonu o baterijama", // Batteriegesetzhinweise - "widerrufsrecht": "Pravo na odustanak" // Widerrufsrecht - } - }, - "titles": { - "home": "Kvalitetno seme i reznice kanabisa", // Fine Cannabis Seeds & Cuttings (the text in the string has special characters, translate using the comment) - "aktionen": "Trenutne promocije i ponude", // Aktuelle Aktionen & Angebote (the text in the string has special characters, translate using the comment) - "filiale": "Naša filijala u Dresdenu" // Unsere Filiale in Dresden (the text in the string has special characters, translate using the comment) - }, - "sections": { - "seeds": "Semena", // Seeds - "stecklinge": "Reznice", // Stecklinge - "oilPress": "Pozajmi presa za ulje", // Ölpresse ausleihen - "thcTest": "THC test", // THC Test - "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 - "address2": "01129 Dresden" // 01129 Dresden - }, - "pages": { - "oilPress": { - "title": "Pozajmi presa za ulje", // Ölpresse ausleihen - "comingSoon": "Sadržaj uskoro..." // Inhalt kommt bald... - }, - "thcTest": { - "title": "THC test", // THC Test - "comingSoon": "Sadržaj uskoro..." // Inhalt kommt bald... - } - }, - "orders": { - "status": { - "new": "U obradi", // in Bearbeitung - "pending": "Novo", // Neu - "processing": "U obradi", // in Bearbeitung - "cancelled": "Otkazano", // Storniert - "shipped": "Poslato", // Verschickt - "delivered": "Isporučeno", // Geliefert - "return": "Povratak", // Retoure - "partialReturn": "Delimični povratak", // Teil Retoure - "partialDelivered": "Delimično isporučeno" // Teil geliefert - } - }, - "common": { - "loading": "Učitavanje...", // Lädt... - "error": "Greška", // Fehler - "close": "Zatvori", // Schließen - "save": "Sačuvaj", // Speichern - "cancel": "Otkaži", // Abbrechen - "ok": "OK", // OK - "yes": "Da", // Ja - "no": "Ne", // Nein - "next": "Dalje", // Weiter - "back": "Nazad", // Zurück - "edit": "Izmeni", // Bearbeiten - "delete": "Obriši", // Löschen - "add": "Dodaj", // Hinzufügen - "remove": "Ukloni", // Entfernen - "products": "Proizvodi", // Produkte - "product": "Proizvod" // Produkt - } -}; +import translations from './index.js'; + +export default translations; \ No newline at end of file diff --git a/src/i18n/locales/sv/auth.js b/src/i18n/locales/sv/auth.js new file mode 100644 index 0000000..223dc3d --- /dev/null +++ b/src/i18n/locales/sv/auth.js @@ -0,0 +1,25 @@ +export default { + "login": "Logga in", // Anmelden + "register": "Registrera", // Registrieren + "logout": "Logga ut", // Abmelden + "profile": "Profil", // Profil + "email": "E-post", // E-Mail + "password": "Lösenord", // Passwort + "confirmPassword": "Bekräfta lösenord", // Passwort bestätigen + "forgotPassword": "Glömt lösenord?", // Passwort vergessen? + "loginWithGoogle": "Logga in med Google", // Mit Google anmelden + "or": "ELLER", // ODER + "privacyAccept": "Genom att klicka på \"Logga in med Google\" accepterar jag", // Mit dem Click auf "Mit Google anmelden" akzeptiere ich die + "privacyPolicy": "Integritetspolicy", // Datenschutzbestimmungen + "passwordMinLength": "Lösenordet måste vara minst 8 tecken långt", // Das Passwort muss mindestens 8 Zeichen lang sein + "newPasswordMinLength": "Det nya lösenordet måste vara minst 8 tecken långt", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "menu": { + "profile": "Profil", // Profil + "myProfile": "Min profil", // Mein Profil + "checkout": "Kassa", // Bestellabschluss + "orders": "Beställningar", // Bestellungen + "settings": "Inställningar", // Einstellungen + "adminDashboard": "Admin Dashboard", // Admin Dashboard + "adminUsers": "Admin Users" // Admin Users + } +}; diff --git a/src/i18n/locales/sv/cart.js b/src/i18n/locales/sv/cart.js new file mode 100644 index 0000000..e17333d --- /dev/null +++ b/src/i18n/locales/sv/cart.js @@ -0,0 +1,24 @@ +export default { + "title": "Kundvagn", // Warenkorb + "empty": "tom", // leer + "addToCart": "Lägg till i kundvagn", // In den Korb + "preorderCutting": "Förbeställ som stickling", // Als Steckling vorbestellen + "continueShopping": "Fortsätt handla", // Weiter einkaufen + "proceedToCheckout": "Gå till kassan", // Weiter zur Kasse + "productCount": "{{count}} {{count, plural, one {produkt} other {produkter}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} + "productSingular": "produkt", // Produkt + "productPlural": "produkter", // Produkte + "removeFromCart": "Ta bort från kundvagn", // Aus dem Warenkorb entfernen + "openCart": "Öppna kundvagn", // Warenkorb öffnen + "availableFrom": "Tillgänglig från {{date}}", // Ab {{date}} + "backToOrder": "← Tillbaka till beställning", // ← Zurück zur Bestellung + "sync": { + "title": "Synkronisering av kundvagn", // Warenkorb-Synchronisierung + "description": "Du har en sparad kundvagn på ditt konto. Vänligen välj hur du vill fortsätta:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten: + "deleteServer": "Radera serverkundvagn", // Server-Warenkorb löschen + "useServer": "Använd serverkundvagn", // Server-Warenkorb übernehmen + "merge": "Slå ihop kundvagnar", // Warenkörbe zusammenführen + "currentCart": "Din nuvarande kundvagn", // Ihr aktueller Warenkorb + "serverCart": "Kundvagn sparad i din profil" // In Ihrem Profil gespeicherter Warenkorb + } +}; diff --git a/src/i18n/locales/sv/chat.js b/src/i18n/locales/sv/chat.js new file mode 100644 index 0000000..807e552 --- /dev/null +++ b/src/i18n/locales/sv/chat.js @@ -0,0 +1,3 @@ +export default { + "privacyRead": "Läst & Accepterat", // Gelesen & Akzeptiert +}; diff --git a/src/i18n/locales/sv/checkout.js b/src/i18n/locales/sv/checkout.js new file mode 100644 index 0000000..04c8359 --- /dev/null +++ b/src/i18n/locales/sv/checkout.js @@ -0,0 +1,13 @@ +export default { + "invoiceAddress": "Faktureringsadress", // Rechnungsadresse + "deliveryAddress": "Leveransadress", // Lieferadresse + "saveForFuture": "Spara för framtida beställningar", // Für zukünftige Bestellungen speichern + "pickupDate": "För vilket datum önskas upphämtning av sticklingarna?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht? + "note": "Anteckning", // Anmerkung + "sameAddress": "Leveransadressen är densamma som faktureringsadressen", // Lieferadresse ist identisch mit Rechnungsadresse + "termsAccept": "Jag har läst villkoren, integritetspolicyn och bestämmelserna om ångerrätt", // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen + "selectDeliveryMethod": "Välj leveransmetod", // Versandart wählen + "selectPaymentMethod": "Välj betalningsmetod", // Zahlungsart wählen + "orderSummary": "Orderöversikt", // Bestellübersicht + "addressValidationError": "Vänligen kontrollera dina uppgifter i adressfälten." // Bitte überprüfen Sie Ihre Eingaben in den Adressfeldern. +}; diff --git a/src/i18n/locales/sv/common.js b/src/i18n/locales/sv/common.js new file mode 100644 index 0000000..5af87ab --- /dev/null +++ b/src/i18n/locales/sv/common.js @@ -0,0 +1,19 @@ +export default { + "loading": "Laddar...", // Lädt... + "error": "Fel", // Fehler + "close": "Stäng", // Schließen + "save": "Spara", // Speichern + "cancel": "Avbryt", // Abbrechen + "ok": "OK", // OK + "yes": "Ja", // Ja + "no": "Nej", // Nein + "next": "Nästa", // Weiter + "back": "Tillbaka", // Zurück + "edit": "Redigera", // Bearbeiten + "delete": "Radera", // Löschen + "add": "Lägg till", // Hinzufügen + "remove": "Ta bort", // Entfernen + "products": "Produkter", // Produkte + "product": "Produkt", // Produkt + "days": "Dagar" // Tage +}; diff --git a/src/i18n/locales/sv/delivery.js b/src/i18n/locales/sv/delivery.js new file mode 100644 index 0000000..39e70ca --- /dev/null +++ b/src/i18n/locales/sv/delivery.js @@ -0,0 +1,27 @@ +export default { + "methods": { + "dhl": "DHL", // DHL + "dpd": "DPD", // DPD + "sperrgut": "Skrymmande varor", // Sperrgut + "pickup": "Hämta i butik" // Abholung in der Filiale + }, + "descriptions": { + "standard": "Standardfrakt", // Standardversand + "standardFree": "Standardfrakt - GRATIS från 100€ ordervärde!", // Standardversand - KOSTENLOS ab 100€ Warenwert! + "notAvailable": "Kan inte väljas eftersom en eller flera artiklar endast kan hämtas upp", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können + "bulky": "För stora och tunga artiklar", // Für große und schwere Artikel + "pickupOnly": "Endast upphämtning" // nur Abholung + }, + "prices": { + "free": "gratis", // kostenlos + "freeFrom100": "(gratis från 100€)", // (kostenlos ab 100€) + "dhl": "6,99 €", // 6,99 € + "dpd": "4,90 €", // 4,90 € + "sperrgut": "28,99 €" // 28,99 € + }, + "times": { + "cutting14Days": "Leveranstid: 14 dagar", // Lieferzeit: 14 Tage + "standard2to3Days": "Leveranstid: 2-3 dagar", // Lieferzeit: 2-3 Tage + "supplier7to9Days": "Leveranstid: 7-9 dagar" // Lieferzeit: 7-9 Tage + } +}; diff --git a/src/i18n/locales/sv/filters.js b/src/i18n/locales/sv/filters.js new file mode 100644 index 0000000..5f39bc0 --- /dev/null +++ b/src/i18n/locales/sv/filters.js @@ -0,0 +1,7 @@ +export default { + "sorting": "Sortering", // Sortierung + "perPage": "per sida", // pro Seite + "availability": "Tillgänglighet", // Verfügbarkeit + "manufacturer": "Tillverkare", // Hersteller + "all": "Alla", // Alle +}; diff --git a/src/i18n/locales/sv/footer.js b/src/i18n/locales/sv/footer.js new file mode 100644 index 0000000..b860eae --- /dev/null +++ b/src/i18n/locales/sv/footer.js @@ -0,0 +1,15 @@ +export default { + "hours": "Lör 11-19", // Sa 11-19 + "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden + "location": "Mellan Pieschen hållplats och Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz + "allPricesIncl": "* Alla priser inkl. lagstadgad moms, plus frakt", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand + "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de + "legal": { + "datenschutz": "Integritetspolicy", // Datenschutz + "agb": "Villkor", // AGB + "sitemap": "Webbplatskarta", // Sitemap + "impressum": "Juridisk information", // Impressum + "batteriegesetzhinweise": "Information om batterilagen", // Batteriegesetzhinweise + "widerrufsrecht": "Ångerrätt" // Widerrufsrecht + } +}; diff --git a/src/i18n/locales/sv/index.js b/src/i18n/locales/sv/index.js new file mode 100644 index 0000000..1dd359f --- /dev/null +++ b/src/i18n/locales/sv/index.js @@ -0,0 +1,43 @@ +import locale from './locale.js'; +import navigation from './navigation.js'; +import auth from './auth.js'; +import cart from './cart.js'; +import product from './product.js'; +import search from './search.js'; +import sorting from './sorting.js'; +import chat from './chat.js'; +import delivery from './delivery.js'; +import checkout from './checkout.js'; +import payment from './payment.js'; +import filters from './filters.js'; +import tax from './tax.js'; +import footer from './footer.js'; +import titles from './titles.js'; +import sections from './sections.js'; +import pages from './pages.js'; +import orders from './orders.js'; +import settings from './settings.js'; +import common from './common.js'; + +export default { + "locale": locale, + "navigation": navigation, + "auth": auth, + "cart": cart, + "product": product, + "search": search, + "sorting": sorting, + "chat": chat, + "delivery": delivery, + "checkout": checkout, + "payment": payment, + "filters": filters, + "tax": tax, + "footer": footer, + "titles": titles, + "sections": sections, + "pages": pages, + "orders": orders, + "settings": settings, + "common": common +}; \ No newline at end of file diff --git a/src/i18n/locales/sv/locale.js b/src/i18n/locales/sv/locale.js new file mode 100644 index 0000000..52f2cd2 --- /dev/null +++ b/src/i18n/locales/sv/locale.js @@ -0,0 +1,3 @@ +export default { + "code": "sv-SE" // de-DE +}; diff --git a/src/i18n/locales/sv/navigation.js b/src/i18n/locales/sv/navigation.js new file mode 100644 index 0000000..fd85782 --- /dev/null +++ b/src/i18n/locales/sv/navigation.js @@ -0,0 +1,9 @@ +export default { + "home": "Hem", // Startseite + "aktionen": "Kampanjer", // Aktionen + "filiale": "Filial", // Filiale + "categories": "Kategorier", // Kategorien + "categoriesOpen": "Öppna kategorier", // Kategorien öffnen + "categoriesClose": "Stäng kategorier", // Kategorien schließen + "otherCategories": "Andra kategorier" // Andere Kategorien +}; diff --git a/src/i18n/locales/sv/orders.js b/src/i18n/locales/sv/orders.js new file mode 100644 index 0000000..587d201 --- /dev/null +++ b/src/i18n/locales/sv/orders.js @@ -0,0 +1,23 @@ +export default { + "status": { + "new": "Pågående", // in Bearbeitung + "pending": "Ny", // Neu + "processing": "Pågående", // in Bearbeitung + "cancelled": "Avbruten", // Storniert + "shipped": "Skickad", // Verschickt + "delivered": "Levererad", // Geliefert + "return": "Retur", // Retoure + "partialReturn": "Delvis retur", // Teil Retoure + "partialDelivered": "Delvis levererad" // Teil geliefert + }, + "table": { + "orderNumber": "Ordernummer", // Bestellnummer + "date": "Datum", // Datum + "status": "Status", // Status + "items": "Artiklar", // Artikel + "total": "Totalt", // Summe + "actions": "Åtgärder", // Aktionen + "viewDetails": "Visa detaljer" // Details anzeigen + }, + "noOrders": "Du har inte gjort några beställningar än." // Sie haben noch keine Bestellungen aufgegeben. +}; diff --git a/src/i18n/locales/sv/pages.js b/src/i18n/locales/sv/pages.js new file mode 100644 index 0000000..c8f7bb1 --- /dev/null +++ b/src/i18n/locales/sv/pages.js @@ -0,0 +1,10 @@ +export default { + "oilPress": { + "title": "Låna oljepress", // Ölpresse ausleihen + "comingSoon": "Innehåll kommer snart...", // Inhalt kommt bald... + }, + "thcTest": { + "title": "THC-test", // THC Test + "comingSoon": "Innehåll kommer snart...", // Inhalt kommt bald... + } +}; diff --git a/src/i18n/locales/sv/payment.js b/src/i18n/locales/sv/payment.js new file mode 100644 index 0000000..c2fccc9 --- /dev/null +++ b/src/i18n/locales/sv/payment.js @@ -0,0 +1,8 @@ +export default { + "successful": "Betalning lyckades!", // Zahlung erfolgreich! + "failed": "Betalning misslyckades", // Zahlung fehlgeschlagen + "orderCompleted": "🎉 Din beställning slutfördes framgångsrikt! Du kan nu se dina beställningar.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. + "orderProcessing": "Din betalning har behandlats framgångsrikt. Beställningen kommer att slutföras automatiskt.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. + "paymentError": "Din betalning kunde inte behandlas. Vänligen försök igen eller välj en annan betalningsmetod.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. + "viewOrders": "Gå till mina beställningar" // Zu meinen Bestellungen +}; diff --git a/src/i18n/locales/sv/product.js b/src/i18n/locales/sv/product.js new file mode 100644 index 0000000..6d1fb1c --- /dev/null +++ b/src/i18n/locales/sv/product.js @@ -0,0 +1,32 @@ +export default { + "loading": "Laddar produkt...", // Produkt wird geladen... + "notFound": "Produkten hittades inte", // Produkt nicht gefunden + "notFoundDescription": "Produkten du söker finns inte eller har tagits bort.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. + "backToHome": "Tillbaka till startsidan", // Zurück zur Startseite + "error": "Fel", // Fehler + "articleNumber": "Artikelnummer", // Artikelnummer + "manufacturer": "Tillverkare", // Hersteller + "inclVat": "inkl. {{vat}}% moms", // inkl. {{vat}}% MwSt. + "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} + "new": "Ny", // Neu + "weeks": "veckor", // Wochen + "arriving": "Ankomst:", // Ankunft: + "inclVatFooter": "inkl. {{vat}}% moms,*", // inkl. {{vat}}% MwSt.,* + "availability": "Tillgänglighet", // Verfügbarkeit + "inStock": "i lager", // auf Lager + "comingSoon": "Kommer snart", // Bald verfügbar + "deliveryTime": "Leveranstid", // Lieferzeit + "inclShort": "inkl.", // inkl. + "vatShort": "Moms", // MwSt. + "countDisplay": { + "noProducts": "0 produkter", // 0 Produkte + "oneProduct": "1 produkt", // 1 Produkt + "multipleProducts": "{{count}} produkter", // {{count}} Produkte + "filteredProducts": "{{filtered}} av {{total}} produkter", // {{filtered}} von {{total}} Produkten + "filteredOneProduct": "{{filtered}} av 1 produkt", // {{filtered}} von 1 Produkt + "xOfYProducts": "{{x}} av {{y}} produkter" // {{x}} von {{y}} Produkten + }, + "removeFiltersToSee": "Ta bort filter för att se produkter", // Entferne Filter um Produkte zu sehen + "outOfStock": "Slut i lager", // Out of Stock + "fromXProducts": "från {{count}} produkter" // ab {{count}} Produkten +}; diff --git a/src/i18n/locales/sv/search.js b/src/i18n/locales/sv/search.js new file mode 100644 index 0000000..15ac8c9 --- /dev/null +++ b/src/i18n/locales/sv/search.js @@ -0,0 +1,5 @@ +export default { + "placeholder": "Du kan fråga mig om cannabisstammar...", // Du kannst mich nach Cannabissorten fragen... + "recording": "Inspelning pågår...", // Aufnahme läuft... + "searchProducts": "Sök produkter...", // Produkte suchen... +}; diff --git a/src/i18n/locales/sv/sections.js b/src/i18n/locales/sv/sections.js new file mode 100644 index 0000000..c88f1fd --- /dev/null +++ b/src/i18n/locales/sv/sections.js @@ -0,0 +1,8 @@ +export default { + "seeds": "Frön", // Seeds + "stecklinge": "Sticklingar", // Stecklinge + "oilPress": "Låna oljepress", // Ölpresse ausleihen + "thcTest": "THC-test", // THC Test + "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 + "address2": "01129 Dresden" // 01129 Dresden +}; diff --git a/src/i18n/locales/sv/settings.js b/src/i18n/locales/sv/settings.js new file mode 100644 index 0000000..d9d3514 --- /dev/null +++ b/src/i18n/locales/sv/settings.js @@ -0,0 +1,34 @@ +export default { + "changePassword": "Byt lösenord", // Passwort ändern + "currentPassword": "Nuvarande lösenord", // Aktuelles Passwort + "newPassword": "Nytt lösenord", // Neues Passwort + "confirmNewPassword": "Bekräfta nytt lösenord", // Neues Passwort bestätigen + "updatePassword": "Uppdatera lösenord", // Passwort aktualisieren + "changeEmail": "Byt e-postadress", // E-Mail-Adresse ändern + "password": "Lösenord", // Passwort + "newEmail": "Ny e-postadress", // Neue E-Mail-Adresse + "updateEmail": "Uppdatera e-post", // E-Mail aktualisieren + "apiKey": "API-nyckel", // API-Schlüssel + "apiKeyDescription": "Använd din API-nyckel för integration med externa applikationer.", // Verwenden Sie Ihren API-Schlüssel für die Integration mit externen Anwendungen. + "apiDocumentation": "API-dokumentation:", // API-Dokumentation: + "copyToClipboard": "Kopiera till urklipp", // In Zwischenablage kopieren + "generate": "Generera", // Generieren + "regenerate": "Generera på nytt", // Regenerieren + "apiKeyCopied": "API-nyckel kopierad till urklipp", // API-Schlüssel in Zwischenablage kopiert + "errors": { + "fillAllFields": "Vänligen fyll i alla fält", // Bitte füllen Sie alle Felder aus + "passwordsNotMatch": "De nya lösenorden matchar inte", // Die neuen Passwörter stimmen nicht überein + "passwordTooShort": "Det nya lösenordet måste vara minst 8 tecken långt", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "passwordUpdateError": "Fel vid uppdatering av lösenord", // Fehler beim Aktualisieren des Passworts + "invalidEmail": "Vänligen ange en giltig e-postadress", // Bitte geben Sie eine gültige E-Mail-Adresse ein + "emailUpdateError": "Fel vid uppdatering av e-postadress", // Fehler beim Aktualisieren der E-Mail-Adresse + "userNotFound": "Användare hittades inte", // Benutzer nicht gefunden + "apiKeyGenerationError": "Fel vid generering av API-nyckel" // Fehler beim Generieren des API-Schlüssels + }, + "success": { + "passwordUpdated": "Lösenord uppdaterat framgångsrikt", // Passwort erfolgreich aktualisiert + "emailUpdated": "E-postadress uppdaterad framgångsrikt", // E-Mail-Adresse erfolgreich aktualisiert + "apiKeyGenerated": "API-nyckel genererad framgångsrikt", // API-Schlüssel erfolgreich generiert + "apiKeyWarning": "Spara denna nyckel säkert. Av säkerhetsskäl kommer den att döljas om 10 sekunder." // Speichern Sie diesen Schlüssel sicher. Er wird aus Sicherheitsgründen in 10 Sekunden ausgeblendet. + } +}; diff --git a/src/i18n/locales/sv/sorting.js b/src/i18n/locales/sv/sorting.js new file mode 100644 index 0000000..04b7083 --- /dev/null +++ b/src/i18n/locales/sv/sorting.js @@ -0,0 +1,6 @@ +export default { + "name": "Namn", // Name + "searchField": "Sökterm", // Suchbegriff + "priceLowHigh": "Pris: Lågt till Högt", // Preis: Niedrig zu Hoch + "priceHighLow": "Pris: Högt till Lågt" // Preis: Hoch zu Niedrig +}; diff --git a/src/i18n/locales/sv/tax.js b/src/i18n/locales/sv/tax.js new file mode 100644 index 0000000..0ffd3d4 --- /dev/null +++ b/src/i18n/locales/sv/tax.js @@ -0,0 +1,12 @@ +export default { + "vat": "Mervärdesskatt", // Mehrwertsteuer + "vat7": "7% mervärdesskatt", // 7% Mehrwertsteuer + "vat19": "19% mervärdesskatt", // 19% Mehrwertsteuer + "vat19WithShipping": "19% mervärdesskatt (inkl. frakt)", // 19% Mehrwertsteuer (inkl. Versand) + "totalNet": "Totalt nettobelopp", // Gesamtnettopreis + "totalGross": "Totalt bruttobelopp utan frakt", // Gesamtbruttopreis ohne Versand + "subtotal": "Delsumma", // Zwischensumme + "incl7Vat": "inkl. 7% moms", // inkl. 7% MwSt. + "inclVatWithFooter": "(inkl. {{vat}}% moms,*)", // (incl. {{vat}}% USt.,*) + "inclVatAmount": "inkl. {{amount}} € moms ({{rate}}%)" // nkl. {{amount}} € MwSt. ({{rate}}%) +}; diff --git a/src/i18n/locales/sv/titles.js b/src/i18n/locales/sv/titles.js new file mode 100644 index 0000000..4ca37bb --- /dev/null +++ b/src/i18n/locales/sv/titles.js @@ -0,0 +1,5 @@ +export default { + "home": "Fina cannabisfrön & sticklingar", // Fine Cannabis Seeds & Cuttings + "aktionen": "Aktuella kampanjer & erbjudanden", // Aktuelle Aktionen & Angebote + "filiale": "Vår butik i Dresden" // Unsere Filiale in Dresden +}; diff --git a/src/i18n/locales/sv/translation.js b/src/i18n/locales/sv/translation.js index fb1d033..820476a 100644 --- a/src/i18n/locales/sv/translation.js +++ b/src/i18n/locales/sv/translation.js @@ -1,231 +1,3 @@ -export default { - "locale": { - "code": "sv-SE" // de-DE - }, - "navigation": { - "home": "Hem", // Startseite - "aktionen": "Kampanjer", // Aktionen - "filiale": "Filial", // Filiale - "categories": "Kategorier", // Kategorien - "categoriesOpen": "Öppna kategorier", // Kategorien öffnen - "categoriesClose": "Stäng kategorier", // Kategorien schließen - "otherCategories": "Andra kategorier" // Andere Kategorien - }, - "auth": { - "login": "Logga in", // Anmelden - "register": "Registrera", // Registrieren - "logout": "Logga ut", // Abmelden - "profile": "Profil", // Profil - "email": "E-post", // E-Mail - "password": "Lösenord", // Passwort - "confirmPassword": "Bekräfta lösenord", // Passwort bestätigen - "forgotPassword": "Glömt lösenord?", // Passwort vergessen? - "loginWithGoogle": "Logga in med Google", // Mit Google anmelden - "or": "ELLER", // ODER - "privacyAccept": "Genom att klicka på \"Logga in med Google\" accepterar jag", // Mit dem Click auf \"Mit Google anmelden\" akzeptiere ich die - "privacyPolicy": "Integritetspolicy", // Datenschutzbestimmungen - "passwordMinLength": "Lösenordet måste vara minst 8 tecken långt", // Das Passwort muss mindestens 8 Zeichen lang sein - "newPasswordMinLength": "Det nya lösenordet måste vara minst 8 tecken långt", // Das neue Passwort muss mindestens 8 Zeichen lang sein - "menu": { - "profile": "Profil", // Profil - "checkout": "Kassa", // Bestellabschluss - "orders": "Beställningar", // Bestellungen - "settings": "Inställningar", // Einstellungen - "adminDashboard": "Admin Dashboard", // Admin Dashboard - "adminUsers": "Admin Users" // Admin Users - } - }, - "cart": { - "title": "Kundvagn", // Warenkorb - "empty": "tom", // leer - "addToCart": "Lägg till i kundvagn", // In den Korb - "preorderCutting": "Förbeställ som stickling", // Als Steckling vorbestellen - "continueShopping": "Fortsätt handla", // Weiter einkaufen - "proceedToCheckout": "Gå till kassan", // Weiter zur Kasse - "productCount": "{{count}} {{count, plural, one {Produkt} other {Produkter}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} - "removeFromCart": "Ta bort från kundvagn", // Aus dem Warenkorb entfernen - "openCart": "Öppna kundvagn", // Warenkorb öffnen - "availableFrom": "Tillgänglig från {{date}}", // Ab {{date}} - "backToOrder": "← Tillbaka till beställning", // ← Zurück zur Bestellung - "sync": { - "title": "Synkronisering av kundvagn", // Warenkorb-Synchronisierung - "description": "Du har en sparad kundvagn på ditt konto. Vänligen välj hur du vill fortsätta:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten: - "deleteServer": "Radera serverkundvagn", // Server-Warenkorb löschen - "useServer": "Använd serverkundvagn", // Server-Warenkorb übernehmen - "merge": "Slå ihop kundvagnar", // Warenkörbe zusammenführen - "currentCart": "Din nuvarande kundvagn", // Ihr aktueller Warenkorb - "serverCart": "Kundvagn sparad i din profil" // In Ihrem Profil gespeicherter Warenkorb - } - }, - "product": { - "loading": "Laddar produkt...", // Produkt wird geladen... - "notFound": "Produkten hittades inte", // Produkt nicht gefunden - "notFoundDescription": "Produkten du söker finns inte eller har tagits bort.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. - "backToHome": "Tillbaka till startsidan", // Zurück zur Startseite - "error": "Fel", // Fehler - "articleNumber": "Artikelnummer", // Artikelnummer - "manufacturer": "Tillverkare", // Hersteller - "inclVat": "inkl. {{vat}}% moms", // inkl. {{vat}}% MwSt. - "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} - "new": "Ny", // Neu - "arriving": "Ankommer:", // Ankunft: - "inclVatFooter": "inkl. {{vat}}% moms,*", // incl. {{vat}}% USt.,* - "availability": "Tillgänglighet", // Verfügbarkeit - "inStock": "i lager", // auf Lager - "comingSoon": "Kommer snart", // Bald verfügbar - "deliveryTime": "Leveranstid", // Lieferzeit - "inclShort": "inkl.", // inkl. - "vatShort": "Moms", // MwSt. - "countDisplay": { - "noProducts": "0 produkter", // 0 Produkte - "oneProduct": "1 produkt", // 1 Produkt - "multipleProducts": "{{count}} produkter", // {{count}} Produkte - "filteredProducts": "{{filtered}} av {{total}} produkter", // {{filtered}} von {{total}} Produkten - "filteredOneProduct": "{{filtered}} av 1 produkt" // {{filtered}} von 1 Produkt - }, - "removeFiltersToSee": "Ta bort filter för att se produkter", // Entferne Filter um Produkte zu sehen - "outOfStock": "Slut i lager", // Out of Stock - "fromXProducts": "från {{count}} produkter" // ab {{count}} Produkten - }, - "search": { - "placeholder": "Du kan fråga mig om cannabisstammar...", // Du kannst mich nach Cannabissorten fragen... - "recording": "Spelar in...", // Aufnahme läuft... - "searchProducts": "Sök produkter..." // Produkte suchen... - }, - "sorting": { - "name": "Namn", // Name - "searchField": "Sökterm", // Suchbegriff - "priceLowHigh": "Pris: Lågt till Högt", // Preis: Niedrig zu Hoch - "priceHighLow": "Pris: Högt till Lågt" // Preis: Hoch zu Niedrig - }, - "chat": { - "privacyRead": "Läst & Accepterat" // Gelesen & Akzeptiert - }, - "delivery": { - "methods": { - "dhl": "DHL", // DHL - "dpd": "DPD", // DPD - "sperrgut": "Skrymmande gods", // Sperrgut - "pickup": "Hämtning i filial" // Abholung in der Filiale - }, - "descriptions": { - "standard": "Standardfrakt", // Standardversand - "standardFree": "Standardfrakt - GRATIS från 100€ ordervärde!", // Standardversand - KOSTENLOS ab 100€ Warenwert! - "notAvailable": "Ej valbar eftersom en eller flera artiklar endast kan hämtas upp", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können - "bulky": "För stora och tunga artiklar" // Für große und schwere Artikel - }, - "prices": { - "free": "gratis", // kostenlos - "freeFrom100": "(gratis från 100€)", // (kostenlos ab 100€) - "dhl": "6,99 €", // 6,99 € - "dpd": "4,90 €", // 4,90 € - "sperrgut": "28,99 €" // 28,99 € - }, - "times": { - "cutting14Days": "Leveranstid: 14 dagar", // Lieferzeit: 14 Tage - "standard2to3Days": "Leveranstid: 2-3 dagar", // Lieferzeit: 2-3 Tage - "supplier7to9Days": "Leveranstid: 7-9 dagar" // Lieferzeit: 7-9 Tage - } - }, - "checkout": { - "invoiceAddress": "Faktureringsadress", // Rechnungsadresse - "deliveryAddress": "Leveransadress", // Lieferadresse - "saveForFuture": "Spara för framtida beställningar", // Für zukünftige Bestellungen speichern - "pickupDate": "För vilket datum vill du hämta sticklingarna?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht? - "note": "Notering", // Anmerkung - "sameAddress": "Leveransadressen är samma som faktureringsadressen", // Lieferadresse ist identisch mit Rechnungsadresse - "termsAccept": "Jag har läst villkoren, integritetspolicyn och informationen om ångerrätt" // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen - }, - "payment": { - "successful": "Betalning lyckades!", // Zahlung erfolgreich! - "failed": "Betalningen misslyckades", // Zahlung fehlgeschlagen - "orderCompleted": "🎉 Din beställning har slutförts! Du kan nu se dina beställningar.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. - "orderProcessing": "Din betalning har behandlats framgångsrikt. Beställningen slutförs automatiskt.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. - "paymentError": "Din betalning kunde inte behandlas. Vänligen försök igen eller välj en annan betalningsmetod.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. - "viewOrders": "Visa mina beställningar" // Zu meinen Bestellungen - }, - "filters": { - "sorting": "Sortering", // Sortierung - "perPage": "per sida", // pro Seite - "availability": "Tillgänglighet", // Verfügbarkeit - "manufacturer": "Tillverkare" // Hersteller - }, - "tax": { - "vat": "Mervärdesskatt", // Mehrwertsteuer - "vat7": "7% mervärdesskatt", // 7% Mehrwertsteuer - "vat19": "19% mervärdesskatt", // 19% Mehrwertsteuer - "vat19WithShipping": "19% mervärdesskatt (inkl. frakt)", // 19% Mehrwertsteuer (inkl. Versand) - "totalNet": "Totalt nettobelopp", // Gesamtnettopreis - "totalGross": "Totalt bruttobelopp exklusive frakt", // Gesamtbruttopreis ohne Versand - "subtotal": "Delsumma" // Zwischensumme - }, - "footer": { - "hours": "Lör 11-19", // Sa 11-19 - "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden - "location": "Mellan Pieschen hållplats och Trachenberger Platz", // Zwischen Haltepunkt Pieschen und Trachenberger Platz - "allPricesIncl": "* Alla priser inkluderar lagstadgad moms, plus frakt", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand - "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de - "legal": { - "datenschutz": "Integritet", // Datenschutz - "agb": "Villkor", // AGB - "sitemap": "Sajtkarta", // Sitemap - "impressum": "Impressum", // Impressum - "batteriegesetzhinweise": "Batterilagstiftning", // Batteriegesetzhinweise - "widerrufsrecht": "Ångerrätt" // Widerrufsrecht - } - }, - "titles": { - "home": "Fine Cannabis Seeds & Cuttings", // Fine Cannabis Seeds & Cuttings (the text in the string has special characters, translate using the comment) - "aktionen": "Aktuella kampanjer & erbjudanden", // Aktuelle Aktionen & Angebote (the text in the string has special characters, translate using the comment) - "filiale": "Vår filial i Dresden" // Unsere Filiale in Dresden (the text in the string has special characters, translate using the comment) - }, - "sections": { - "seeds": "Frön", // Seeds - "stecklinge": "Sticklingar", // Stecklinge - "oilPress": "Låna oljepress", // Ölpresse ausleihen - "thcTest": "THC-test", // THC Test - "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 - "address2": "01129 Dresden" // 01129 Dresden - }, - "pages": { - "oilPress": { - "title": "Låna oljepress", // Ölpresse ausleihen - "comingSoon": "Innehåll kommer snart..." // Inhalt kommt bald... - }, - "thcTest": { - "title": "THC-test", // THC Test - "comingSoon": "Innehåll kommer snart..." // Inhalt kommt bald... - } - }, - "orders": { - "status": { - "new": "Bearbetas", // in Bearbeitung - "pending": "Ny", // Neu - "processing": "Bearbetas", // in Bearbeitung - "cancelled": "Avbruten", // Storniert - "shipped": "Skickad", // Verschickt - "delivered": "Levererad", // Geliefert - "return": "Retur", // Retoure - "partialReturn": "Delvis retur", // Teil Retoure - "partialDelivered": "Delvis levererad" // Teil geliefert - } - }, - "common": { - "loading": "Laddar...", // Lädt... - "error": "Fel", // Fehler - "close": "Stäng", // Schließen - "save": "Spara", // Speichern - "cancel": "Avbryt", // Abbrechen - "ok": "OK", // OK - "yes": "Ja", // Ja - "no": "Nej", // Nein - "next": "Nästa", // Weiter - "back": "Tillbaka", // Zurück - "edit": "Redigera", // Bearbeiten - "delete": "Radera", // Löschen - "add": "Lägg till", // Hinzufügen - "remove": "Ta bort", // Entfernen - "products": "Produkter", // Produkte - "product": "Produkt" // Produkt - } -}; +import translations from './index.js'; + +export default translations; \ No newline at end of file diff --git a/src/i18n/locales/tr/auth.js b/src/i18n/locales/tr/auth.js new file mode 100644 index 0000000..0fe8482 --- /dev/null +++ b/src/i18n/locales/tr/auth.js @@ -0,0 +1,25 @@ +export default { + "login": "Giriş Yap", // Anmelden + "register": "Kayıt Ol", // Registrieren + "logout": "Çıkış Yap", // Abmelden + "profile": "Profil", // Profil + "email": "E-posta", // E-Mail + "password": "Şifre", // Passwort + "confirmPassword": "Şifreyi Onayla", // Passwort bestätigen + "forgotPassword": "Şifrenizi mi unuttunuz?", // Passwort vergessen? + "loginWithGoogle": "Google ile giriş yap", // Mit Google anmelden + "or": "VEYA", // ODER + "privacyAccept": "\"Google ile giriş yap\" butonuna tıklayarak", // Mit dem Click auf "Mit Google anmelden" akzeptiere ich die + "privacyPolicy": "Gizlilik Politikasını", // Datenschutzbestimmungen + "passwordMinLength": "Şifre en az 8 karakter uzunluğunda olmalıdır", // Das Passwort muss mindestens 8 Zeichen lang sein + "newPasswordMinLength": "Yeni şifre en az 8 karakter uzunluğunda olmalıdır", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "menu": { + "profile": "Profil", // Profil + "myProfile": "Profilim", // Mein Profil + "checkout": "Ödeme", // Bestellabschluss + "orders": "Siparişler", // Bestellungen + "settings": "Ayarlar", // Einstellungen + "adminDashboard": "Yönetici Paneli", // Admin Dashboard + "adminUsers": "Yönetici Kullanıcılar" // Admin Users + } +}; diff --git a/src/i18n/locales/tr/cart.js b/src/i18n/locales/tr/cart.js new file mode 100644 index 0000000..b3cdd3c --- /dev/null +++ b/src/i18n/locales/tr/cart.js @@ -0,0 +1,24 @@ +export default { + "title": "Sepet", // Warenkorb + "empty": "boş", // leer + "addToCart": "Sepete ekle", // In den Korb + "preorderCutting": "Fide olarak ön sipariş ver", // Als Steckling vorbestellen + "continueShopping": "Alışverişe devam et", // Weiter einkaufen + "proceedToCheckout": "Ödeme işlemine devam et", // Weiter zur Kasse + "productCount": "{{count}} {{count, plural, one {ürün} other {ürünler}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} + "productSingular": "ürün", // Produkt + "productPlural": "ürünler", // Produkte + "removeFromCart": "Sepetten çıkar", // Aus dem Warenkorb entfernen + "openCart": "Sepeti aç", // Warenkorb öffnen + "availableFrom": "{{date}} tarihinden itibaren mevcut", // Ab {{date}} + "backToOrder": "← Siparişe geri dön", // ← Zurück zur Bestellung + "sync": { + "title": "Sepet senkronizasyonu", // Warenkorb-Synchronisierung + "description": "Hesabınızda kayıtlı bir sepetiniz var. Lütfen nasıl devam etmek istediğinizi seçin:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten: + "deleteServer": "Sunucu sepetini sil", // Server-Warenkorb löschen + "useServer": "Sunucu sepetini kullan", // Server-Warenkorb übernehmen + "merge": "Sepetleri birleştir", // Warenkörbe zusammenführen + "currentCart": "Mevcut sepetiniz", // Ihr aktueller Warenkorb + "serverCart": "Profilinizde kayıtlı sepet" // In Ihrem Profil gespeicherter Warenkorb + } +}; diff --git a/src/i18n/locales/tr/chat.js b/src/i18n/locales/tr/chat.js new file mode 100644 index 0000000..a35c3ec --- /dev/null +++ b/src/i18n/locales/tr/chat.js @@ -0,0 +1,3 @@ +export default { + "privacyRead": "Okundu & Kabul Edildi", // Gelesen & Akzeptiert +}; diff --git a/src/i18n/locales/tr/checkout.js b/src/i18n/locales/tr/checkout.js new file mode 100644 index 0000000..97d2471 --- /dev/null +++ b/src/i18n/locales/tr/checkout.js @@ -0,0 +1,13 @@ +export default { + "invoiceAddress": "Fatura adresi", // Rechnungsadresse + "deliveryAddress": "Teslimat adresi", // Lieferadresse + "saveForFuture": "Gelecek siparişler için kaydet", // Für zukünftige Bestellungen speichern + "pickupDate": "Kesimlerin teslim alınması hangi tarih için isteniyor?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht? + "note": "Not", // Anmerkung + "sameAddress": "Teslimat adresi fatura adresi ile aynıdır", // Lieferadresse ist identisch mit Rechnungsadresse + "termsAccept": "Şartlar ve koşulları, gizlilik politikasını ve cayma hakkı hükümlerini okudum", // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen + "selectDeliveryMethod": "Gönderim yöntemini seçin", // Versandart wählen + "selectPaymentMethod": "Ödeme yöntemini seçin", // Zahlungsart wählen + "orderSummary": "Sipariş özeti", // Bestellübersicht + "addressValidationError": "Lütfen adres alanlarındaki girişlerinizi kontrol edin." // Bitte überprüfen Sie Ihre Eingaben in den Adressfeldern. +}; diff --git a/src/i18n/locales/tr/common.js b/src/i18n/locales/tr/common.js new file mode 100644 index 0000000..fbd307e --- /dev/null +++ b/src/i18n/locales/tr/common.js @@ -0,0 +1,19 @@ +export default { + "loading": "Yükleniyor...", // Lädt... + "error": "Hata", // Fehler + "close": "Kapat", // Schließen + "save": "Kaydet", // Speichern + "cancel": "İptal", // Abbrechen + "ok": "Tamam", // OK + "yes": "Evet", // Ja + "no": "Hayır", // Nein + "next": "İleri", // Weiter + "back": "Geri", // Zurück + "edit": "Düzenle", // Bearbeiten + "delete": "Sil", // Löschen + "add": "Ekle", // Hinzufügen + "remove": "Kaldır", // Entfernen + "products": "Ürünler", // Produkte + "product": "Ürün", // Produkt + "days": "Günler" // Tage +}; diff --git a/src/i18n/locales/tr/delivery.js b/src/i18n/locales/tr/delivery.js new file mode 100644 index 0000000..35104a3 --- /dev/null +++ b/src/i18n/locales/tr/delivery.js @@ -0,0 +1,27 @@ +export default { + "methods": { + "dhl": "DHL", // DHL + "dpd": "DPD", // DPD + "sperrgut": "Hacimli ürünler", // Sperrgut + "pickup": "Mağazadan teslim alma" // Abholung in der Filiale + }, + "descriptions": { + "standard": "Standart gönderim", // Standardversand + "standardFree": "Standart gönderim - 100€ ve üzeri siparişlerde ÜCRETSİZ!", // Standardversand - KOSTENLOS ab 100€ Warenwert! + "notAvailable": "Seçilemez çünkü bir veya daha fazla ürün sadece mağazadan teslim alınabilir", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können + "bulky": "Büyük ve ağır ürünler için", // Für große und schwere Artikel + "pickupOnly": "Sadece mağazadan teslim alma" // nur Abholung + }, + "prices": { + "free": "ücretsiz", // kostenlos + "freeFrom100": "(100€ ve üzeri ücretsiz)", // (kostenlos ab 100€) + "dhl": "6,99 €", // 6,99 € + "dpd": "4,90 €", // 4,90 € + "sperrgut": "28,99 €" // 28,99 € + }, + "times": { + "cutting14Days": "Teslim süresi: 14 gün", // Lieferzeit: 14 Tage + "standard2to3Days": "Teslim süresi: 2-3 gün", // Lieferzeit: 2-3 Tage + "supplier7to9Days": "Teslim süresi: 7-9 gün" // Lieferzeit: 7-9 Tage + } +}; diff --git a/src/i18n/locales/tr/filters.js b/src/i18n/locales/tr/filters.js new file mode 100644 index 0000000..defc649 --- /dev/null +++ b/src/i18n/locales/tr/filters.js @@ -0,0 +1,7 @@ +export default { + "sorting": "Sıralama", // Sortierung + "perPage": "sayfa başına", // pro Seite + "availability": "Mevcudiyet", // Verfügbarkeit + "manufacturer": "Üretici", // Hersteller + "all": "Tümü", // Alle +}; diff --git a/src/i18n/locales/tr/footer.js b/src/i18n/locales/tr/footer.js new file mode 100644 index 0000000..a11111c --- /dev/null +++ b/src/i18n/locales/tr/footer.js @@ -0,0 +1,15 @@ +export default { + "hours": "Cum 11:00-19:00", // Sa 11-19 + "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden + "location": "Pieschen durağı ile Trachenberger Platz arasında", // Zwischen Haltepunkt Pieschen und Trachenberger Platz + "allPricesIncl": "* Tüm fiyatlar yasal KDV dahil, artı kargo", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand + "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de + "legal": { + "datenschutz": "Gizlilik Politikası", // Datenschutz + "agb": "Şartlar ve Koşullar", // AGB + "sitemap": "Site Haritası", // Sitemap + "impressum": "Yasal Uyarı", // Impressum + "batteriegesetzhinweise": "Pil Kanunu Bilgileri", // Batteriegesetzhinweise + "widerrufsrecht": "Cayma Hakkı" // Widerrufsrecht + } +}; diff --git a/src/i18n/locales/tr/index.js b/src/i18n/locales/tr/index.js new file mode 100644 index 0000000..1dd359f --- /dev/null +++ b/src/i18n/locales/tr/index.js @@ -0,0 +1,43 @@ +import locale from './locale.js'; +import navigation from './navigation.js'; +import auth from './auth.js'; +import cart from './cart.js'; +import product from './product.js'; +import search from './search.js'; +import sorting from './sorting.js'; +import chat from './chat.js'; +import delivery from './delivery.js'; +import checkout from './checkout.js'; +import payment from './payment.js'; +import filters from './filters.js'; +import tax from './tax.js'; +import footer from './footer.js'; +import titles from './titles.js'; +import sections from './sections.js'; +import pages from './pages.js'; +import orders from './orders.js'; +import settings from './settings.js'; +import common from './common.js'; + +export default { + "locale": locale, + "navigation": navigation, + "auth": auth, + "cart": cart, + "product": product, + "search": search, + "sorting": sorting, + "chat": chat, + "delivery": delivery, + "checkout": checkout, + "payment": payment, + "filters": filters, + "tax": tax, + "footer": footer, + "titles": titles, + "sections": sections, + "pages": pages, + "orders": orders, + "settings": settings, + "common": common +}; \ No newline at end of file diff --git a/src/i18n/locales/tr/locale.js b/src/i18n/locales/tr/locale.js new file mode 100644 index 0000000..88775c7 --- /dev/null +++ b/src/i18n/locales/tr/locale.js @@ -0,0 +1,3 @@ +export default { + "code": "tr-TR" // de-DE +}; diff --git a/src/i18n/locales/tr/navigation.js b/src/i18n/locales/tr/navigation.js new file mode 100644 index 0000000..bf663d7 --- /dev/null +++ b/src/i18n/locales/tr/navigation.js @@ -0,0 +1,9 @@ +export default { + "home": "Ana Sayfa", // Startseite + "aktionen": "Kampanyalar", // Aktionen + "filiale": "Şube", // Filiale + "categories": "Kategoriler", // Kategorien + "categoriesOpen": "Kategorileri aç", // Kategorien öffnen + "categoriesClose": "Kategorileri kapat", // Kategorien schließen + "otherCategories": "Diğer kategoriler" // Andere Kategorien +}; diff --git a/src/i18n/locales/tr/orders.js b/src/i18n/locales/tr/orders.js new file mode 100644 index 0000000..90a6081 --- /dev/null +++ b/src/i18n/locales/tr/orders.js @@ -0,0 +1,23 @@ +export default { + "status": { + "new": "Devam ediyor", // in Bearbeitung + "pending": "Yeni", // Neu + "processing": "Devam ediyor", // in Bearbeitung + "cancelled": "İptal edildi", // Storniert + "shipped": "Gönderildi", // Verschickt + "delivered": "Teslim edildi", // Geliefert + "return": "İade", // Retoure + "partialReturn": "Kısmi iade", // Teil Retoure + "partialDelivered": "Kısmen teslim edildi" // Teil geliefert + }, + "table": { + "orderNumber": "Sipariş numarası", // Bestellnummer + "date": "Tarih", // Datum + "status": "Durum", // Status + "items": "Ürünler", // Artikel + "total": "Toplam", // Summe + "actions": "İşlemler", // Aktionen + "viewDetails": "Detayları görüntüle" // Details anzeigen + }, + "noOrders": "Henüz sipariş vermediniz." // Sie haben noch keine Bestellungen aufgegeben. +}; diff --git a/src/i18n/locales/tr/pages.js b/src/i18n/locales/tr/pages.js new file mode 100644 index 0000000..6f23441 --- /dev/null +++ b/src/i18n/locales/tr/pages.js @@ -0,0 +1,10 @@ +export default { + "oilPress": { + "title": "Ölpresini ödünç al", // Ölpresse ausleihen + "comingSoon": "İçerik yakında gelecek...", // Inhalt kommt bald... + }, + "thcTest": { + "title": "THC testi", // THC Test + "comingSoon": "İçerik yakında gelecek...", // Inhalt kommt bald... + } +}; diff --git a/src/i18n/locales/tr/payment.js b/src/i18n/locales/tr/payment.js new file mode 100644 index 0000000..8cebd90 --- /dev/null +++ b/src/i18n/locales/tr/payment.js @@ -0,0 +1,8 @@ +export default { + "successful": "Ödeme başarılı!", // Zahlung erfolgreich! + "failed": "Ödeme başarısız", // Zahlung fehlgeschlagen + "orderCompleted": "🎉 Siparişiniz başarıyla tamamlandı! Şimdi siparişlerinizi görüntüleyebilirsiniz.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. + "orderProcessing": "Ödemeniz başarıyla işlendi. Sipariş otomatik olarak tamamlanacaktır.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. + "paymentError": "Ödemeniz işlenemedi. Lütfen tekrar deneyin veya başka bir ödeme yöntemi seçin.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. + "viewOrders": "Siparişlerime git" // Zu meinen Bestellungen +}; diff --git a/src/i18n/locales/tr/product.js b/src/i18n/locales/tr/product.js new file mode 100644 index 0000000..dde635c --- /dev/null +++ b/src/i18n/locales/tr/product.js @@ -0,0 +1,32 @@ +export default { + "loading": "Ürün yükleniyor...", // Produkt wird geladen... + "notFound": "Ürün bulunamadı", // Produkt nicht gefunden + "notFoundDescription": "Aradığınız ürün mevcut değil veya kaldırılmış.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. + "backToHome": "Ana sayfaya dön", // Zurück zur Startseite + "error": "Hata", // Fehler + "articleNumber": "Makale numarası", // Artikelnummer + "manufacturer": "Üretici", // Hersteller + "inclVat": "%{{vat}} KDV dahil", // inkl. {{vat}}% MwSt. + "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} + "new": "Yeni", // Neu + "weeks": "hafta", // Wochen + "arriving": "Geliş:", // Ankunft: + "inclVatFooter": "%{{vat}} KDV dahil,*", // inkl. {{vat}}% MwSt.,* + "availability": "Mevcutluk", // Verfügbarkeit + "inStock": "stokta", // auf Lager + "comingSoon": "Yakında", // Bald verfügbar + "deliveryTime": "Teslim süresi", // Lieferzeit + "inclShort": "dahil", // inkl. + "vatShort": "KDV", // MwSt. + "countDisplay": { + "noProducts": "0 ürün", // 0 Produkte + "oneProduct": "1 ürün", // 1 Produkt + "multipleProducts": "{{count}} ürün", // {{count}} Produkte + "filteredProducts": "{{filtered}} / {{total}} ürün", // {{filtered}} von {{total}} Produkten + "filteredOneProduct": "{{filtered}} / 1 ürün", // {{filtered}} von 1 Produkt + "xOfYProducts": "{{x}} / {{y}} ürün" // {{x}} von {{y}} Produkten + }, + "removeFiltersToSee": "Ürünleri görmek için filtreleri kaldırın", // Entferne Filter um Produkte zu sehen + "outOfStock": "Stokta yok", // Out of Stock + "fromXProducts": "{{count}} üründen itibaren" // ab {{count}} Produkten +}; diff --git a/src/i18n/locales/tr/search.js b/src/i18n/locales/tr/search.js new file mode 100644 index 0000000..947b49f --- /dev/null +++ b/src/i18n/locales/tr/search.js @@ -0,0 +1,5 @@ +export default { + "placeholder": "Bana kenevir çeşitleri hakkında sorabilirsiniz...", // Du kannst mich nach Cannabissorten fragen... + "recording": "Kayıt devam ediyor...", // Aufnahme läuft... + "searchProducts": "Ürünlerde ara...", // Produkte suchen... +}; diff --git a/src/i18n/locales/tr/sections.js b/src/i18n/locales/tr/sections.js new file mode 100644 index 0000000..9c75a3f --- /dev/null +++ b/src/i18n/locales/tr/sections.js @@ -0,0 +1,8 @@ +export default { + "seeds": "Tohumlar", // Seeds + "stecklinge": "Çelikler", // Stecklinge + "oilPress": "Yağ presi ödünç al", // Ölpresse ausleihen + "thcTest": "THC testi", // THC Test + "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 + "address2": "01129 Dresden" // 01129 Dresden +}; diff --git a/src/i18n/locales/tr/settings.js b/src/i18n/locales/tr/settings.js new file mode 100644 index 0000000..f3c9e5d --- /dev/null +++ b/src/i18n/locales/tr/settings.js @@ -0,0 +1,34 @@ +export default { + "changePassword": "Şifre değiştir", // Passwort ändern + "currentPassword": "Mevcut şifre", // Aktuelles Passwort + "newPassword": "Yeni şifre", // Neues Passwort + "confirmNewPassword": "Yeni şifreyi onayla", // Neues Passwort bestätigen + "updatePassword": "Şifreyi güncelle", // Passwort aktualisieren + "changeEmail": "E-posta adresini değiştir", // E-Mail-Adresse ändern + "password": "Şifre", // Passwort + "newEmail": "Yeni e-posta adresi", // Neue E-Mail-Adresse + "updateEmail": "E-postayı güncelle", // E-Mail aktualisieren + "apiKey": "API anahtarı", // API-Schlüssel + "apiKeyDescription": "Harici uygulamalarla entegrasyon için API anahtarınızı kullanın.", // Verwenden Sie Ihren API-Schlüssel für die Integration mit externen Anwendungen. + "apiDocumentation": "API dokümantasyonu:", // API-Dokumentation: + "copyToClipboard": "Panoya kopyala", // In Zwischenablage kopieren + "generate": "Oluştur", // Generieren + "regenerate": "Yeniden oluştur", // Regenerieren + "apiKeyCopied": "API anahtarı panoya kopyalandı", // API-Schlüssel in Zwischenablage kopiert + "errors": { + "fillAllFields": "Lütfen tüm alanları doldurun", // Bitte füllen Sie alle Felder aus + "passwordsNotMatch": "Yeni şifreler eşleşmiyor", // Die neuen Passwörter stimmen nicht überein + "passwordTooShort": "Yeni şifre en az 8 karakter uzunluğunda olmalıdır", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "passwordUpdateError": "Şifre güncellenirken hata oluştu", // Fehler beim Aktualisieren des Passworts + "invalidEmail": "Lütfen geçerli bir e-posta adresi girin", // Bitte geben Sie eine gültige E-Mail-Adresse ein + "emailUpdateError": "E-posta adresi güncellenirken hata oluştu", // Fehler beim Aktualisieren der E-Mail-Adresse + "userNotFound": "Kullanıcı bulunamadı", // Benutzer nicht gefunden + "apiKeyGenerationError": "API anahtarı oluşturulurken hata oluştu" // Fehler beim Generieren des API-Schlüssels + }, + "success": { + "passwordUpdated": "Şifre başarıyla güncellendi", // Passwort erfolgreich aktualisiert + "emailUpdated": "E-posta adresi başarıyla güncellendi", // E-Mail-Adresse erfolgreich aktualisiert + "apiKeyGenerated": "API anahtarı başarıyla oluşturuldu", // API-Schlüssel erfolgreich generiert + "apiKeyWarning": "Bu anahtarı güvenli bir şekilde saklayın. Güvenlik nedeniyle 10 saniye içinde gizlenecektir." // Speichern Sie diesen Schlüssel sicher. Er wird aus Sicherheitsgründen in 10 Sekunden ausgeblendet. + } +}; diff --git a/src/i18n/locales/tr/sorting.js b/src/i18n/locales/tr/sorting.js new file mode 100644 index 0000000..dbf51d9 --- /dev/null +++ b/src/i18n/locales/tr/sorting.js @@ -0,0 +1,6 @@ +export default { + "name": "İsim", // Name + "searchField": "Arama terimi", // Suchbegriff + "priceLowHigh": "Fiyat: Düşükten Yükseğe", // Preis: Niedrig zu Hoch + "priceHighLow": "Fiyat: Yüksekten Düşüğe" // Preis: Hoch zu Niedrig +}; diff --git a/src/i18n/locales/tr/tax.js b/src/i18n/locales/tr/tax.js new file mode 100644 index 0000000..ae66e4d --- /dev/null +++ b/src/i18n/locales/tr/tax.js @@ -0,0 +1,12 @@ +export default { + "vat": "Katma Değer Vergisi", // Mehrwertsteuer + "vat7": "%7 Katma Değer Vergisi", // 7% Mehrwertsteuer + "vat19": "%19 Katma Değer Vergisi", // 19% Mehrwertsteuer + "vat19WithShipping": "%19 Katma Değer Vergisi (kargo dahil)", // 19% Mehrwertsteuer (inkl. Versand) + "totalNet": "Toplam net fiyat", // Gesamtnettopreis + "totalGross": "Kargo hariç toplam brüt fiyat", // Gesamtbruttopreis ohne Versand + "subtotal": "Ara toplam", // Zwischensumme + "incl7Vat": "%7 KDV dahil", // inkl. 7% MwSt. + "inclVatWithFooter": "({{vat}}% KDV dahil,*)", // (incl. {{vat}}% USt.,*) + "inclVatAmount": "{{amount}} € KDV dahil ({{rate}}%)" // nkl. {{amount}} € MwSt. ({{rate}}%) +}; diff --git a/src/i18n/locales/tr/titles.js b/src/i18n/locales/tr/titles.js new file mode 100644 index 0000000..b6a37e7 --- /dev/null +++ b/src/i18n/locales/tr/titles.js @@ -0,0 +1,5 @@ +export default { + "home": "Kaliteli Kenevir Tohumları ve Çelikleri", // Fine Cannabis Seeds & Cuttings + "aktionen": "Güncel Kampanyalar ve Teklifler", // Aktuelle Aktionen & Angebote + "filiale": "Dresden'deki Mağazamız" // Unsere Filiale in Dresden +}; diff --git a/src/i18n/locales/tr/translation.js b/src/i18n/locales/tr/translation.js index a8544da..820476a 100644 --- a/src/i18n/locales/tr/translation.js +++ b/src/i18n/locales/tr/translation.js @@ -1,231 +1,3 @@ -export default { - "locale": { - "code": "tr-TR" // de-DE - }, - "navigation": { - "home": "Ana Sayfa", // Startseite - "aktionen": "Kampanyalar", // Aktionen - "filiale": "Şube", // Filiale - "categories": "Kategoriler", // Kategorien - "categoriesOpen": "Kategorileri aç", // Kategorien öffnen - "categoriesClose": "Kategorileri kapat", // Kategorien schließen - "otherCategories": "Diğer kategoriler" // Andere Kategorien - }, - "auth": { - "login": "Giriş Yap", // Anmelden - "register": "Kayıt Ol", // Registrieren - "logout": "Çıkış Yap", // Abmelden - "profile": "Profil", // Profil - "email": "E-posta", // E-Mail - "password": "Şifre", // Passwort - "confirmPassword": "Şifreyi Onayla", // Passwort bestätigen - "forgotPassword": "Şifrenizi mi unuttunuz?", // Passwort vergessen? - "loginWithGoogle": "Google ile giriş yap", // Mit Google anmelden - "or": "VEYA", // ODER - "privacyAccept": "\"Google ile giriş yap\" butonuna tıklayarak", // Mit dem Click auf \"Mit Google anmelden\" akzeptiere ich die - "privacyPolicy": "Gizlilik Politikasını", // Datenschutzbestimmungen - "passwordMinLength": "Şifre en az 8 karakter uzunluğunda olmalıdır", // Das Passwort muss mindestens 8 Zeichen lang sein - "newPasswordMinLength": "Yeni şifre en az 8 karakter uzunluğunda olmalıdır", // Das neue Passwort muss mindestens 8 Zeichen lang sein - "menu": { - "profile": "Profil", // Profil - "checkout": "Ödeme", // Bestellabschluss - "orders": "Siparişler", // Bestellungen - "settings": "Ayarlar", // Einstellungen - "adminDashboard": "Yönetici Paneli", // Admin Dashboard - "adminUsers": "Yönetici Kullanıcıları" // Admin Users - } - }, - "cart": { - "title": "Sepet", // Warenkorb - "empty": "boş", // leer - "addToCart": "Sepete ekle", // In den Korb - "preorderCutting": "Çelik olarak ön sipariş ver", // Als Steckling vorbestellen - "continueShopping": "Alışverişe devam et", // Weiter einkaufen - "proceedToCheckout": "Ödemeye geç", // Weiter zur Kasse - "productCount": "{{count}} {{count, plural, one {Ürün} other {Ürün}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} - "removeFromCart": "Sepetten çıkar", // Aus dem Warenkorb entfernen - "openCart": "Sepeti aç", // Warenkorb öffnen - "availableFrom": "{{date}} tarihinden itibaren mevcut", // Ab {{date}} - "backToOrder": "← Siparişe geri dön", // ← Zurück zur Bestellung - "sync": { - "title": "Sepet senkronizasyonu", // Warenkorb-Synchronisierung - "description": "Hesabınızda kayıtlı bir sepetiniz var. Lütfen nasıl devam etmek istediğinizi seçin:", // Sie haben einen gespeicherten Warenkorb in ihrem Account. Bitte wählen Sie, wie Sie verfahren möchten: - "deleteServer": "Sunucu sepetini sil", // Server-Warenkorb löschen - "useServer": "Sunucu sepetini kullan", // Server-Warenkorb übernehmen - "merge": "Sepetleri birleştir", // Warenkörbe zusammenführen - "currentCart": "Mevcut sepetiniz", // Ihr aktueller Warenkorb - "serverCart": "Profilinizde kayıtlı sepet" // In Ihrem Profil gespeicherter Warenkorb - } - }, - "product": { - "loading": "Ürün yükleniyor...", // Produkt wird geladen... - "notFound": "Ürün bulunamadı", // Produkt nicht gefunden - "notFoundDescription": "Aradığınız ürün mevcut değil veya kaldırılmış.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. - "backToHome": "Ana sayfaya dön", // Zurück zur Startseite - "error": "Hata", // Fehler - "articleNumber": "Ürün numarası", // Artikelnummer - "manufacturer": "Üretici", // Hersteller - "inclVat": "%{{vat}} KDV dahil", // inkl. {{vat}}% MwSt. - "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} - "new": "Yeni", // Neu - "arriving": "Geliş tarihi:", // Ankunft: - "inclVatFooter": "%{{vat}} KDV dahil,*", // incl. {{vat}}% USt.,* - "availability": "Mevcutluk", // Verfügbarkeit - "inStock": "stokta", // auf Lager - "comingSoon": "Yakında geliyor", // Bald verfügbar - "deliveryTime": "Teslim süresi", // Lieferzeit - "inclShort": "dahil", // inkl. - "vatShort": "KDV", // MwSt. - "countDisplay": { - "noProducts": "0 ürün", // 0 Produkte - "oneProduct": "1 ürün", // 1 Produkt - "multipleProducts": "{{count}} ürün", // {{count}} Produkte - "filteredProducts": "{{filtered}} / {{total}} ürün", // {{filtered}} von {{total}} Produkten - "filteredOneProduct": "{{filtered}} / 1 ürün" // {{filtered}} von 1 Produkt - }, - "removeFiltersToSee": "Ürünleri görmek için filtreleri kaldırın", // Entferne Filter um Produkte zu sehen - "outOfStock": "Stokta yok", // Out of Stock - "fromXProducts": "{{count}} üründen itibaren" // ab {{count}} Produkten - }, - "search": { - "placeholder": "Bana cannabis çeşitleri hakkında sorabilirsiniz...", // Du kannst mich nach Cannabissorten fragen... - "recording": "Kayıt yapılıyor...", // Aufnahme läuft... - "searchProducts": "Ürünlerde ara..." // Produkte suchen... - }, - "sorting": { - "name": "İsim", // Name - "searchField": "Arama terimi", // Suchbegriff - "priceLowHigh": "Fiyat: Düşükten Yükseğe", // Preis: Niedrig zu Hoch - "priceHighLow": "Fiyat: Yüksekten Düşüğe" // Preis: Hoch zu Niedrig - }, - "chat": { - "privacyRead": "Okundu & Kabul Edildi" // Gelesen & Akzeptiert - }, - "delivery": { - "methods": { - "dhl": "DHL", // DHL - "dpd": "DPD", // DPD - "sperrgut": "Hacimli ürünler", // Sperrgut - "pickup": "Şubeden teslim alma" // Abholung in der Filiale - }, - "descriptions": { - "standard": "Standart kargo", // Standardversand - "standardFree": "Standart kargo - 100€ üzeri siparişlerde ÜCRETSİZ!", // Standardversand - KOSTENLOS ab 100€ Warenwert! - "notAvailable": "Seçilemez çünkü bir veya daha fazla ürün sadece şubeden alınabilir", // nicht auswählbar weil ein oder mehrere Artikel nur abgeholt werden können - "bulky": "Büyük ve ağır ürünler için" // Für große und schwere Artikel - }, - "prices": { - "free": "ücretsiz", // kostenlos - "freeFrom100": "(100€ üzeri ücretsiz)", // (kostenlos ab 100€) - "dhl": "6,99 €", // 6,99 € - "dpd": "4,90 €", // 4,90 € - "sperrgut": "28,99 €" // 28,99 € - }, - "times": { - "cutting14Days": "Teslim süresi: 14 gün", // Lieferzeit: 14 Tage - "standard2to3Days": "Teslim süresi: 2-3 gün", // Lieferzeit: 2-3 Tage - "supplier7to9Days": "Teslim süresi: 7-9 gün" // Lieferzeit: 7-9 Tage - } - }, - "checkout": { - "invoiceAddress": "Fatura adresi", // Rechnungsadresse - "deliveryAddress": "Teslimat adresi", // Lieferadresse - "saveForFuture": "Gelecek siparişler için kaydet", // Für zukünftige Bestellungen speichern - "pickupDate": "Çelikleri hangi tarihte almak istiyorsunuz?", // Für welchen Termin ist die Abholung der Stecklinge gewünscht? - "note": "Not", // Anmerkung - "sameAddress": "Teslimat adresi fatura adresi ile aynı", // Lieferadresse ist identisch mit Rechnungsadresse - "termsAccept": "Şartlar ve Koşullar, Gizlilik Politikası ve Cayma Hakkı bilgilerini okudum" // Ich habe die AGBs, die Datenschutzerklärung und die Bestimmungen zum Widerrufsrecht gelesen - }, - "payment": { - "successful": "Ödeme başarılı!", // Zahlung erfolgreich! - "failed": "Ödeme başarısız", // Zahlung fehlgeschlagen - "orderCompleted": "🎉 Siparişiniz başarıyla tamamlandı! Şimdi siparişlerinizi görüntüleyebilirsiniz.", // 🎉 Ihre Bestellung wurde erfolgreich abgeschlossen! Sie können jetzt Ihre Bestellungen einsehen. - "orderProcessing": "Ödemeniz başarıyla işlendi. Sipariş otomatik olarak tamamlanacaktır.", // Ihre Zahlung wurde erfolgreich verarbeitet. Die Bestellung wird automatisch abgeschlossen. - "paymentError": "Ödemeniz işlenemedi. Lütfen tekrar deneyin veya başka bir ödeme yöntemi seçin.", // Ihre Zahlung konnte nicht verarbeitet werden. Bitte versuchen Sie es erneut oder wählen Sie eine andere Zahlungsmethode. - "viewOrders": "Siparişlerimi görüntüle" // Zu meinen Bestellungen - }, - "filters": { - "sorting": "Sıralama", // Sortierung - "perPage": "sayfa başına", // pro Seite - "availability": "Mevcutluk", // Verfügbarkeit - "manufacturer": "Üretici" // Hersteller - }, - "tax": { - "vat": "Katma Değer Vergisi", // Mehrwertsteuer - "vat7": "%7 Katma Değer Vergisi", // 7% Mehrwertsteuer - "vat19": "%19 Katma Değer Vergisi", // 19% Mehrwertsteuer - "vat19WithShipping": "%19 Katma Değer Vergisi (kargo dahil)", // 19% Mehrwertsteuer (inkl. Versand) - "totalNet": "Toplam net fiyat", // Gesamtnettopreis - "totalGross": "Kargo hariç toplam brüt fiyat", // Gesamtbruttopreis ohne Versand - "subtotal": "Ara toplam" // Zwischensumme - }, - "footer": { - "hours": "Cts 11-19", // Sa 11-19 - "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden - "location": "Pieschen durağı ile Trachenberger Platz arasında", // Zwischen Haltepunkt Pieschen und Trachenberger Platz - "allPricesIncl": "* Tüm fiyatlar yasal KDV dahil, kargo hariç", // * Alle Preise inkl. gesetzlicher USt., zzgl. Versand - "copyright": "© {{year}} GrowHeads.de", // © {{year}} GrowHeads.de - "legal": { - "datenschutz": "Gizlilik", // Datenschutz - "agb": "Şartlar & Koşullar", // AGB - "sitemap": "Site Haritası", // Sitemap - "impressum": "Yasal Bilgiler", // Impressum - "batteriegesetzhinweise": "Pil Kanunu Notları", // Batteriegesetzhinweise - "widerrufsrecht": "Cayma Hakkı" // Widerrufsrecht - } - }, - "titles": { - "home": "Kaliteli Cannabis Tohumları & Çelikleri", // Fine Cannabis Seeds & Cuttings (the text in the string has special characters, translate using the comment) - "aktionen": "Güncel Kampanyalar & Teklifler", // Aktuelle Aktionen & Angebote (the text in the string has special characters, translate using the comment) - "filiale": "Dresden'deki Şubemiz" // Unsere Filiale in Dresden (the text in the string has special characters, translate using the comment) - }, - "sections": { - "seeds": "Tohumlar", // Seeds - "stecklinge": "Çelikler", // Stecklinge - "oilPress": "Yağ presi ödünç al", // Ölpresse ausleihen - "thcTest": "THC Testi", // THC Test - "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 - "address2": "01129 Dresden" // 01129 Dresden - }, - "pages": { - "oilPress": { - "title": "Yağ presi ödünç al", // Ölpresse ausleihen - "comingSoon": "İçerik yakında geliyor..." // Inhalt kommt bald... - }, - "thcTest": { - "title": "THC Testi", // THC Test - "comingSoon": "İçerik yakında geliyor..." // Inhalt kommt bald... - } - }, - "orders": { - "status": { - "new": "İşleniyor", // in Bearbeitung - "pending": "Yeni", // Neu - "processing": "İşleniyor", // in Bearbeitung - "cancelled": "İptal edildi", // Storniert - "shipped": "Gönderildi", // Verschickt - "delivered": "Teslim edildi", // Geliefert - "return": "İade", // Retoure - "partialReturn": "Kısmi iade", // Teil Retoure - "partialDelivered": "Kısmen teslim edildi" // Teil geliefert - } - }, - "common": { - "loading": "Yükleniyor...", // Lädt... - "error": "Hata", // Fehler - "close": "Kapat", // Schließen - "save": "Kaydet", // Speichern - "cancel": "İptal", // Abbrechen - "ok": "Tamam", // OK - "yes": "Evet", // Ja - "no": "Hayır", // Nein - "next": "İleri", // Weiter - "back": "Geri", // Zurück - "edit": "Düzenle", // Bearbeiten - "delete": "Sil", // Löschen - "add": "Ekle", // Hinzufügen - "remove": "Kaldır", // Entfernen - "products": "Ürünler", // Produkte - "product": "Ürün" // Produkt - } -}; +import translations from './index.js'; + +export default translations; \ No newline at end of file diff --git a/src/i18n/locales/uk/auth.js b/src/i18n/locales/uk/auth.js new file mode 100644 index 0000000..50f29fd --- /dev/null +++ b/src/i18n/locales/uk/auth.js @@ -0,0 +1,25 @@ +export default { + "login": "Увійти", // Anmelden + "register": "Реєстрація", // Registrieren + "logout": "Вийти", // Abmelden + "profile": "Профіль", // Profil + "email": "Електронна пошта", // E-Mail + "password": "Пароль", // Passwort + "confirmPassword": "Підтвердьте пароль", // Passwort bestätigen + "forgotPassword": "Забули пароль?", // Passwort vergessen? + "loginWithGoogle": "Увійти через Google", // Mit Google anmelden + "or": "АБО", // ODER + "privacyAccept": "Натискаючи «Увійти через Google», я приймаю", // Mit dem Click auf "Mit Google anmelden" akzeptiere ich die + "privacyPolicy": "Політику конфіденційності", // Datenschutzbestimmungen + "passwordMinLength": "Пароль повинен містити щонайменше 8 символів", // Das Passwort muss mindestens 8 Zeichen lang sein + "newPasswordMinLength": "Новий пароль повинен містити щонайменше 8 символів", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "menu": { + "profile": "Профіль", // Profil + "myProfile": "Мій профіль", // Mein Profil + "checkout": "Оформлення замовлення", // Bestellabschluss + "orders": "Замовлення", // Bestellungen + "settings": "Налаштування", // Einstellungen + "adminDashboard": "Панель адміністратора", // Admin Dashboard + "adminUsers": "Адміністратори" // Admin Users + } +}; diff --git a/src/i18n/locales/uk/cart.js b/src/i18n/locales/uk/cart.js new file mode 100644 index 0000000..f32a36f --- /dev/null +++ b/src/i18n/locales/uk/cart.js @@ -0,0 +1,24 @@ +export default { + "title": "Кошик", // Warenkorb + "empty": "порожній", // leer + "addToCart": "Додати до кошика", // In den Korb + "preorderCutting": "Передзамовити як живець", // Als Steckling vorbestellen + "continueShopping": "Продовжити покупки", // Weiter einkaufen + "proceedToCheckout": "Перейти до оформлення замовлення", // Weiter zur Kasse + "productCount": "{{count}} {{count, plural, one {продукт} other {продукти}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} + "productSingular": "продукт", // Produkt + "productPlural": "продукти", // Produkte + "removeFromCart": "Видалити з кошика", // Aus dem Warenkorb entfernen + "openCart": "Відкрити кошик", // Warenkorb öffnen + "availableFrom": "Доступно з {{date}}", // Ab {{date}} + "backToOrder": "← Назад до замовлення", // ← Zurück zur Bestellung + "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 + } +}; diff --git a/src/i18n/locales/uk/chat.js b/src/i18n/locales/uk/chat.js new file mode 100644 index 0000000..f6aa3e1 --- /dev/null +++ b/src/i18n/locales/uk/chat.js @@ -0,0 +1,3 @@ +export default { + "privacyRead": "Прочитано та прийнято", // Gelesen & Akzeptiert +}; diff --git a/src/i18n/locales/uk/checkout.js b/src/i18n/locales/uk/checkout.js new file mode 100644 index 0000000..bc66afb --- /dev/null +++ b/src/i18n/locales/uk/checkout.js @@ -0,0 +1,13 @@ +export default { + "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 + "selectDeliveryMethod": "Виберіть спосіб доставки", // Versandart wählen + "selectPaymentMethod": "Виберіть спосіб оплати", // Zahlungsart wählen + "orderSummary": "Підсумок замовлення", // Bestellübersicht + "addressValidationError": "Будь ласка, перевірте введені дані в полях адреси." // Bitte überprüfen Sie Ihre Eingaben in den Adressfeldern. +}; diff --git a/src/i18n/locales/uk/common.js b/src/i18n/locales/uk/common.js new file mode 100644 index 0000000..01839a4 --- /dev/null +++ b/src/i18n/locales/uk/common.js @@ -0,0 +1,19 @@ +export default { + "loading": "Завантаження...", // Lädt... + "error": "Помилка", // Fehler + "close": "Закрити", // Schließen + "save": "Зберегти", // Speichern + "cancel": "Скасувати", // Abbrechen + "ok": "OK", // OK + "yes": "Так", // Ja + "no": "Ні", // Nein + "next": "Далі", // Weiter + "back": "Назад", // Zurück + "edit": "Редагувати", // Bearbeiten + "delete": "Видалити", // Löschen + "add": "Додати", // Hinzufügen + "remove": "Видалити", // Entfernen + "products": "Продукти", // Produkte + "product": "Продукт", // Produkt + "days": "Дні" // Tage +}; diff --git a/src/i18n/locales/uk/delivery.js b/src/i18n/locales/uk/delivery.js new file mode 100644 index 0000000..132f23a --- /dev/null +++ b/src/i18n/locales/uk/delivery.js @@ -0,0 +1,27 @@ +export default { + "methods": { + "dhl": "DHL", // DHL + "dpd": "DPD", // DPD + "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 + "bulky": "Для великих і важких товарів", // Für große und schwere Artikel + "pickupOnly": "Тільки самовивіз" // nur Abholung + }, + "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 + } +}; diff --git a/src/i18n/locales/uk/filters.js b/src/i18n/locales/uk/filters.js new file mode 100644 index 0000000..8b35381 --- /dev/null +++ b/src/i18n/locales/uk/filters.js @@ -0,0 +1,7 @@ +export default { + "sorting": "Сортування", // Sortierung + "perPage": "на сторінку", // pro Seite + "availability": "Наявність", // Verfügbarkeit + "manufacturer": "Виробник", // Hersteller + "all": "Всі", // Alle +}; diff --git a/src/i18n/locales/uk/footer.js b/src/i18n/locales/uk/footer.js new file mode 100644 index 0000000..56d4ad6 --- /dev/null +++ b/src/i18n/locales/uk/footer.js @@ -0,0 +1,15 @@ +export default { + "hours": "Сб 11:00-19:00", // Sa 11-19 + "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 + "agb": "Умови та положення", // AGB + "sitemap": "Карта сайту", // Sitemap + "impressum": "Правова інформація", // Impressum + "batteriegesetzhinweise": "Інформація про закон щодо батарей", // Batteriegesetzhinweise + "widerrufsrecht": "Право на відмову" // Widerrufsrecht + } +}; diff --git a/src/i18n/locales/uk/index.js b/src/i18n/locales/uk/index.js new file mode 100644 index 0000000..1dd359f --- /dev/null +++ b/src/i18n/locales/uk/index.js @@ -0,0 +1,43 @@ +import locale from './locale.js'; +import navigation from './navigation.js'; +import auth from './auth.js'; +import cart from './cart.js'; +import product from './product.js'; +import search from './search.js'; +import sorting from './sorting.js'; +import chat from './chat.js'; +import delivery from './delivery.js'; +import checkout from './checkout.js'; +import payment from './payment.js'; +import filters from './filters.js'; +import tax from './tax.js'; +import footer from './footer.js'; +import titles from './titles.js'; +import sections from './sections.js'; +import pages from './pages.js'; +import orders from './orders.js'; +import settings from './settings.js'; +import common from './common.js'; + +export default { + "locale": locale, + "navigation": navigation, + "auth": auth, + "cart": cart, + "product": product, + "search": search, + "sorting": sorting, + "chat": chat, + "delivery": delivery, + "checkout": checkout, + "payment": payment, + "filters": filters, + "tax": tax, + "footer": footer, + "titles": titles, + "sections": sections, + "pages": pages, + "orders": orders, + "settings": settings, + "common": common +}; \ No newline at end of file diff --git a/src/i18n/locales/uk/locale.js b/src/i18n/locales/uk/locale.js new file mode 100644 index 0000000..20bc735 --- /dev/null +++ b/src/i18n/locales/uk/locale.js @@ -0,0 +1,3 @@ +export default { + "code": "uk-UA" // de-DE +}; diff --git a/src/i18n/locales/uk/navigation.js b/src/i18n/locales/uk/navigation.js new file mode 100644 index 0000000..84e9930 --- /dev/null +++ b/src/i18n/locales/uk/navigation.js @@ -0,0 +1,9 @@ +export default { + "home": "Головна", // Startseite + "aktionen": "Акції", // Aktionen + "filiale": "Філія", // Filiale + "categories": "Категорії", // Kategorien + "categoriesOpen": "Відкрити категорії", // Kategorien öffnen + "categoriesClose": "Закрити категорії", // Kategorien schließen + "otherCategories": "Інші категорії" // Andere Kategorien +}; diff --git a/src/i18n/locales/uk/orders.js b/src/i18n/locales/uk/orders.js new file mode 100644 index 0000000..1f69f5c --- /dev/null +++ b/src/i18n/locales/uk/orders.js @@ -0,0 +1,23 @@ +export default { + "status": { + "new": "В процесі", // in Bearbeitung + "pending": "Новий", // Neu + "processing": "В процесі", // in Bearbeitung + "cancelled": "Скасовано", // Storniert + "shipped": "Відправлено", // Verschickt + "delivered": "Доставлено", // Geliefert + "return": "Повернення", // Retoure + "partialReturn": "Часткове повернення", // Teil Retoure + "partialDelivered": "Частково доставлено" // Teil geliefert + }, + "table": { + "orderNumber": "Номер замовлення", // Bestellnummer + "date": "Дата", // Datum + "status": "Статус", // Status + "items": "Товари", // Artikel + "total": "Всього", // Summe + "actions": "Дії", // Aktionen + "viewDetails": "Переглянути деталі" // Details anzeigen + }, + "noOrders": "Ви ще не зробили жодного замовлення." // Sie haben noch keine Bestellungen aufgegeben. +}; diff --git a/src/i18n/locales/uk/pages.js b/src/i18n/locales/uk/pages.js new file mode 100644 index 0000000..b039d84 --- /dev/null +++ b/src/i18n/locales/uk/pages.js @@ -0,0 +1,10 @@ +export default { + "oilPress": { + "title": "Позичити олійницю", // Ölpresse ausleihen + "comingSoon": "Вміст скоро з’явиться...", // Inhalt kommt bald... + }, + "thcTest": { + "title": "Тест на THC", // THC Test + "comingSoon": "Вміст скоро з’явиться...", // Inhalt kommt bald... + } +}; diff --git a/src/i18n/locales/uk/payment.js b/src/i18n/locales/uk/payment.js new file mode 100644 index 0000000..bfcabea --- /dev/null +++ b/src/i18n/locales/uk/payment.js @@ -0,0 +1,8 @@ +export default { + "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 +}; diff --git a/src/i18n/locales/uk/product.js b/src/i18n/locales/uk/product.js new file mode 100644 index 0000000..d83ec97 --- /dev/null +++ b/src/i18n/locales/uk/product.js @@ -0,0 +1,32 @@ +export default { + "loading": "Завантаження продукту...", // Produkt wird geladen... + "notFound": "Продукт не знайдено", // Produkt nicht gefunden + "notFoundDescription": "Продукт, який ви шукаєте, не існує або був видалений.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. + "backToHome": "Повернутися на головну сторінку", // Zurück zur Startseite + "error": "Помилка", // Fehler + "articleNumber": "Номер артикула", // Artikelnummer + "manufacturer": "Виробник", // Hersteller + "inclVat": "включно з {{vat}}% ПДВ", // inkl. {{vat}}% MwSt. + "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} + "new": "Новий", // Neu + "weeks": "тижнів", // Wochen + "arriving": "Прибуття:", // Ankunft: + "inclVatFooter": "включно з {{vat}}% ПДВ,*", // inkl. {{vat}}% MwSt.,* + "availability": "Наявність", // Verfügbarkeit + "inStock": "в наявності", // auf Lager + "comingSoon": "Скоро в наявності", // Bald verfügbar + "deliveryTime": "Час доставки", // Lieferzeit + "inclShort": "вкл.", // inkl. + "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 + "xOfYProducts": "{{x}} з {{y}} продуктів" // {{x}} von {{y}} Produkten + }, + "removeFiltersToSee": "Приберіть фільтри, щоб побачити продукти", // Entferne Filter um Produkte zu sehen + "outOfStock": "Немає в наявності", // Out of Stock + "fromXProducts": "від {{count}} продуктів" // ab {{count}} Produkten +}; diff --git a/src/i18n/locales/uk/search.js b/src/i18n/locales/uk/search.js new file mode 100644 index 0000000..57e19de --- /dev/null +++ b/src/i18n/locales/uk/search.js @@ -0,0 +1,5 @@ +export default { + "placeholder": "Ви можете запитати мене про сорти канабісу...", // Du kannst mich nach Cannabissorten fragen... + "recording": "Запис триває...", // Aufnahme läuft... + "searchProducts": "Пошук продуктів...", // Produkte suchen... +}; diff --git a/src/i18n/locales/uk/sections.js b/src/i18n/locales/uk/sections.js new file mode 100644 index 0000000..b5e1240 --- /dev/null +++ b/src/i18n/locales/uk/sections.js @@ -0,0 +1,8 @@ +export default { + "seeds": "Насіння", // Seeds + "stecklinge": "Живці", // Stecklinge + "oilPress": "Позичити олійний прес", // Ölpresse ausleihen + "thcTest": "Тест на ТГК", // THC Test + "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 + "address2": "01129 Dresden" // 01129 Dresden +}; diff --git a/src/i18n/locales/uk/settings.js b/src/i18n/locales/uk/settings.js new file mode 100644 index 0000000..d9d7fbe --- /dev/null +++ b/src/i18n/locales/uk/settings.js @@ -0,0 +1,34 @@ +export default { + "changePassword": "Змінити пароль", // Passwort ändern + "currentPassword": "Поточний пароль", // Aktuelles Passwort + "newPassword": "Новий пароль", // Neues Passwort + "confirmNewPassword": "Підтвердьте новий пароль", // Neues Passwort bestätigen + "updatePassword": "Оновити пароль", // Passwort aktualisieren + "changeEmail": "Змінити адресу електронної пошти", // E-Mail-Adresse ändern + "password": "Пароль", // Passwort + "newEmail": "Нова адреса електронної пошти", // Neue E-Mail-Adresse + "updateEmail": "Оновити електронну пошту", // E-Mail aktualisieren + "apiKey": "API ключ", // API-Schlüssel + "apiKeyDescription": "Використовуйте свій API ключ для інтеграції з зовнішніми додатками.", // Verwenden Sie Ihren API-Schlüssel für die Integration mit externen Anwendungen. + "apiDocumentation": "Документація API:", // API-Dokumentation: + "copyToClipboard": "Копіювати в буфер обміну", // In Zwischenablage kopieren + "generate": "Створити", // Generieren + "regenerate": "Перегенерувати", // Regenerieren + "apiKeyCopied": "API ключ скопійовано в буфер обміну", // API-Schlüssel in Zwischenablage kopiert + "errors": { + "fillAllFields": "Будь ласка, заповніть усі поля", // Bitte füllen Sie alle Felder aus + "passwordsNotMatch": "Нові паролі не співпадають", // Die neuen Passwörter stimmen nicht überein + "passwordTooShort": "Новий пароль повинен містити щонайменше 8 символів", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "passwordUpdateError": "Помилка оновлення пароля", // Fehler beim Aktualisieren des Passworts + "invalidEmail": "Будь ласка, введіть дійсну адресу електронної пошти", // Bitte geben Sie eine gültige E-Mail-Adresse ein + "emailUpdateError": "Помилка оновлення адреси електронної пошти", // Fehler beim Aktualisieren der E-Mail-Adresse + "userNotFound": "Користувача не знайдено", // Benutzer nicht gefunden + "apiKeyGenerationError": "Помилка генерації API ключа" // Fehler beim Generieren des API-Schlüssels + }, + "success": { + "passwordUpdated": "Пароль успішно оновлено", // Passwort erfolgreich aktualisiert + "emailUpdated": "Адресу електронної пошти успішно оновлено", // E-Mail-Adresse erfolgreich aktualisiert + "apiKeyGenerated": "API ключ успішно згенеровано", // API-Schlüssel erfolgreich generiert + "apiKeyWarning": "Збережіть цей ключ у безпечному місці. З міркувань безпеки він буде прихований через 10 секунд." // Speichern Sie diesen Schlüssel sicher. Er wird aus Sicherheitsgründen in 10 Sekunden ausgeblendet. + } +}; diff --git a/src/i18n/locales/uk/sorting.js b/src/i18n/locales/uk/sorting.js new file mode 100644 index 0000000..025a024 --- /dev/null +++ b/src/i18n/locales/uk/sorting.js @@ -0,0 +1,6 @@ +export default { + "name": "Ім'я", // Name + "searchField": "Пошуковий запит", // Suchbegriff + "priceLowHigh": "Ціна: від низької до високої", // Preis: Niedrig zu Hoch + "priceHighLow": "Ціна: від високої до низької" // Preis: Hoch zu Niedrig +}; diff --git a/src/i18n/locales/uk/tax.js b/src/i18n/locales/uk/tax.js new file mode 100644 index 0000000..a6d2d3b --- /dev/null +++ b/src/i18n/locales/uk/tax.js @@ -0,0 +1,12 @@ +export default { + "vat": "Податок на додану вартість", // Mehrwertsteuer + "vat7": "7% податку на додану вартість", // 7% Mehrwertsteuer + "vat19": "19% податку на додану вартість", // 19% Mehrwertsteuer + "vat19WithShipping": "19% податку на додану вартість (включно з доставкою)", // 19% Mehrwertsteuer (inkl. Versand) + "totalNet": "Загальна чиста ціна", // Gesamtnettopreis + "totalGross": "Загальна валова ціна без доставки", // Gesamtbruttopreis ohne Versand + "subtotal": "Проміжна сума", // Zwischensumme + "incl7Vat": "включно з 7% ПДВ", // inkl. 7% MwSt. + "inclVatWithFooter": "(включно з {{vat}}% ПДВ,*)", // (incl. {{vat}}% USt.,*) + "inclVatAmount": "включно з {{amount}} € ПДВ ({{rate}}%)" // nkl. {{amount}} € MwSt. ({{rate}}%) +}; diff --git a/src/i18n/locales/uk/titles.js b/src/i18n/locales/uk/titles.js new file mode 100644 index 0000000..7f313a6 --- /dev/null +++ b/src/i18n/locales/uk/titles.js @@ -0,0 +1,5 @@ +export default { + "home": "Якісне насіння та живці канабісу", // Fine Cannabis Seeds & Cuttings + "aktionen": "Поточні акції та пропозиції", // Aktuelle Aktionen & Angebote + "filiale": "Наш магазин у Дрездені" // Unsere Filiale in Dresden +}; diff --git a/src/i18n/locales/uk/translation.js b/src/i18n/locales/uk/translation.js index 0f9d5d5..820476a 100644 --- a/src/i18n/locales/uk/translation.js +++ b/src/i18n/locales/uk/translation.js @@ -1,231 +1,3 @@ -export default { - "locale": { - "code": "uk-UA" // de-DE - }, - "navigation": { - "home": "Головна", // Startseite - "aktionen": "Акції", // Aktionen - "filiale": "Філія", // Filiale - "categories": "Категорії", // Kategorien - "categoriesOpen": "Відкрити категорії", // Kategorien öffnen - "categoriesClose": "Закрити категорії", // Kategorien schließen - "otherCategories": "Інші категорії" // Andere Kategorien - }, - "auth": { - "login": "Увійти", // Anmelden - "register": "Реєстрація", // Registrieren - "logout": "Вийти", // Abmelden - "profile": "Профіль", // Profil - "email": "Електронна пошта", // E-Mail - "password": "Пароль", // Passwort - "confirmPassword": "Підтвердити пароль", // Passwort bestätigen - "forgotPassword": "Забули пароль?", // Passwort vergessen? - "loginWithGoogle": "Увійти через Google", // Mit Google anmelden - "or": "АБО", // ODER - "privacyAccept": "Натискаючи \"Увійти через Google\", я приймаю", // Mit dem Click auf \"Mit Google anmelden\" akzeptiere ich die - "privacyPolicy": "Політику конфіденційності", // Datenschutzbestimmungen - "passwordMinLength": "Пароль повинен містити щонайменше 8 символів", // Das Passwort muss mindestens 8 Zeichen lang sein - "newPasswordMinLength": "Новий пароль повинен містити щонайменше 8 символів", // Das neue Passwort muss mindestens 8 Zeichen lang sein - "menu": { - "profile": "Профіль", // Profil - "checkout": "Оформлення замовлення", // Bestellabschluss - "orders": "Замовлення", // Bestellungen - "settings": "Налаштування", // Einstellungen - "adminDashboard": "Адмін панель", // Admin Dashboard - "adminUsers": "Адміністратори" // Admin Users - } - }, - "cart": { - "title": "Кошик", // Warenkorb - "empty": "порожній", // leer - "addToCart": "Додати до кошика", // In den Korb - "preorderCutting": "Передзамовлення як живець", // Als Steckling vorbestellen - "continueShopping": "Продовжити покупки", // Weiter einkaufen - "proceedToCheckout": "Перейти до оформлення", // Weiter zur Kasse - "productCount": "{{count}} {{count, plural, one {Продукт} other {Продукти}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} - "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 - } - }, - "product": { - "loading": "Завантаження продукту...", // Produkt wird geladen... - "notFound": "Продукт не знайдено", // Produkt nicht gefunden - "notFoundDescription": "Продукт, який ви шукаєте, не існує або був видалений.", // Das gesuchte Produkt existiert nicht oder wurde entfernt. - "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: - "inclVatFooter": "включно з {{vat}}% ПДВ,*", // incl. {{vat}}% USt.,* - "availability": "Наявність", // Verfügbarkeit - "inStock": "в наявності", // auf Lager - "comingSoon": "Скоро в наявності", // Bald verfügbar - "deliveryTime": "Час доставки", // Lieferzeit - "inclShort": "вкл.", // inkl. - "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... - "searchProducts": "Пошук продуктів..." // Produkte suchen... - }, - "sorting": { - "name": "Назва", // Name - "searchField": "Пошуковий запит", // Suchbegriff - "priceLowHigh": "Ціна: від низької до високої", // Preis: Niedrig zu Hoch - "priceHighLow": "Ціна: від високої до низької" // Preis: Hoch zu Niedrig - }, - "chat": { - "privacyRead": "Прочитано & Прийнято" // Gelesen & Akzeptiert - }, - "delivery": { - "methods": { - "dhl": "DHL", // DHL - "dpd": "DPD", // DPD - "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 - "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 - } - }, - "checkout": { - "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 - }, - "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. - "viewOrders": "Переглянути мої замовлення" // Zu meinen Bestellungen - }, - "filters": { - "sorting": "Сортування", // Sortierung - "perPage": "на сторінку", // pro Seite - "availability": "Наявність", // Verfügbarkeit - "manufacturer": "Виробник" // Hersteller - }, - "tax": { - "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 - 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 - "agb": "Умови та положення", // AGB - "sitemap": "Карта сайту", // Sitemap - "impressum": "Імпресум", // Impressum - "batteriegesetzhinweise": "Примітки до Закону про батареї", // Batteriegesetzhinweise - "widerrufsrecht": "Право на відмову" // Widerrufsrecht - } - }, - "titles": { - "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 - "thcTest": "Тест на ТГК", // THC Test - "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 - "address2": "01129 Dresden" // 01129 Dresden - }, - "pages": { - "oilPress": { - "title": "Оренда олійного преса", // Ölpresse ausleihen - "comingSoon": "Контент скоро з’явиться..." // Inhalt kommt bald... - }, - "thcTest": { - "title": "Тест на ТГК", // THC Test - "comingSoon": "Контент скоро з’явиться..." // Inhalt kommt bald... - } - }, - "orders": { - "status": { - "new": "Обробка", // in Bearbeitung - "pending": "Новий", // Neu - "processing": "Обробка", // in Bearbeitung - "cancelled": "Скасовано", // Storniert - "shipped": "Відправлено", // Verschickt - "delivered": "Доставлено", // Geliefert - "return": "Повернення", // Retoure - "partialReturn": "Часткове повернення", // Teil Retoure - "partialDelivered": "Частково доставлено" // Teil geliefert - } - }, - "common": { - "loading": "Завантаження...", // Lädt... - "error": "Помилка", // Fehler - "close": "Закрити", // Schließen - "save": "Зберегти", // Speichern - "cancel": "Скасувати", // Abbrechen - "ok": "OK", // OK - "yes": "Так", // Ja - "no": "Ні", // Nein - "next": "Далі", // Weiter - "back": "Назад", // Zurück - "edit": "Редагувати", // Bearbeiten - "delete": "Видалити", // Löschen - "add": "Додати", // Hinzufügen - "remove": "Видалити", // Entfernen - "products": "Продукти", // Produkte - "product": "Продукт" // Produkt - } -}; +import translations from './index.js'; + +export default translations; \ No newline at end of file diff --git a/src/i18n/locales/zh/auth.js b/src/i18n/locales/zh/auth.js new file mode 100644 index 0000000..d08f44d --- /dev/null +++ b/src/i18n/locales/zh/auth.js @@ -0,0 +1,25 @@ +export default { + "login": "登录", // Anmelden + "register": "注册", // Registrieren + "logout": "登出", // Abmelden + "profile": "个人资料", // Profil + "email": "电子邮件", // E-Mail + "password": "密码", // Passwort + "confirmPassword": "确认密码", // Passwort bestätigen + "forgotPassword": "忘记密码?", // Passwort vergessen? + "loginWithGoogle": "使用 Google 登录", // Mit Google anmelden + "or": "或", // ODER + "privacyAccept": "点击“使用 Google 登录”即表示我接受", // Mit dem Click auf "Mit Google anmelden" akzeptiere ich die + "privacyPolicy": "隐私政策", // Datenschutzbestimmungen + "passwordMinLength": "密码长度至少为8个字符", // Das Passwort muss mindestens 8 Zeichen lang sein + "newPasswordMinLength": "新密码长度至少为8个字符", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "menu": { + "profile": "个人资料", // Profil + "myProfile": "我的资料", // Mein Profil + "checkout": "结账", // Bestellabschluss + "orders": "订单", // Bestellungen + "settings": "设置", // Einstellungen + "adminDashboard": "管理员面板", // Admin Dashboard + "adminUsers": "管理员用户" // Admin Users + } +}; diff --git a/src/i18n/locales/zh/cart.js b/src/i18n/locales/zh/cart.js new file mode 100644 index 0000000..a339ecd --- /dev/null +++ b/src/i18n/locales/zh/cart.js @@ -0,0 +1,24 @@ +export default { + "title": "购物车", // Warenkorb + "empty": "空", // leer + "addToCart": "加入购物车", // In den Korb + "preorderCutting": "预订插枝", // Als Steckling vorbestellen + "continueShopping": "继续购物", // Weiter einkaufen + "proceedToCheckout": "前往结账", // Weiter zur Kasse + "productCount": "{{count}} {{count, plural, one {product} other {products}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} + "productSingular": "产品", // Produkt + "productPlural": "产品", // Produkte + "removeFromCart": "从购物车移除", // Aus dem Warenkorb entfernen + "openCart": "打开购物车", // Warenkorb öffnen + "availableFrom": "自 {{date}} 起可用", // Ab {{date}} + "backToOrder": "← 返回订单", // ← Zurück zur Bestellung + "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 + } +}; diff --git a/src/i18n/locales/zh/chat.js b/src/i18n/locales/zh/chat.js new file mode 100644 index 0000000..ada92d2 --- /dev/null +++ b/src/i18n/locales/zh/chat.js @@ -0,0 +1,3 @@ +export default { + "privacyRead": "已阅读并接受", // Gelesen & Akzeptiert +}; diff --git a/src/i18n/locales/zh/checkout.js b/src/i18n/locales/zh/checkout.js new file mode 100644 index 0000000..a971783 --- /dev/null +++ b/src/i18n/locales/zh/checkout.js @@ -0,0 +1,13 @@ +export default { + "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 + "selectDeliveryMethod": "选择配送方式", // Versandart wählen + "selectPaymentMethod": "选择付款方式", // Zahlungsart wählen + "orderSummary": "订单摘要", // Bestellübersicht + "addressValidationError": "请检查您在地址栏中的输入。", // Bitte überprüfen Sie Ihre Eingaben in den Adressfeldern. +}; diff --git a/src/i18n/locales/zh/common.js b/src/i18n/locales/zh/common.js new file mode 100644 index 0000000..8ff3d9c --- /dev/null +++ b/src/i18n/locales/zh/common.js @@ -0,0 +1,19 @@ +export default { + "loading": "加载中...", // Lädt... + "error": "错误", // Fehler + "close": "关闭", // Schließen + "save": "保存", // Speichern + "cancel": "取消", // Abbrechen + "ok": "确定", // OK + "yes": "是", // Ja + "no": "否", // Nein + "next": "下一步", // Weiter + "back": "返回", // Zurück + "edit": "编辑", // Bearbeiten + "delete": "删除", // Löschen + "add": "添加", // Hinzufügen + "remove": "移除", // Entfernen + "products": "产品", // Produkte + "product": "产品", // Produkt + "days": "天" // Tage +}; diff --git a/src/i18n/locales/zh/delivery.js b/src/i18n/locales/zh/delivery.js new file mode 100644 index 0000000..e9ebc05 --- /dev/null +++ b/src/i18n/locales/zh/delivery.js @@ -0,0 +1,27 @@ +export default { + "methods": { + "dhl": "DHL", // DHL + "dpd": "DPD", // DPD + "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 + "bulky": "适用于大件和重型商品", // Für große und schwere Artikel + "pickupOnly": "仅限自提" // nur Abholung + }, + "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 + } +}; diff --git a/src/i18n/locales/zh/filters.js b/src/i18n/locales/zh/filters.js new file mode 100644 index 0000000..2b836e8 --- /dev/null +++ b/src/i18n/locales/zh/filters.js @@ -0,0 +1,7 @@ +export default { + "sorting": "排序", // Sortierung + "perPage": "每页", // pro Seite + "availability": "可用性", // Verfügbarkeit + "manufacturer": "制造商", // Hersteller + "all": "全部", // Alle +}; diff --git a/src/i18n/locales/zh/footer.js b/src/i18n/locales/zh/footer.js new file mode 100644 index 0000000..8e9a341 --- /dev/null +++ b/src/i18n/locales/zh/footer.js @@ -0,0 +1,15 @@ +export default { + "hours": "周六 11点-19点", // Sa 11-19 + "address": "Trachenberger Straße 14 - Dresden", // Trachenberger Straße 14 - Dresden + "location": "介于Pieschen站和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 + "agb": "条款和条件", // AGB + "sitemap": "网站地图", // Sitemap + "impressum": "法律声明", // Impressum + "batteriegesetzhinweise": "电池法信息", // Batteriegesetzhinweise + "widerrufsrecht": "撤销权" // Widerrufsrecht + } +}; diff --git a/src/i18n/locales/zh/index.js b/src/i18n/locales/zh/index.js new file mode 100644 index 0000000..1dd359f --- /dev/null +++ b/src/i18n/locales/zh/index.js @@ -0,0 +1,43 @@ +import locale from './locale.js'; +import navigation from './navigation.js'; +import auth from './auth.js'; +import cart from './cart.js'; +import product from './product.js'; +import search from './search.js'; +import sorting from './sorting.js'; +import chat from './chat.js'; +import delivery from './delivery.js'; +import checkout from './checkout.js'; +import payment from './payment.js'; +import filters from './filters.js'; +import tax from './tax.js'; +import footer from './footer.js'; +import titles from './titles.js'; +import sections from './sections.js'; +import pages from './pages.js'; +import orders from './orders.js'; +import settings from './settings.js'; +import common from './common.js'; + +export default { + "locale": locale, + "navigation": navigation, + "auth": auth, + "cart": cart, + "product": product, + "search": search, + "sorting": sorting, + "chat": chat, + "delivery": delivery, + "checkout": checkout, + "payment": payment, + "filters": filters, + "tax": tax, + "footer": footer, + "titles": titles, + "sections": sections, + "pages": pages, + "orders": orders, + "settings": settings, + "common": common +}; \ No newline at end of file diff --git a/src/i18n/locales/zh/locale.js b/src/i18n/locales/zh/locale.js new file mode 100644 index 0000000..9125d97 --- /dev/null +++ b/src/i18n/locales/zh/locale.js @@ -0,0 +1,3 @@ +export default { + "code": "zh-CN" // de-DE +}; diff --git a/src/i18n/locales/zh/navigation.js b/src/i18n/locales/zh/navigation.js new file mode 100644 index 0000000..baddd33 --- /dev/null +++ b/src/i18n/locales/zh/navigation.js @@ -0,0 +1,9 @@ +export default { + "home": "首页", // Startseite + "aktionen": "促销", // Aktionen + "filiale": "分店", // Filiale + "categories": "类别", // Kategorien + "categoriesOpen": "打开类别", // Kategorien öffnen + "categoriesClose": "关闭类别", // Kategorien schließen + "otherCategories": "其他类别" // Andere Kategorien +}; diff --git a/src/i18n/locales/zh/orders.js b/src/i18n/locales/zh/orders.js new file mode 100644 index 0000000..64356b9 --- /dev/null +++ b/src/i18n/locales/zh/orders.js @@ -0,0 +1,23 @@ +export default { + "status": { + "new": "进行中", // in Bearbeitung + "pending": "新建", // Neu + "processing": "进行中", // in Bearbeitung + "cancelled": "已取消", // Storniert + "shipped": "已发货", // Verschickt + "delivered": "已送达", // Geliefert + "return": "退货", // Retoure + "partialReturn": "部分退货", // Teil Retoure + "partialDelivered": "部分送达" // Teil geliefert + }, + "table": { + "orderNumber": "订单号", // Bestellnummer + "date": "日期", // Datum + "status": "状态", // Status + "items": "商品", // Artikel + "total": "总计", // Summe + "actions": "操作", // Aktionen + "viewDetails": "查看详情" // Details anzeigen + }, + "noOrders": "您还没有下过任何订单。" // Sie haben noch keine Bestellungen aufgegeben. +}; diff --git a/src/i18n/locales/zh/pages.js b/src/i18n/locales/zh/pages.js new file mode 100644 index 0000000..1f8a83a --- /dev/null +++ b/src/i18n/locales/zh/pages.js @@ -0,0 +1,10 @@ +export default { + "oilPress": { + "title": "借用榨油机", // Ölpresse ausleihen + "comingSoon": "内容即将推出...", // Inhalt kommt bald... + }, + "thcTest": { + "title": "THC 测试", // THC Test + "comingSoon": "内容即将推出...", // Inhalt kommt bald... + } +}; diff --git a/src/i18n/locales/zh/payment.js b/src/i18n/locales/zh/payment.js new file mode 100644 index 0000000..ba2c907 --- /dev/null +++ b/src/i18n/locales/zh/payment.js @@ -0,0 +1,8 @@ +export default { + "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 +}; diff --git a/src/i18n/locales/zh/product.js b/src/i18n/locales/zh/product.js new file mode 100644 index 0000000..31b9449 --- /dev/null +++ b/src/i18n/locales/zh/product.js @@ -0,0 +1,32 @@ +export default { + "loading": "正在加载产品...", // Produkt wird geladen... + "notFound": "未找到产品", // Produkt nicht gefunden + "notFoundDescription": "您查找的产品不存在或已被移除。", // Das gesuchte Produkt existiert nicht oder wurde entfernt. + "backToHome": "返回首页", // Zurück zur Startseite + "error": "错误", // Fehler + "articleNumber": "商品编号", // Artikelnummer + "manufacturer": "制造商", // Hersteller + "inclVat": "含 {{vat}}% 增值税", // inkl. {{vat}}% MwSt. + "priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}} + "new": "新品", // Neu + "weeks": "周", // Wochen + "arriving": "到货时间:", // Ankunft: + "inclVatFooter": "含 {{vat}}% 增值税,*", // inkl. {{vat}}% MwSt.,* + "availability": "库存情况", // Verfügbarkeit + "inStock": "有库存", // auf Lager + "comingSoon": "即将上市", // Bald verfügbar + "deliveryTime": "交货时间", // Lieferzeit + "inclShort": "含", // inkl. + "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 + "xOfYProducts": "{{x}} 个,共 {{y}} 个产品" // {{x}} von {{y}} Produkten + }, + "removeFiltersToSee": "移除筛选条件以查看产品", // Entferne Filter um Produkte zu sehen + "outOfStock": "缺货", // Out of Stock + "fromXProducts": "从 {{count}} 个产品开始" // ab {{count}} Produkten +}; diff --git a/src/i18n/locales/zh/search.js b/src/i18n/locales/zh/search.js new file mode 100644 index 0000000..38c2b5f --- /dev/null +++ b/src/i18n/locales/zh/search.js @@ -0,0 +1,5 @@ +export default { + "placeholder": "你可以问我关于大麻品种的问题...", // Du kannst mich nach Cannabissorten fragen... + "recording": "正在录音...", // Aufnahme läuft... + "searchProducts": "搜索产品...", // Produkte suchen... +}; diff --git a/src/i18n/locales/zh/sections.js b/src/i18n/locales/zh/sections.js new file mode 100644 index 0000000..3f97b81 --- /dev/null +++ b/src/i18n/locales/zh/sections.js @@ -0,0 +1,8 @@ +export default { + "seeds": "种子", // Seeds + "stecklinge": "插枝", // Stecklinge + "oilPress": "借用榨油机", // Ölpresse ausleihen + "thcTest": "THC 测试", // THC Test + "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 + "address2": "01129 Dresden" // 01129 Dresden +}; diff --git a/src/i18n/locales/zh/settings.js b/src/i18n/locales/zh/settings.js new file mode 100644 index 0000000..c2f1aa5 --- /dev/null +++ b/src/i18n/locales/zh/settings.js @@ -0,0 +1,34 @@ +export default { + "changePassword": "更改密码", // Passwort ändern + "currentPassword": "当前密码", // Aktuelles Passwort + "newPassword": "新密码", // Neues Passwort + "confirmNewPassword": "确认新密码", // Neues Passwort bestätigen + "updatePassword": "更新密码", // Passwort aktualisieren + "changeEmail": "更改电子邮件地址", // E-Mail-Adresse ändern + "password": "密码", // Passwort + "newEmail": "新电子邮件地址", // Neue E-Mail-Adresse + "updateEmail": "更新电子邮件", // E-Mail aktualisieren + "apiKey": "API 密钥", // API-Schlüssel + "apiKeyDescription": "使用您的 API 密钥与外部应用程序集成。", // Verwenden Sie Ihren API-Schlüssel für die Integration mit externen Anwendungen. + "apiDocumentation": "API 文档:", // API-Dokumentation: + "copyToClipboard": "复制到剪贴板", // In Zwischenablage kopieren + "generate": "生成", // Generieren + "regenerate": "重新生成", // Regenerieren + "apiKeyCopied": "API 密钥已复制到剪贴板", // API-Schlüssel in Zwischenablage kopiert + "errors": { + "fillAllFields": "请填写所有字段", // Bitte füllen Sie alle Felder aus + "passwordsNotMatch": "新密码不匹配", // Die neuen Passwörter stimmen nicht überein + "passwordTooShort": "新密码长度至少为8个字符", // Das neue Passwort muss mindestens 8 Zeichen lang sein + "passwordUpdateError": "更新密码时出错", // Fehler beim Aktualisieren des Passworts + "invalidEmail": "请输入有效的电子邮件地址", // Bitte geben Sie eine gültige E-Mail-Adresse ein + "emailUpdateError": "更新电子邮件地址时出错", // Fehler beim Aktualisieren der E-Mail-Adresse + "userNotFound": "未找到用户", // Benutzer nicht gefunden + "apiKeyGenerationError": "生成 API 密钥时出错" // Fehler beim Generieren des API-Schlüssels + }, + "success": { + "passwordUpdated": "密码更新成功", // Passwort erfolgreich aktualisiert + "emailUpdated": "电子邮件地址更新成功", // E-Mail-Adresse erfolgreich aktualisiert + "apiKeyGenerated": "API 密钥生成成功", // API-Schlüssel erfolgreich generiert + "apiKeyWarning": "请妥善保存此密钥。出于安全原因,10秒后将隐藏。" // Speichern Sie diesen Schlüssel sicher. Er wird aus Sicherheitsgründen in 10 Sekunden ausgeblendet. + } +}; diff --git a/src/i18n/locales/zh/sorting.js b/src/i18n/locales/zh/sorting.js new file mode 100644 index 0000000..bc9379c --- /dev/null +++ b/src/i18n/locales/zh/sorting.js @@ -0,0 +1,6 @@ +export default { + "name": "名称", // Name + "searchField": "搜索词", // Suchbegriff + "priceLowHigh": "价格:从低到高", // Preis: Niedrig zu Hoch + "priceHighLow": "价格:从高到低" // Preis: Hoch zu Niedrig +}; diff --git a/src/i18n/locales/zh/tax.js b/src/i18n/locales/zh/tax.js new file mode 100644 index 0000000..b9e567b --- /dev/null +++ b/src/i18n/locales/zh/tax.js @@ -0,0 +1,12 @@ +export default { + "vat": "增值税", // Mehrwertsteuer + "vat7": "7% 增值税", // 7% Mehrwertsteuer + "vat19": "19% 增值税", // 19% Mehrwertsteuer + "vat19WithShipping": "19% 增值税(含运费)", // 19% Mehrwertsteuer (inkl. Versand) + "totalNet": "总净价", // Gesamtnettopreis + "totalGross": "总毛价(不含运费)", // Gesamtbruttopreis ohne Versand + "subtotal": "小计", // Zwischensumme + "incl7Vat": "含7%增值税", // inkl. 7% MwSt. + "inclVatWithFooter": "(含{{vat}}%增值税,*)", // (incl. {{vat}}% USt.,*) + "inclVatAmount": "含{{amount}} €增值税({{rate}}%)" // nkl. {{amount}} € MwSt. ({{rate}}%) +}; diff --git a/src/i18n/locales/zh/titles.js b/src/i18n/locales/zh/titles.js new file mode 100644 index 0000000..5a105f9 --- /dev/null +++ b/src/i18n/locales/zh/titles.js @@ -0,0 +1,5 @@ +export default { + "home": "优质大麻种子和插枝", // Fine Cannabis Seeds & Cuttings + "aktionen": "当前促销与优惠", // Aktuelle Aktionen & Angebote + "filiale": "我们在德累斯顿的门店" // Unsere Filiale in Dresden +}; diff --git a/src/i18n/locales/zh/translation.js b/src/i18n/locales/zh/translation.js index cc01554..820476a 100644 --- a/src/i18n/locales/zh/translation.js +++ b/src/i18n/locales/zh/translation.js @@ -1,231 +1,3 @@ -export default { - "locale": { - "code": "zh-CN" // de-DE - }, - "navigation": { - "home": "首页", // Startseite - "aktionen": "促销活动", // Aktionen - "filiale": "分店", // Filiale - "categories": "分类", // Kategorien - "categoriesOpen": "打开分类", // Kategorien öffnen - "categoriesClose": "关闭分类", // Kategorien schließen - "otherCategories": "其他分类" // Andere Kategorien - }, - "auth": { - "login": "登录", // Anmelden - "register": "注册", // Registrieren - "logout": "登出", // Abmelden - "profile": "个人资料", // Profil - "email": "电子邮件", // E-Mail - "password": "密码", // Passwort - "confirmPassword": "确认密码", // Passwort bestätigen - "forgotPassword": "忘记密码?", // Passwort vergessen? - "loginWithGoogle": "使用 Google 登录", // Mit Google anmelden - "or": "或", // ODER - "privacyAccept": "点击“使用 Google 登录”即表示我接受", // Mit dem Click auf \"Mit Google anmelden\" akzeptiere ich die - "privacyPolicy": "隐私政策", // Datenschutzbestimmungen - "passwordMinLength": "密码长度至少为8个字符", // Das Passwort muss mindestens 8 Zeichen lang sein - "newPasswordMinLength": "新密码长度至少为8个字符", // Das neue Passwort muss mindestens 8 Zeichen lang sein - "menu": { - "profile": "个人资料", // Profil - "checkout": "结账", // Bestellabschluss - "orders": "订单", // Bestellungen - "settings": "设置", // Einstellungen - "adminDashboard": "管理员面板", // Admin Dashboard - "adminUsers": "管理员用户" // Admin Users - } - }, - "cart": { - "title": "购物车", // Warenkorb - "empty": "空", // leer - "addToCart": "加入购物车", // In den Korb - "preorderCutting": "预订插枝", // Als Steckling vorbestellen - "continueShopping": "继续购物", // Weiter einkaufen - "proceedToCheckout": "前往结账", // Weiter zur Kasse - "productCount": "{{count}} {{count, plural, one {产品} other {产品}}}", // {{count}} {{count, plural, one {Produkt} other {Produkte}}} - "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 - } - }, - "product": { - "loading": "正在加载产品...", // Produkt wird geladen... - "notFound": "未找到产品", // Produkt nicht gefunden - "notFoundDescription": "您查找的产品不存在或已被移除。", // Das gesuchte Produkt existiert nicht oder wurde entfernt. - "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: - "inclVatFooter": "含 {{vat}}% 增值税,*", // incl. {{vat}}% USt.,* - "availability": "可用性", // Verfügbarkeit - "inStock": "有库存", // auf Lager - "comingSoon": "即将上市", // Bald verfügbar - "deliveryTime": "交货时间", // Lieferzeit - "inclShort": "含", // inkl. - "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... - "searchProducts": "搜索产品..." // Produkte suchen... - }, - "sorting": { - "name": "名称", // Name - "searchField": "搜索词", // Suchbegriff - "priceLowHigh": "价格:从低到高", // Preis: Niedrig zu Hoch - "priceHighLow": "价格:从高到低" // Preis: Hoch zu Niedrig - }, - "chat": { - "privacyRead": "已阅读并接受" // Gelesen & Akzeptiert - }, - "delivery": { - "methods": { - "dhl": "DHL", // DHL - "dpd": "DPD", // DPD - "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 - "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 - } - }, - "checkout": { - "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 - }, - "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. - "viewOrders": "查看我的订单" // Zu meinen Bestellungen - }, - "filters": { - "sorting": "排序", // Sortierung - "perPage": "每页", // pro Seite - "availability": "可用性", // Verfügbarkeit - "manufacturer": "制造商" // Hersteller - }, - "tax": { - "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 - Dresden", // Trachenberger Straße 14 - Dresden - "location": "位于 Pieschen 站和 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 - "agb": "条款与条件", // AGB - "sitemap": "网站地图", // Sitemap - "impressum": "版权声明", // Impressum - "batteriegesetzhinweise": "电池法说明", // Batteriegesetzhinweise - "widerrufsrecht": "撤销权" // Widerrufsrecht - } - }, - "titles": { - "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 - "thcTest": "THC 测试", // THC Test - "address1": "Trachenberger Straße 14", // Trachenberger Straße 14 - "address2": "01129 Dresden" // 01129 Dresden - }, - "pages": { - "oilPress": { - "title": "借用榨油机", // Ölpresse ausleihen - "comingSoon": "内容即将推出..." // Inhalt kommt bald... - }, - "thcTest": { - "title": "THC 测试", // THC Test - "comingSoon": "内容即将推出..." // Inhalt kommt bald... - } - }, - "orders": { - "status": { - "new": "处理中", // in Bearbeitung - "pending": "新订单", // Neu - "processing": "处理中", // in Bearbeitung - "cancelled": "已取消", // Storniert - "shipped": "已发货", // Verschickt - "delivered": "已送达", // Geliefert - "return": "退货", // Retoure - "partialReturn": "部分退货", // Teil Retoure - "partialDelivered": "部分送达" // Teil geliefert - } - }, - "common": { - "loading": "加载中...", // Lädt... - "error": "错误", // Fehler - "close": "关闭", // Schließen - "save": "保存", // Speichern - "cancel": "取消", // Abbrechen - "ok": "确定", // OK - "yes": "是", // Ja - "no": "否", // Nein - "next": "下一步", // Weiter - "back": "返回", // Zurück - "edit": "编辑", // Bearbeiten - "delete": "删除", // Löschen - "add": "添加", // Hinzufügen - "remove": "移除", // Entfernen - "products": "产品", // Produkte - "product": "产品" // Produkt - } -}; +import translations from './index.js'; + +export default translations; \ No newline at end of file diff --git a/translate-i18n.js b/translate-i18n.js index e8dc82a..a6e9a2c 100755 --- a/translate-i18n.js +++ b/translate-i18n.js @@ -7,8 +7,32 @@ import OpenAI from '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'); +const GERMAN_DIR = path.join(LOCALES_DIR, 'de'); +const ENGLISH_DIR = path.join(LOCALES_DIR, 'en'); + +// Translation file groups +const TRANSLATION_FILES = [ + 'locale.js', + 'navigation.js', + 'auth.js', + 'cart.js', + 'product.js', + 'search.js', + 'sorting.js', + 'chat.js', + 'delivery.js', + 'checkout.js', + 'payment.js', + 'filters.js', + 'tax.js', + 'footer.js', + 'titles.js', + 'sections.js', + 'pages.js', + 'orders.js', + 'settings.js', + 'common.js' +]; // Model configuration const GERMAN_TO_ENGLISH_MODEL = 'gpt-4.1'; // High-quality model for German -> English (critical step) @@ -78,14 +102,13 @@ Translate the English strings in the following file to {{targetLanguage}}, prese Rules: 1. Translate only the English strings to {{targetLanguage}} -2. Keep all German comments unchanged +2. Drop the comments in output 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 +8. Return a valid JavaScript object (not JSON) that can be exported Here is the English translation file to translate: @@ -199,68 +222,101 @@ function extractJSObjectString(response) { } } -// Main translation function +// Main translation function for multiple files 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'); + const translatedFiles = []; - try { - const translatedContent = await translateContent(germanContent, GERMAN_TO_ENGLISH_SYSTEM_PROMPT, null, GERMAN_TO_ENGLISH_MODEL); - const englishObjectString = extractJSObjectString(translatedContent); + for (const fileName of TRANSLATION_FILES) { + const germanFile = path.join(GERMAN_DIR, fileName); + const englishFile = path.join(ENGLISH_DIR, fileName); - if (englishObjectString) { - writeTranslationFile(ENGLISH_FILE, englishObjectString); - console.log('✅ German to English translation completed'); - return englishObjectString; - } else { - throw new Error('Failed to parse English translation'); + console.log(`🔄 Translating ${fileName}...`); + + try { + // Read German translation file + const germanContent = fs.readFileSync(germanFile, 'utf8'); + + const translatedContent = await translateContent(germanContent, GERMAN_TO_ENGLISH_SYSTEM_PROMPT, null, GERMAN_TO_ENGLISH_MODEL); + const englishObjectString = extractJSObjectString(translatedContent); + + if (englishObjectString) { + writeTranslationFile(englishFile, englishObjectString); + translatedFiles.push(fileName); + console.log(`✅ ${fileName} translated successfully`); + } else { + throw new Error(`Failed to parse English translation for ${fileName}`); + } + } catch (error) { + console.error(`❌ Error translating ${fileName}:`, error.message); } - } catch (error) { - console.error('❌ Error translating to English:', error.message); - return null; + + // Add delay to avoid rate limiting + await new Promise(resolve => setTimeout(resolve, 1000)); } + + console.log(`✅ German to English translation completed for ${translatedFiles.length} files`); + return translatedFiles; } -// Function to translate English to other languages -async function translateToOtherLanguages(englishObjectString) { +// Function to translate English to other languages (multiple files) +async function translateToOtherLanguages(translatedFiles) { 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)}"` + console.log(`🔄 Translating to ${langName} (${langCode})...`); + + // Create target language directory if it doesn't exist + const targetDir = path.join(LOCALES_DIR, langCode); + if (!fs.existsSync(targetDir)) { + fs.mkdirSync(targetDir, { recursive: true }); + } + + for (const fileName of TRANSLATION_FILES) { + try { + const englishFile = path.join(ENGLISH_DIR, fileName); + const targetFile = path.join(targetDir, fileName); + + console.log(`🔄 Translating ${fileName} to ${langName}...`); + + // Read English file + const englishContent = fs.readFileSync(englishFile, 'utf8'); + + const translatedContent = await translateToTargetLanguage( + englishContent, + langName, + ENGLISH_TO_OTHER_MODEL ); - 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`); + const translatedObjectString = extractJSObjectString(translatedContent); + + if (translatedObjectString) { + // Special handling for locale.js file + let updatedString = translatedObjectString; + if (fileName === 'locale.js') { + updatedString = translatedObjectString.replace( + /"code":\s*"[^"]*"/, + `"code": "${getLocaleCode(langCode)}"` + ); + } + + writeTranslationFile(targetFile, updatedString); + console.log(`✅ ${fileName} translated to ${langName}`); + } else { + console.error(`❌ Failed to parse ${fileName} translation for ${langName}`); + } + + // Add delay to avoid rate limiting + await new Promise(resolve => setTimeout(resolve, 500)); + + } catch (error) { + console.error(`❌ Error translating ${fileName} to ${langName}:`, error.message); } - - // Add delay to avoid rate limiting - await new Promise(resolve => setTimeout(resolve, 1000)); - - } catch (error) { - console.error(`❌ Error translating to ${langName}:`, error.message); } + + // Add longer delay between languages + await new Promise(resolve => setTimeout(resolve, 2000)); } } @@ -319,34 +375,35 @@ async function main() { process.exit(1); } - // Check if German file exists (only if we're translating from German) - if (!skipEnglish && !fs.existsSync(GERMAN_FILE)) { - console.error(`❌ German translation file not found: ${GERMAN_FILE}`); + // Check if German directory exists (only if we're translating from German) + if (!skipEnglish && !fs.existsSync(GERMAN_DIR)) { + console.error(`❌ German translation directory not found: ${GERMAN_DIR}`); process.exit(1); } try { - let englishObjectString; + let translatedFiles; if (skipEnglish) { - // Skip German → English, read existing English file - if (!fs.existsSync(ENGLISH_FILE)) { - console.error(`❌ English translation file not found: ${ENGLISH_FILE}`); - console.log('💡 Run without --skip-english first to generate the English file'); + // Skip German → English, read existing English files + if (!fs.existsSync(ENGLISH_DIR)) { + console.error(`❌ English translation directory not found: ${ENGLISH_DIR}`); + console.log('💡 Run without --skip-english first to generate the English files'); process.exit(1); } - console.log('📖 Reading existing English translation file...'); - const englishContent = fs.readFileSync(ENGLISH_FILE, 'utf8'); - // Extract the object part (remove export default and semicolon) - englishObjectString = englishContent.replace(/^export default\s*/, '').replace(/;\s*$/, ''); - console.log('✅ English file loaded successfully'); + console.log('📖 Reading existing English translation files...'); + translatedFiles = TRANSLATION_FILES.filter(fileName => { + const englishFile = path.join(ENGLISH_DIR, fileName); + return fs.existsSync(englishFile); + }); + console.log(`✅ Found ${translatedFiles.length} English files`); } else { // Step 1: Translate German to English - englishObjectString = await translateToEnglish(); + translatedFiles = await translateToEnglish(); - if (!englishObjectString) { - console.error('❌ Failed to create English translation, stopping process'); + if (!translatedFiles || translatedFiles.length === 0) { + console.error('❌ Failed to create English translations, stopping process'); process.exit(1); } } @@ -355,7 +412,7 @@ async function main() { console.log('🎉 English translation completed! Skipping other languages.'); } else { // Step 2: Translate English to other languages - await translateToOtherLanguages(englishObjectString); + await translateToOtherLanguages(translatedFiles); console.log('🎉 All translations completed successfully!'); }