feat(Translation): enhance product dialogs and update translation model

- Added new translation files for product dialogs to support additional languages.
- Refactored various components to utilize translation functions for error messages, labels, and placeholders, enhancing localization support.
This commit is contained in:
sebseb7
2025-11-22 09:43:51 +01:00
parent d63c385a97
commit 3389a9b66c
72 changed files with 1625 additions and 196 deletions

View File

@@ -3,6 +3,7 @@ import navigation from './navigation.js';
import auth from './auth.js';
import cart from './cart.js';
import product from './product.js';
import productDialogs from './productDialogs.js';
import search from './search.js';
import sorting from './sorting.js';
import chat from './chat.js';
@@ -35,6 +36,7 @@ export default {
"auth": auth,
"cart": cart,
"product": product,
"productDialogs": productDialogs,
"search": search,
"sorting": sorting,
"chat": chat,

View File

@@ -8,9 +8,10 @@ export default {
"articleNumber": "Article number", // Artikelnummer
"manufacturer": "Manufacturer", // Hersteller
"inclVat": "incl. {{vat}}% VAT", // inkl. {{vat}}% MwSt.
"inclVatSimple": "incl. VAT", // inkl. MwSt.
"priceUnit": "{{price}}/{{unit}}", // {{price}}/{{unit}}
"new": "New", // Neu
"weeks": "weeks", // Wochen
"weeks": "Weeks", // Wochen
"arriving": "Arrival:", // Ankunft:
"inclVatFooter": "incl. {{vat}}% VAT,*", // inkl. {{vat}}% MwSt.,*
"availability": "Availability", // Verfügbarkeit
@@ -23,13 +24,13 @@ export default {
"youSave": "You save: {{amount}}", // Sie sparen: {{amount}}
"cheaperThanIndividual": "Cheaper than buying individually", // Günstiger als Einzelkauf
"pickupPrice": "Pickup price: €19.90 per cutting.", // Abholpreis: 19,90 € pro Steckling.
"consistsOf": "Consists of:", // Bestehend aus:
"consistsOf": "Consisting of:", // Bestehend aus:
"loadingComponentDetails": "{{index}}. Loading component details...", // {{index}}. Lädt Komponent-Details...
"loadingProduct": "Product is loading...", // Produkt wird geladen...
"loadingProduct": "Loading product...", // Produkt wird geladen...
"individualPriceTotal": "Total individual price:", // Einzelpreis gesamt:
"setPrice": "Set price:", // Set-Preis:
"yourSavings": "Your savings:", // Ihre Ersparnis:
"similarProducts": "Similar Products", // Ähnliche Produkte
"similarProducts": "Similar products", // Ähnliche Produkte
"countDisplay": {
"noProducts": "0 products", // 0 Produkte
"oneProduct": "1 product", // 1 Produkt

View File

@@ -0,0 +1,61 @@
export default {
"questionTitle": "Question about the product", // Frage zum Artikel
"questionSubtitle": "Do you have a question about this product? We are happy to help you.", // Haben Sie eine Frage zu diesem Artikel? Wir helfen Ihnen gerne weiter.
"questionSuccess": "Thank you for your question! We will get back to you as soon as possible.", // Vielen Dank für Ihre Frage! Wir werden uns schnellstmöglich bei Ihnen melden.
"nameLabel": "Name", // Name
"namePlaceholder": "Your name", // Ihr Name
"emailLabel": "Email", // E-Mail
"emailPlaceholder": "your.email@example.com", // ihre.email@example.com
"questionLabel": "Your question", // Ihre Frage
"questionPlaceholder": "Describe your question about this product...", // Beschreiben Sie Ihre Frage zu diesem Artikel...
"photosLabelQuestion": "Attach photos to your question (optional)", // Fotos zur Frage anhängen (optional)
"submitQuestion": "Send question", // Frage senden
"sending": "Sending...", // Wird gesendet...
"ratingTitle": "Rate product", // Artikel Bewerten
"ratingSubtitle": "Share your experience with this product and help other customers make their decision.", // Teilen Sie Ihre Erfahrungen mit diesem Artikel und helfen Sie anderen Kunden bei der Entscheidung.
"ratingSuccess": "Thank you for your review! It will be published after verification.", // Vielen Dank für Ihre Bewertung! Sie wird nach Prüfung veröffentlicht.
"emailHelper": "Your email will not be published", // Ihre E-Mail wird nicht veröffentlicht
"ratingLabel": "Rating *", // Bewertung *
"pleaseRate": "Please rate", // Bitte bewerten
"ratingStars": "{{rating}} out of 5 stars", // {{rating}} von 5 Sternen
"reviewLabel": "Your review (optional)", // Ihre Bewertung (optional)
"reviewPlaceholder": "Describe your experiences with this product...", // Beschreiben Sie Ihre Erfahrungen mit diesem Artikel...
"photosLabelRating": "Attach photos to your review (optional)", // Fotos zur Bewertung anhängen (optional)
"submitRating": "Submit review", // Bewertung abgeben
"errorGeneric": "An error occurred", // Ein Fehler ist aufgetreten
"errorPhotos": "Error processing photos", // Fehler beim Verarbeiten der Fotos
"availabilityTitle": "Request availability", // Verfügbarkeit anfragen
"availabilitySubtitle": "This product is currently unavailable. We will be happy to inform you as soon as it is back in stock.", // Dieser Artikel ist derzeit nicht verfügbar. Gerne informieren wir Sie, sobald er wieder lieferbar ist.
"availabilitySuccessEmail": "Thank you for your request! We will notify you by email as soon as the product is available again.", // Vielen Dank für Ihre Anfrage! Wir werden Sie per E-Mail informieren, sobald der Artikel wieder verfügbar ist.
"availabilitySuccessTelegram": "Thank you for your request! We will notify you via Telegram as soon as the product is available again.", // Vielen Dank für Ihre Anfrage! Wir werden Sie über Telegram informieren, sobald der Artikel wieder verfügbar ist.
"notificationMethodLabel": "How would you like to be notified?", // Wie möchten Sie benachrichtigt werden?
"telegramBotLabel": "Telegram Bot", // Telegram Bot
"telegramIdLabel": "Telegram ID", // Telegram ID
"telegramPlaceholder": "@yourTelegramName or Telegram ID", // @IhrTelegramName oder Telegram ID
"telegramHelper": "Enter your Telegram username (with @) or Telegram ID", // Geben Sie Ihren Telegram-Benutzernamen (mit @) oder Ihre Telegram-ID ein
"messageLabel": "Message (optional)", // Nachricht (optional)
"messagePlaceholder": "Additional information or questions...", // Zusätzliche Informationen oder Fragen...
"submitAvailability": "Request availability", // Verfügbarkeit anfragen
"photoUploadSelect": "Select photos", // Fotos auswählen
"photoUploadErrorMaxFiles": "Maximum {{max}} files allowed", // Maximal {{max}} Dateien erlaubt
"photoUploadErrorFileType": "Only image files (JPEG, PNG, GIF, WebP) are allowed", // Nur Bilddateien (JPEG, PNG, GIF, WebP) sind erlaubt
"photoUploadErrorFileSize": "File too large. Maximum: {{maxSize}}MB", // Datei zu groß. Maximum: {{maxSize}}MB
"photoUploadSelectedFiles": "{{count}} file(s) selected", // {{count}} Datei(en) ausgewählt
"photoUploadCompressed": "(compressed for upload)", // (komprimiert für Upload)
"photoUploadRemove": "Remove image", // Bild entfernen
"photoUploadLabelDefault": "Attach photos (optional)", // Fotos anhängen (optional)
"shareTitle": "Share", // Teilen
"shareEmbed": "Embed", // Einbetten
"shareCopyLink": "Copy link", // Link kopieren
"shareSuccessEmbed": "Embed code copied to clipboard!", // Einbettungscode wurde in die Zwischenablage kopiert!
"shareErrorEmbed": "Error copying the embed code", // Fehler beim Kopieren des Einbettungscodes
"shareSuccessLink": "Link copied to clipboard!", // Link wurde in die Zwischenablage kopiert!
"shareWhatsAppText": "Check out this product: {{name}}", // Schau dir dieses Produkt an: {{name}}
"shareTelegramText": "Check out this product: {{name}}", // Schau dir dieses Produkt an: {{name}}
"shareEmailSubject": "Product recommendation", // Produktempfehlung
"shareEmailBody": "Hello,\n\nI'd like to recommend this product to you:\n\n{{name}}\n{{url}}\n\nBest regards", // Hallo,\n\nich möchte dir dieses Produkt empfehlen:\n\n{{name}}\n{{url}}\n\nViele Grüße
};