fix(i18n): add missing menu translations and fix admin language resolution

Two issues caused the admin sidebar to show a mix of French and English:

1. Only 3 of 14 modules had "menu" translations in their locale files.
   When a key was missing, _translate_label() fell back to English Title
   Case from the key name — mixing with French from modules that had
   translations. Added menu sections to all 4 languages (en, fr, de, lb)
   across 13 modules.

2. The language middleware hardcoded admin to "en" ignoring user preference,
   while the menu API fell back to DEFAULT_LANGUAGE ("fr") when
   preferred_language was NULL. Fixed middleware to respect user's
   preferred_language and menu API to use middleware-resolved language
   as fallback.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-07 23:37:13 +01:00
parent faf7047979
commit dad02695f6
54 changed files with 3924 additions and 3549 deletions

View File

@@ -1,17 +1,20 @@
{
"analytics": {
"page_title": "Analysen",
"dashboard_title": "Analyse-Dashboard",
"dashboard_subtitle": "Sehen Sie Ihre Shop-Leistungskennzahlen und Einblicke",
"period_7d": "Letzte 7 Tage",
"period_30d": "Letzte 30 Tage",
"period_90d": "Letzte 90 Tage",
"period_1y": "Letztes Jahr",
"imports_count": "Importe",
"products_added": "Hinzugefügte Produkte",
"inventory_locations": "Lagerstandorte",
"data_since": "Daten seit",
"loading": "Analysen werden geladen...",
"error_loading": "Analysedaten konnten nicht geladen werden"
}
"analytics": {
"page_title": "Analysen",
"dashboard_title": "Analyse-Dashboard",
"dashboard_subtitle": "Sehen Sie Ihre Shop-Leistungskennzahlen und Einblicke",
"period_7d": "Letzte 7 Tage",
"period_30d": "Letzte 30 Tage",
"period_90d": "Letzte 90 Tage",
"period_1y": "Letztes Jahr",
"imports_count": "Importe",
"products_added": "Hinzugefügte Produkte",
"inventory_locations": "Lagerstandorte",
"data_since": "Daten seit",
"loading": "Analysen werden geladen...",
"error_loading": "Analysedaten konnten nicht geladen werden"
},
"menu": {
"analytics": "Analytik"
}
}

View File

@@ -1,17 +1,20 @@
{
"analytics": {
"page_title": "Analytics",
"dashboard_title": "Analytics Dashboard",
"dashboard_subtitle": "View your store performance metrics and insights",
"period_7d": "Last 7 days",
"period_30d": "Last 30 days",
"period_90d": "Last 90 days",
"period_1y": "Last year",
"imports_count": "Imports",
"products_added": "Products Added",
"inventory_locations": "Inventory Locations",
"data_since": "Data since",
"loading": "Loading analytics...",
"error_loading": "Failed to load analytics data"
}
"analytics": {
"page_title": "Analytics",
"dashboard_title": "Analytics Dashboard",
"dashboard_subtitle": "View your store performance metrics and insights",
"period_7d": "Last 7 days",
"period_30d": "Last 30 days",
"period_90d": "Last 90 days",
"period_1y": "Last year",
"imports_count": "Imports",
"products_added": "Products Added",
"inventory_locations": "Inventory Locations",
"data_since": "Data since",
"loading": "Loading analytics...",
"error_loading": "Failed to load analytics data"
},
"menu": {
"analytics": "Analytics"
}
}

View File

@@ -1,17 +1,20 @@
{
"analytics": {
"page_title": "Analytique",
"dashboard_title": "Tableau de bord analytique",
"dashboard_subtitle": "Consultez les indicateurs de performance de votre boutique",
"period_7d": "7 derniers jours",
"period_30d": "30 derniers jours",
"period_90d": "90 derniers jours",
"period_1y": "Dernière année",
"imports_count": "Importations",
"products_added": "Produits ajoutés",
"inventory_locations": "Emplacements d'inventaire",
"data_since": "Données depuis",
"loading": "Chargement des analyses...",
"error_loading": "Impossible de charger les données analytiques"
}
"analytics": {
"page_title": "Analytique",
"dashboard_title": "Tableau de bord analytique",
"dashboard_subtitle": "Consultez les indicateurs de performance de votre boutique",
"period_7d": "7 derniers jours",
"period_30d": "30 derniers jours",
"period_90d": "90 derniers jours",
"period_1y": "Dernière année",
"imports_count": "Importations",
"products_added": "Produits ajoutés",
"inventory_locations": "Emplacements d'inventaire",
"data_since": "Données depuis",
"loading": "Chargement des analyses...",
"error_loading": "Impossible de charger les données analytiques"
},
"menu": {
"analytics": "Analytique"
}
}

View File

@@ -1,17 +1,20 @@
{
"analytics": {
"page_title": "Analysen",
"dashboard_title": "Analysen Dashboard",
"dashboard_subtitle": "Kuckt Är Geschäftsleeschtungsmetriken an Abléck",
"period_7d": "Lescht 7 Deeg",
"period_30d": "Lescht 30 Deeg",
"period_90d": "Lescht 90 Deeg",
"period_1y": "Lescht Joer",
"imports_count": "Importer",
"products_added": "Produkter derbäigesat",
"inventory_locations": "Inventar-Standuierter",
"data_since": "Daten zënter",
"loading": "Analysen lueden...",
"error_loading": "Feeler beim Lueden vun den Analysedaten"
}
"analytics": {
"page_title": "Analysen",
"dashboard_title": "Analysen Dashboard",
"dashboard_subtitle": "Kuckt Är Geschäftsleeschtungsmetriken an Abléck",
"period_7d": "Lescht 7 Deeg",
"period_30d": "Lescht 30 Deeg",
"period_90d": "Lescht 90 Deeg",
"period_1y": "Lescht Joer",
"imports_count": "Importer",
"products_added": "Produkter derbäigesat",
"inventory_locations": "Inventar-Standuierter",
"data_since": "Daten zënter",
"loading": "Analysen lueden...",
"error_loading": "Feeler beim Lueden vun den Analysedaten"
},
"menu": {
"analytics": "Analytik"
}
}

View File

@@ -1,127 +1,137 @@
{
"title": "Abrechnung & Abonnements",
"description": "Abonnementstufen, Rechnungshistorie und Zahlungen verwalten",
"subscription": {
"title": "Abonnement",
"current_tier": "Aktuelle Stufe",
"status": "Status",
"statuses": {
"trial": "Testphase",
"active": "Aktiv",
"past_due": "Überfällig",
"cancelled": "Gekündigt",
"expired": "Abgelaufen"
"title": "Abrechnung & Abonnements",
"description": "Abonnementstufen, Rechnungshistorie und Zahlungen verwalten",
"subscription": {
"title": "Abonnement",
"current_tier": "Aktuelle Stufe",
"status": "Status",
"statuses": {
"trial": "Testphase",
"active": "Aktiv",
"past_due": "Überfällig",
"cancelled": "Gekündigt",
"expired": "Abgelaufen"
},
"trial_ends": "Testphase endet",
"period_ends": "Periode endet",
"cancelled_at": "Gekündigt am",
"cancellation_reason": "Kündigungsgrund"
},
"trial_ends": "Testphase endet",
"period_ends": "Periode endet",
"cancelled_at": "Gekündigt am",
"cancellation_reason": "Kündigungsgrund"
},
"tiers": {
"title": "Abonnementstufen",
"subtitle": "Preisstufen und Funktionen verwalten",
"essential": "Essential",
"professional": "Professional",
"business": "Business",
"enterprise": "Enterprise",
"create": "Stufe erstellen",
"edit": "Stufe bearbeiten",
"features": "Funktionen",
"limits": "Limits",
"pricing": "Preisgestaltung",
"monthly": "Monatlich",
"annual": "Jährlich",
"per_month": "/Monat",
"per_year": "/Jahr",
"unlimited": "Unbegrenzt",
"orders_per_month": "Bestellungen/Monat",
"products_limit": "Produkte",
"team_members": "Teammitglieder"
},
"usage": {
"title": "Nutzung",
"orders": "Bestellungen",
"products": "Produkte",
"team": "Teammitglieder",
"used": "verwendet",
"remaining": "verbleibend",
"of": "von"
},
"invoices": {
"title": "Rechnungen",
"subtitle": "Rechnungshistorie und Rechnungen",
"invoice_number": "Rechnung Nr.",
"date": "Datum",
"due_date": "Fälligkeitsdatum",
"amount": "Betrag",
"status": "Status",
"download": "PDF herunterladen",
"view_online": "Online ansehen",
"statuses": {
"paid": "Bezahlt",
"open": "Offen",
"void": "Storniert",
"uncollectible": "Uneinbringlich",
"draft": "Entwurf"
"tiers": {
"title": "Abonnementstufen",
"subtitle": "Preisstufen und Funktionen verwalten",
"essential": "Essential",
"professional": "Professional",
"business": "Business",
"enterprise": "Enterprise",
"create": "Stufe erstellen",
"edit": "Stufe bearbeiten",
"features": "Funktionen",
"limits": "Limits",
"pricing": "Preisgestaltung",
"monthly": "Monatlich",
"annual": "Jährlich",
"per_month": "/Monat",
"per_year": "/Jahr",
"unlimited": "Unbegrenzt",
"orders_per_month": "Bestellungen/Monat",
"products_limit": "Produkte",
"team_members": "Teammitglieder"
},
"usage": {
"title": "Nutzung",
"orders": "Bestellungen",
"products": "Produkte",
"team": "Teammitglieder",
"used": "verwendet",
"remaining": "verbleibend",
"of": "von"
},
"invoices": {
"title": "Rechnungen",
"subtitle": "Rechnungshistorie und Rechnungen",
"invoice_number": "Rechnung Nr.",
"date": "Datum",
"due_date": "Fälligkeitsdatum",
"amount": "Betrag",
"status": "Status",
"download": "PDF herunterladen",
"view_online": "Online ansehen",
"statuses": {
"paid": "Bezahlt",
"open": "Offen",
"void": "Storniert",
"uncollectible": "Uneinbringlich",
"draft": "Entwurf"
}
},
"payment": {
"title": "Zahlung",
"method": "Zahlungsmethode",
"add_card": "Karte hinzufügen",
"update_card": "Karte aktualisieren",
"no_method": "Keine Zahlungsmethode hinterlegt",
"card_ending": "Karte endet auf",
"expires": "Gültig bis"
},
"upgrade": {
"title": "Upgrade",
"compare": "Pläne vergleichen",
"select": "Plan auswählen",
"current": "Aktueller Plan",
"recommended": "Empfohlen"
},
"messages": {
"subscription_updated": "Abonnement erfolgreich aktualisiert",
"tier_created": "Stufe erfolgreich erstellt",
"tier_updated": "Stufe erfolgreich aktualisiert",
"tier_deactivated": "Stufe deaktiviert",
"payment_method_updated": "Zahlungsmethode aktualisiert",
"subscription_cancelled": "Abonnement gekündigt",
"error_loading": "Fehler beim Laden der Abrechnungsinformationen",
"error_updating": "Fehler beim Aktualisieren des Abonnements",
"failed_to_load_billing_data": "Failed to load billing data",
"failed_to_create_checkout_session": "Failed to create checkout session",
"failed_to_open_payment_portal": "Failed to open payment portal",
"subscription_cancelled_you_have_access_u": "Subscription cancelled. You have access until the end of your billing period.",
"failed_to_cancel_subscription": "Failed to cancel subscription",
"subscription_reactivated": "Subscription reactivated!",
"failed_to_reactivate_subscription": "Failed to reactivate subscription",
"failed_to_purchase_addon": "Failed to purchase add-on",
"addon_cancelled_successfully": "Add-on cancelled successfully",
"failed_to_cancel_addon": "Failed to cancel add-on"
},
"limits": {
"orders_exceeded": "Monatliches Bestelllimit erreicht. Upgrade für mehr.",
"products_exceeded": "Produktlimit erreicht. Upgrade für mehr.",
"team_exceeded": "Teammitgliederlimit erreicht. Upgrade für mehr."
},
"features": {
"subscription_management": {
"name": "Abonnementverwaltung",
"description": "Abonnementstufen und Abrechnung verwalten"
},
"payment_processing": {
"name": "Zahlungsabwicklung",
"description": "Zahlungen über Stripe abwickeln"
},
"invoicing": {
"name": "Rechnungsstellung",
"description": "Rechnungen erstellen und verwalten"
},
"usage_tracking": {
"name": "Nutzungsverfolgung",
"description": "Funktionsnutzung gegen Stufenlimits verfolgen"
}
},
"menu": {
"billing_subscriptions": "Abrechnung & Abonnements",
"subscription_tiers": "Abo-Stufen",
"store_subscriptions": "Shop-Abonnements",
"billing_history": "Abrechnungsverlauf",
"sales_orders": "Verkäufe & Bestellungen",
"invoices": "Rechnungen",
"account_settings": "Kontoeinstellungen",
"billing": "Abrechnung"
}
},
"payment": {
"title": "Zahlung",
"method": "Zahlungsmethode",
"add_card": "Karte hinzufügen",
"update_card": "Karte aktualisieren",
"no_method": "Keine Zahlungsmethode hinterlegt",
"card_ending": "Karte endet auf",
"expires": "Gültig bis"
},
"upgrade": {
"title": "Upgrade",
"compare": "Pläne vergleichen",
"select": "Plan auswählen",
"current": "Aktueller Plan",
"recommended": "Empfohlen"
},
"messages": {
"subscription_updated": "Abonnement erfolgreich aktualisiert",
"tier_created": "Stufe erfolgreich erstellt",
"tier_updated": "Stufe erfolgreich aktualisiert",
"tier_deactivated": "Stufe deaktiviert",
"payment_method_updated": "Zahlungsmethode aktualisiert",
"subscription_cancelled": "Abonnement gekündigt",
"error_loading": "Fehler beim Laden der Abrechnungsinformationen",
"error_updating": "Fehler beim Aktualisieren des Abonnements",
"failed_to_load_billing_data": "Failed to load billing data",
"failed_to_create_checkout_session": "Failed to create checkout session",
"failed_to_open_payment_portal": "Failed to open payment portal",
"subscription_cancelled_you_have_access_u": "Subscription cancelled. You have access until the end of your billing period.",
"failed_to_cancel_subscription": "Failed to cancel subscription",
"subscription_reactivated": "Subscription reactivated!",
"failed_to_reactivate_subscription": "Failed to reactivate subscription",
"failed_to_purchase_addon": "Failed to purchase add-on",
"addon_cancelled_successfully": "Add-on cancelled successfully",
"failed_to_cancel_addon": "Failed to cancel add-on"
},
"limits": {
"orders_exceeded": "Monatliches Bestelllimit erreicht. Upgrade für mehr.",
"products_exceeded": "Produktlimit erreicht. Upgrade für mehr.",
"team_exceeded": "Teammitgliederlimit erreicht. Upgrade für mehr."
},
"features": {
"subscription_management": {
"name": "Abonnementverwaltung",
"description": "Abonnementstufen und Abrechnung verwalten"
},
"payment_processing": {
"name": "Zahlungsabwicklung",
"description": "Zahlungen über Stripe abwickeln"
},
"invoicing": {
"name": "Rechnungsstellung",
"description": "Rechnungen erstellen und verwalten"
},
"usage_tracking": {
"name": "Nutzungsverfolgung",
"description": "Funktionsnutzung gegen Stufenlimits verfolgen"
}
}
}

View File

@@ -1,127 +1,137 @@
{
"title": "Billing & Subscriptions",
"description": "Manage subscription tiers, billing history, and payments",
"subscription": {
"title": "Subscription",
"current_tier": "Current Tier",
"status": "Status",
"statuses": {
"trial": "Trial",
"active": "Active",
"past_due": "Past Due",
"cancelled": "Cancelled",
"expired": "Expired"
"title": "Billing & Subscriptions",
"description": "Manage subscription tiers, billing history, and payments",
"subscription": {
"title": "Subscription",
"current_tier": "Current Tier",
"status": "Status",
"statuses": {
"trial": "Trial",
"active": "Active",
"past_due": "Past Due",
"cancelled": "Cancelled",
"expired": "Expired"
},
"trial_ends": "Trial ends",
"period_ends": "Period ends",
"cancelled_at": "Cancelled on",
"cancellation_reason": "Cancellation reason"
},
"trial_ends": "Trial ends",
"period_ends": "Period ends",
"cancelled_at": "Cancelled on",
"cancellation_reason": "Cancellation reason"
},
"tiers": {
"title": "Subscription Tiers",
"subtitle": "Manage pricing tiers and features",
"essential": "Essential",
"professional": "Professional",
"business": "Business",
"enterprise": "Enterprise",
"create": "Create Tier",
"edit": "Edit Tier",
"features": "Features",
"limits": "Limits",
"pricing": "Pricing",
"monthly": "Monthly",
"annual": "Annual",
"per_month": "/month",
"per_year": "/year",
"unlimited": "Unlimited",
"orders_per_month": "Orders/month",
"products_limit": "Products",
"team_members": "Team members"
},
"usage": {
"title": "Usage",
"orders": "Orders",
"products": "Products",
"team": "Team Members",
"used": "used",
"remaining": "remaining",
"of": "of"
},
"invoices": {
"title": "Invoices",
"subtitle": "Billing history and invoices",
"invoice_number": "Invoice #",
"date": "Date",
"due_date": "Due Date",
"amount": "Amount",
"status": "Status",
"download": "Download PDF",
"view_online": "View Online",
"statuses": {
"paid": "Paid",
"open": "Open",
"void": "Void",
"uncollectible": "Uncollectible",
"draft": "Draft"
"tiers": {
"title": "Subscription Tiers",
"subtitle": "Manage pricing tiers and features",
"essential": "Essential",
"professional": "Professional",
"business": "Business",
"enterprise": "Enterprise",
"create": "Create Tier",
"edit": "Edit Tier",
"features": "Features",
"limits": "Limits",
"pricing": "Pricing",
"monthly": "Monthly",
"annual": "Annual",
"per_month": "/month",
"per_year": "/year",
"unlimited": "Unlimited",
"orders_per_month": "Orders/month",
"products_limit": "Products",
"team_members": "Team members"
},
"usage": {
"title": "Usage",
"orders": "Orders",
"products": "Products",
"team": "Team Members",
"used": "used",
"remaining": "remaining",
"of": "of"
},
"invoices": {
"title": "Invoices",
"subtitle": "Billing history and invoices",
"invoice_number": "Invoice #",
"date": "Date",
"due_date": "Due Date",
"amount": "Amount",
"status": "Status",
"download": "Download PDF",
"view_online": "View Online",
"statuses": {
"paid": "Paid",
"open": "Open",
"void": "Void",
"uncollectible": "Uncollectible",
"draft": "Draft"
}
},
"payment": {
"title": "Payment",
"method": "Payment Method",
"add_card": "Add Card",
"update_card": "Update Card",
"no_method": "No payment method on file",
"card_ending": "Card ending in",
"expires": "Expires"
},
"upgrade": {
"title": "Upgrade Plan",
"compare": "Compare Plans",
"select": "Select Plan",
"current": "Current Plan",
"recommended": "Recommended"
},
"messages": {
"subscription_updated": "Subscription updated successfully",
"tier_created": "Tier created successfully",
"tier_updated": "Tier updated successfully",
"tier_deactivated": "Tier deactivated",
"payment_method_updated": "Payment method updated",
"subscription_cancelled": "Subscription cancelled",
"error_loading": "Error loading billing information",
"error_updating": "Error updating subscription",
"failed_to_load_billing_data": "Failed to load billing data",
"failed_to_create_checkout_session": "Failed to create checkout session",
"failed_to_open_payment_portal": "Failed to open payment portal",
"subscription_cancelled_you_have_access_u": "Subscription cancelled. You have access until the end of your billing period.",
"failed_to_cancel_subscription": "Failed to cancel subscription",
"subscription_reactivated": "Subscription reactivated!",
"failed_to_reactivate_subscription": "Failed to reactivate subscription",
"failed_to_purchase_addon": "Failed to purchase add-on",
"addon_cancelled_successfully": "Add-on cancelled successfully",
"failed_to_cancel_addon": "Failed to cancel add-on"
},
"limits": {
"orders_exceeded": "Monthly order limit reached. Upgrade to continue.",
"products_exceeded": "Product limit reached. Upgrade to add more.",
"team_exceeded": "Team member limit reached. Upgrade to add more."
},
"features": {
"subscription_management": {
"name": "Subscription Management",
"description": "Manage subscription tiers and billing"
},
"payment_processing": {
"name": "Payment Processing",
"description": "Process payments via Stripe"
},
"invoicing": {
"name": "Invoicing",
"description": "Generate and manage invoices"
},
"usage_tracking": {
"name": "Usage Tracking",
"description": "Track feature usage against tier limits"
}
},
"menu": {
"billing_subscriptions": "Billing & Subscriptions",
"subscription_tiers": "Subscription Tiers",
"store_subscriptions": "Store Subscriptions",
"billing_history": "Billing History",
"sales_orders": "Sales & Orders",
"invoices": "Invoices",
"account_settings": "Account Settings",
"billing": "Billing"
}
},
"payment": {
"title": "Payment",
"method": "Payment Method",
"add_card": "Add Card",
"update_card": "Update Card",
"no_method": "No payment method on file",
"card_ending": "Card ending in",
"expires": "Expires"
},
"upgrade": {
"title": "Upgrade Plan",
"compare": "Compare Plans",
"select": "Select Plan",
"current": "Current Plan",
"recommended": "Recommended"
},
"messages": {
"subscription_updated": "Subscription updated successfully",
"tier_created": "Tier created successfully",
"tier_updated": "Tier updated successfully",
"tier_deactivated": "Tier deactivated",
"payment_method_updated": "Payment method updated",
"subscription_cancelled": "Subscription cancelled",
"error_loading": "Error loading billing information",
"error_updating": "Error updating subscription",
"failed_to_load_billing_data": "Failed to load billing data",
"failed_to_create_checkout_session": "Failed to create checkout session",
"failed_to_open_payment_portal": "Failed to open payment portal",
"subscription_cancelled_you_have_access_u": "Subscription cancelled. You have access until the end of your billing period.",
"failed_to_cancel_subscription": "Failed to cancel subscription",
"subscription_reactivated": "Subscription reactivated!",
"failed_to_reactivate_subscription": "Failed to reactivate subscription",
"failed_to_purchase_addon": "Failed to purchase add-on",
"addon_cancelled_successfully": "Add-on cancelled successfully",
"failed_to_cancel_addon": "Failed to cancel add-on"
},
"limits": {
"orders_exceeded": "Monthly order limit reached. Upgrade to continue.",
"products_exceeded": "Product limit reached. Upgrade to add more.",
"team_exceeded": "Team member limit reached. Upgrade to add more."
},
"features": {
"subscription_management": {
"name": "Subscription Management",
"description": "Manage subscription tiers and billing"
},
"payment_processing": {
"name": "Payment Processing",
"description": "Process payments via Stripe"
},
"invoicing": {
"name": "Invoicing",
"description": "Generate and manage invoices"
},
"usage_tracking": {
"name": "Usage Tracking",
"description": "Track feature usage against tier limits"
}
}
}

View File

@@ -1,127 +1,137 @@
{
"title": "Facturation & Abonnements",
"description": "Gérer les niveaux d'abonnement, l'historique de facturation et les paiements",
"subscription": {
"title": "Abonnement",
"current_tier": "Niveau actuel",
"status": "Statut",
"statuses": {
"trial": "Essai",
"active": "Actif",
"past_due": "En retard",
"cancelled": "Annulé",
"expired": "Expiré"
"title": "Facturation & Abonnements",
"description": "Gérer les niveaux d'abonnement, l'historique de facturation et les paiements",
"subscription": {
"title": "Abonnement",
"current_tier": "Niveau actuel",
"status": "Statut",
"statuses": {
"trial": "Essai",
"active": "Actif",
"past_due": "En retard",
"cancelled": "Annulé",
"expired": "Expiré"
},
"trial_ends": "Fin de l'essai",
"period_ends": "Fin de période",
"cancelled_at": "Annulé le",
"cancellation_reason": "Raison de l'annulation"
},
"trial_ends": "Fin de l'essai",
"period_ends": "Fin de période",
"cancelled_at": "Annulé le",
"cancellation_reason": "Raison de l'annulation"
},
"tiers": {
"title": "Niveaux d'abonnement",
"subtitle": "Gérer les tarifs et fonctionnalités",
"essential": "Essentiel",
"professional": "Professionnel",
"business": "Business",
"enterprise": "Enterprise",
"create": "Créer un niveau",
"edit": "Modifier le niveau",
"features": "Fonctionnalités",
"limits": "Limites",
"pricing": "Tarification",
"monthly": "Mensuel",
"annual": "Annuel",
"per_month": "/mois",
"per_year": "/an",
"unlimited": "Illimité",
"orders_per_month": "Commandes/mois",
"products_limit": "Produits",
"team_members": "Membres d'équipe"
},
"usage": {
"title": "Utilisation",
"orders": "Commandes",
"products": "Produits",
"team": "Membres d'équipe",
"used": "utilisé",
"remaining": "restant",
"of": "sur"
},
"invoices": {
"title": "Factures",
"subtitle": "Historique de facturation et factures",
"invoice_number": "Facture N°",
"date": "Date",
"due_date": "Date d'échéance",
"amount": "Montant",
"status": "Statut",
"download": "Télécharger PDF",
"view_online": "Voir en ligne",
"statuses": {
"paid": "Payée",
"open": "Ouverte",
"void": "Annulée",
"uncollectible": "Irrécouvrable",
"draft": "Brouillon"
"tiers": {
"title": "Niveaux d'abonnement",
"subtitle": "Gérer les tarifs et fonctionnalités",
"essential": "Essentiel",
"professional": "Professionnel",
"business": "Business",
"enterprise": "Enterprise",
"create": "Créer un niveau",
"edit": "Modifier le niveau",
"features": "Fonctionnalités",
"limits": "Limites",
"pricing": "Tarification",
"monthly": "Mensuel",
"annual": "Annuel",
"per_month": "/mois",
"per_year": "/an",
"unlimited": "Illimité",
"orders_per_month": "Commandes/mois",
"products_limit": "Produits",
"team_members": "Membres d'équipe"
},
"usage": {
"title": "Utilisation",
"orders": "Commandes",
"products": "Produits",
"team": "Membres d'équipe",
"used": "utilisé",
"remaining": "restant",
"of": "sur"
},
"invoices": {
"title": "Factures",
"subtitle": "Historique de facturation et factures",
"invoice_number": "Facture N°",
"date": "Date",
"due_date": "Date d'échéance",
"amount": "Montant",
"status": "Statut",
"download": "Télécharger PDF",
"view_online": "Voir en ligne",
"statuses": {
"paid": "Payée",
"open": "Ouverte",
"void": "Annulée",
"uncollectible": "Irrécouvrable",
"draft": "Brouillon"
}
},
"payment": {
"title": "Paiement",
"method": "Moyen de paiement",
"add_card": "Ajouter une carte",
"update_card": "Modifier la carte",
"no_method": "Aucun moyen de paiement enregistré",
"card_ending": "Carte se terminant par",
"expires": "Expire"
},
"upgrade": {
"title": "Mettre à niveau",
"compare": "Comparer les plans",
"select": "Sélectionner le plan",
"current": "Plan actuel",
"recommended": "Recommandé"
},
"messages": {
"subscription_updated": "Abonnement mis à jour avec succès",
"tier_created": "Niveau créé avec succès",
"tier_updated": "Niveau mis à jour avec succès",
"tier_deactivated": "Niveau désactivé",
"payment_method_updated": "Moyen de paiement mis à jour",
"subscription_cancelled": "Abonnement annulé",
"error_loading": "Erreur lors du chargement des informations de facturation",
"error_updating": "Erreur lors de la mise à jour de l'abonnement",
"failed_to_load_billing_data": "Failed to load billing data",
"failed_to_create_checkout_session": "Failed to create checkout session",
"failed_to_open_payment_portal": "Failed to open payment portal",
"subscription_cancelled_you_have_access_u": "Subscription cancelled. You have access until the end of your billing period.",
"failed_to_cancel_subscription": "Failed to cancel subscription",
"subscription_reactivated": "Subscription reactivated!",
"failed_to_reactivate_subscription": "Failed to reactivate subscription",
"failed_to_purchase_addon": "Failed to purchase add-on",
"addon_cancelled_successfully": "Add-on cancelled successfully",
"failed_to_cancel_addon": "Failed to cancel add-on"
},
"limits": {
"orders_exceeded": "Limite mensuelle de commandes atteinte. Passez à un niveau supérieur.",
"products_exceeded": "Limite de produits atteinte. Passez à un niveau supérieur.",
"team_exceeded": "Limite de membres d'équipe atteinte. Passez à un niveau supérieur."
},
"features": {
"subscription_management": {
"name": "Gestion des abonnements",
"description": "Gérer les niveaux d'abonnement et la facturation"
},
"payment_processing": {
"name": "Traitement des paiements",
"description": "Traiter les paiements via Stripe"
},
"invoicing": {
"name": "Facturation",
"description": "Générer et gérer les factures"
},
"usage_tracking": {
"name": "Suivi d'utilisation",
"description": "Suivre l'utilisation des fonctionnalités par rapport aux limites du niveau"
}
},
"menu": {
"billing_subscriptions": "Facturation et Abonnements",
"subscription_tiers": "Niveaux d'abonnement",
"store_subscriptions": "Abonnements des magasins",
"billing_history": "Historique de facturation",
"sales_orders": "Ventes et Commandes",
"invoices": "Factures",
"account_settings": "Paramètres du compte",
"billing": "Facturation"
}
},
"payment": {
"title": "Paiement",
"method": "Moyen de paiement",
"add_card": "Ajouter une carte",
"update_card": "Modifier la carte",
"no_method": "Aucun moyen de paiement enregistré",
"card_ending": "Carte se terminant par",
"expires": "Expire"
},
"upgrade": {
"title": "Mettre à niveau",
"compare": "Comparer les plans",
"select": "Sélectionner le plan",
"current": "Plan actuel",
"recommended": "Recommandé"
},
"messages": {
"subscription_updated": "Abonnement mis à jour avec succès",
"tier_created": "Niveau créé avec succès",
"tier_updated": "Niveau mis à jour avec succès",
"tier_deactivated": "Niveau désactivé",
"payment_method_updated": "Moyen de paiement mis à jour",
"subscription_cancelled": "Abonnement annulé",
"error_loading": "Erreur lors du chargement des informations de facturation",
"error_updating": "Erreur lors de la mise à jour de l'abonnement",
"failed_to_load_billing_data": "Failed to load billing data",
"failed_to_create_checkout_session": "Failed to create checkout session",
"failed_to_open_payment_portal": "Failed to open payment portal",
"subscription_cancelled_you_have_access_u": "Subscription cancelled. You have access until the end of your billing period.",
"failed_to_cancel_subscription": "Failed to cancel subscription",
"subscription_reactivated": "Subscription reactivated!",
"failed_to_reactivate_subscription": "Failed to reactivate subscription",
"failed_to_purchase_addon": "Failed to purchase add-on",
"addon_cancelled_successfully": "Add-on cancelled successfully",
"failed_to_cancel_addon": "Failed to cancel add-on"
},
"limits": {
"orders_exceeded": "Limite mensuelle de commandes atteinte. Passez à un niveau supérieur.",
"products_exceeded": "Limite de produits atteinte. Passez à un niveau supérieur.",
"team_exceeded": "Limite de membres d'équipe atteinte. Passez à un niveau supérieur."
},
"features": {
"subscription_management": {
"name": "Gestion des abonnements",
"description": "Gérer les niveaux d'abonnement et la facturation"
},
"payment_processing": {
"name": "Traitement des paiements",
"description": "Traiter les paiements via Stripe"
},
"invoicing": {
"name": "Facturation",
"description": "Générer et gérer les factures"
},
"usage_tracking": {
"name": "Suivi d'utilisation",
"description": "Suivre l'utilisation des fonctionnalités par rapport aux limites du niveau"
}
}
}

View File

@@ -1,127 +1,137 @@
{
"title": "Rechnung & Abonnementer",
"description": "Abonnementstufe, Rechnungshistorik an Zuelungen verwalten",
"subscription": {
"title": "Abonnement",
"current_tier": "Aktuell Stuf",
"status": "Status",
"statuses": {
"trial": "Testphas",
"active": "Aktiv",
"past_due": "Iwwerfälleg",
"cancelled": "Gekënnegt",
"expired": "Ofgelaf"
"title": "Rechnung & Abonnementer",
"description": "Abonnementstufe, Rechnungshistorik an Zuelungen verwalten",
"subscription": {
"title": "Abonnement",
"current_tier": "Aktuell Stuf",
"status": "Status",
"statuses": {
"trial": "Testphas",
"active": "Aktiv",
"past_due": "Iwwerfälleg",
"cancelled": "Gekënnegt",
"expired": "Ofgelaf"
},
"trial_ends": "Testphas endet",
"period_ends": "Period endet",
"cancelled_at": "Gekënnegt den",
"cancellation_reason": "Kënnegungsgrond"
},
"trial_ends": "Testphas endet",
"period_ends": "Period endet",
"cancelled_at": "Gekënnegt den",
"cancellation_reason": "Kënnegungsgrond"
},
"tiers": {
"title": "Abonnementstufen",
"subtitle": "Präisstufen a Funktiounen verwalten",
"essential": "Essential",
"professional": "Professional",
"business": "Business",
"enterprise": "Enterprise",
"create": "Stuf erstellen",
"edit": "Stuf beaarbechten",
"features": "Funktiounen",
"limits": "Limiten",
"pricing": "Präisgestaltung",
"monthly": "Monatlech",
"annual": "Jäerlech",
"per_month": "/Mount",
"per_year": "/Joer",
"unlimited": "Onbegrenzt",
"orders_per_month": "Bestellungen/Mount",
"products_limit": "Produkter",
"team_members": "Teammemberen"
},
"usage": {
"title": "Notzung",
"orders": "Bestellungen",
"products": "Produkter",
"team": "Teammemberen",
"used": "benotzt",
"remaining": "iwwreg",
"of": "vun"
},
"invoices": {
"title": "Rechnungen",
"subtitle": "Rechnungshistorik a Rechnungen",
"invoice_number": "Rechnung Nr.",
"date": "Datum",
"due_date": "Fällegkeetsdatum",
"amount": "Betrag",
"status": "Status",
"download": "PDF eroflueden",
"view_online": "Online kucken",
"statuses": {
"paid": "Bezuelt",
"open": "Oppen",
"void": "Stornéiert",
"uncollectible": "Onabtreidbar",
"draft": "Entworf"
"tiers": {
"title": "Abonnementstufen",
"subtitle": "Präisstufen a Funktiounen verwalten",
"essential": "Essential",
"professional": "Professional",
"business": "Business",
"enterprise": "Enterprise",
"create": "Stuf erstellen",
"edit": "Stuf beaarbechten",
"features": "Funktiounen",
"limits": "Limiten",
"pricing": "Präisgestaltung",
"monthly": "Monatlech",
"annual": "Jäerlech",
"per_month": "/Mount",
"per_year": "/Joer",
"unlimited": "Onbegrenzt",
"orders_per_month": "Bestellungen/Mount",
"products_limit": "Produkter",
"team_members": "Teammemberen"
},
"usage": {
"title": "Notzung",
"orders": "Bestellungen",
"products": "Produkter",
"team": "Teammemberen",
"used": "benotzt",
"remaining": "iwwreg",
"of": "vun"
},
"invoices": {
"title": "Rechnungen",
"subtitle": "Rechnungshistorik a Rechnungen",
"invoice_number": "Rechnung Nr.",
"date": "Datum",
"due_date": "Fällegkeetsdatum",
"amount": "Betrag",
"status": "Status",
"download": "PDF eroflueden",
"view_online": "Online kucken",
"statuses": {
"paid": "Bezuelt",
"open": "Oppen",
"void": "Stornéiert",
"uncollectible": "Onabtreidbar",
"draft": "Entworf"
}
},
"payment": {
"title": "Zuelung",
"method": "Zuelungsmethod",
"add_card": "Kaart dobäisetzen",
"update_card": "Kaart aktualiséieren",
"no_method": "Keng Zuelungsmethod hannerlued",
"card_ending": "Kaart endet op",
"expires": "Gëlteg bis"
},
"upgrade": {
"title": "Upgrade",
"compare": "Pläng vergläichen",
"select": "Plang auswielen",
"current": "Aktuellen Plang",
"recommended": "Recommandéiert"
},
"messages": {
"subscription_updated": "Abonnement erfollegräich aktualiséiert",
"tier_created": "Stuf erfollegräich erstallt",
"tier_updated": "Stuf erfollegräich aktualiséiert",
"tier_deactivated": "Stuf deaktivéiert",
"payment_method_updated": "Zuelungsmethod aktualiséiert",
"subscription_cancelled": "Abonnement gekënnegt",
"error_loading": "Feeler beim Lueden vun de Rechnungsinformatiounen",
"error_updating": "Feeler beim Aktualiséieren vum Abonnement",
"failed_to_load_billing_data": "Failed to load billing data",
"failed_to_create_checkout_session": "Failed to create checkout session",
"failed_to_open_payment_portal": "Failed to open payment portal",
"subscription_cancelled_you_have_access_u": "Subscription cancelled. You have access until the end of your billing period.",
"failed_to_cancel_subscription": "Failed to cancel subscription",
"subscription_reactivated": "Subscription reactivated!",
"failed_to_reactivate_subscription": "Failed to reactivate subscription",
"failed_to_purchase_addon": "Failed to purchase add-on",
"addon_cancelled_successfully": "Add-on cancelled successfully",
"failed_to_cancel_addon": "Failed to cancel add-on"
},
"limits": {
"orders_exceeded": "Monatlech Bestellungslimit erreecht. Upgrade fir méi.",
"products_exceeded": "Produktlimit erreecht. Upgrade fir méi.",
"team_exceeded": "Teammemberlimit erreecht. Upgrade fir méi."
},
"features": {
"subscription_management": {
"name": "Abonnementverwaltung",
"description": "Abonnementstufen an Ofrechnung verwalten"
},
"payment_processing": {
"name": "Zuelungsofwécklung",
"description": "Zuelungen iwwer Stripe ofwéckelen"
},
"invoicing": {
"name": "Rechnungsstellung",
"description": "Rechnungen erstellen an verwalten"
},
"usage_tracking": {
"name": "Notzungsverfolgung",
"description": "Funktiounsnotzung géint Stuflimiten verfolgen"
}
},
"menu": {
"billing_subscriptions": "Ofrechnung & Abonnementer",
"subscription_tiers": "Abo-Stufen",
"store_subscriptions": "Buttek-Abonnementer",
"billing_history": "Ofrechnungsverlaf",
"sales_orders": "Verkaf & Bestellungen",
"invoices": "Rechnungen",
"account_settings": "Kont-Astellungen",
"billing": "Ofrechnung"
}
},
"payment": {
"title": "Zuelung",
"method": "Zuelungsmethod",
"add_card": "Kaart dobäisetzen",
"update_card": "Kaart aktualiséieren",
"no_method": "Keng Zuelungsmethod hannerlued",
"card_ending": "Kaart endet op",
"expires": "Gëlteg bis"
},
"upgrade": {
"title": "Upgrade",
"compare": "Pläng vergläichen",
"select": "Plang auswielen",
"current": "Aktuellen Plang",
"recommended": "Recommandéiert"
},
"messages": {
"subscription_updated": "Abonnement erfollegräich aktualiséiert",
"tier_created": "Stuf erfollegräich erstallt",
"tier_updated": "Stuf erfollegräich aktualiséiert",
"tier_deactivated": "Stuf deaktivéiert",
"payment_method_updated": "Zuelungsmethod aktualiséiert",
"subscription_cancelled": "Abonnement gekënnegt",
"error_loading": "Feeler beim Lueden vun de Rechnungsinformatiounen",
"error_updating": "Feeler beim Aktualiséieren vum Abonnement",
"failed_to_load_billing_data": "Failed to load billing data",
"failed_to_create_checkout_session": "Failed to create checkout session",
"failed_to_open_payment_portal": "Failed to open payment portal",
"subscription_cancelled_you_have_access_u": "Subscription cancelled. You have access until the end of your billing period.",
"failed_to_cancel_subscription": "Failed to cancel subscription",
"subscription_reactivated": "Subscription reactivated!",
"failed_to_reactivate_subscription": "Failed to reactivate subscription",
"failed_to_purchase_addon": "Failed to purchase add-on",
"addon_cancelled_successfully": "Add-on cancelled successfully",
"failed_to_cancel_addon": "Failed to cancel add-on"
},
"limits": {
"orders_exceeded": "Monatlech Bestellungslimit erreecht. Upgrade fir méi.",
"products_exceeded": "Produktlimit erreecht. Upgrade fir méi.",
"team_exceeded": "Teammemberlimit erreecht. Upgrade fir méi."
},
"features": {
"subscription_management": {
"name": "Abonnementverwaltung",
"description": "Abonnementstufen an Ofrechnung verwalten"
},
"payment_processing": {
"name": "Zuelungsofwécklung",
"description": "Zuelungen iwwer Stripe ofwéckelen"
},
"invoicing": {
"name": "Rechnungsstellung",
"description": "Rechnungen erstellen an verwalten"
},
"usage_tracking": {
"name": "Notzungsverfolgung",
"description": "Funktiounsnotzung géint Stuflimiten verfolgen"
}
}
}

View File

@@ -1,75 +1,79 @@
{
"products": {
"title": "Produkte",
"product": "Produkt",
"add_product": "Produkt hinzufügen",
"edit_product": "Produkt bearbeiten",
"delete_product": "Produkt löschen",
"product_name": "Produktname",
"product_code": "Produktcode",
"sku": "SKU",
"price": "Preis",
"sale_price": "Verkaufspreis",
"cost": "Kosten",
"stock": "Lagerbestand",
"in_stock": "Auf Lager",
"out_of_stock": "Nicht auf Lager",
"low_stock": "Geringer Bestand",
"availability": "Verfügbarkeit",
"available": "Verfügbar",
"unavailable": "Nicht verfügbar",
"brand": "Marke",
"category": "Kategorie",
"categories": "Kategorien",
"image": "Bild",
"images": "Bilder",
"main_image": "Hauptbild",
"gallery": "Galerie",
"weight": "Gewicht",
"dimensions": "Abmessungen",
"color": "Farbe",
"size": "Größe",
"material": "Material",
"condition": "Zustand",
"new": "Neu",
"used": "Gebraucht",
"refurbished": "Generalüberholt",
"no_products": "Keine Produkte gefunden",
"search_products": "Produkte suchen...",
"filter_by_category": "Nach Kategorie filtern",
"filter_by_status": "Nach Status filtern",
"sort_by": "Sortieren nach",
"sort_newest": "Neueste",
"sort_oldest": "Älteste",
"sort_price_low": "Preis: Niedrig bis Hoch",
"sort_price_high": "Preis: Hoch bis Niedrig",
"sort_name_az": "Name: A-Z",
"sort_name_za": "Name: Z-A"
},
"messages": {
"product_deleted_successfully": "Product deleted successfully",
"please_fill_in_all_required_fields": "Please fill in all required fields",
"product_updated_successfully": "Product updated successfully",
"failed_to_load_media_library": "Failed to load media library",
"no_store_associated_with_this_product": "No store associated with this product",
"please_select_an_image_file": "Please select an image file",
"image_must_be_less_than_10mb": "Image must be less than 10MB",
"image_uploaded_successfully": "Image uploaded successfully",
"product_removed_from_store_catalog": "Product removed from store catalog.",
"please_select_a_store": "Please select a store",
"please_enter_a_product_title_english": "Please enter a product title (English)",
"product_created_successfully": "Product created successfully",
"please_select_a_store_first": "Please select a store first"
},
"features": {
"products_limit": {
"name": "Produkte",
"description": "Maximale Anzahl an Produkten im Katalog",
"unit": "Produkte"
"products": {
"title": "Produkte",
"product": "Produkt",
"add_product": "Produkt hinzufügen",
"edit_product": "Produkt bearbeiten",
"delete_product": "Produkt löschen",
"product_name": "Produktname",
"product_code": "Produktcode",
"sku": "SKU",
"price": "Preis",
"sale_price": "Verkaufspreis",
"cost": "Kosten",
"stock": "Lagerbestand",
"in_stock": "Auf Lager",
"out_of_stock": "Nicht auf Lager",
"low_stock": "Geringer Bestand",
"availability": "Verfügbarkeit",
"available": "Verfügbar",
"unavailable": "Nicht verfügbar",
"brand": "Marke",
"category": "Kategorie",
"categories": "Kategorien",
"image": "Bild",
"images": "Bilder",
"main_image": "Hauptbild",
"gallery": "Galerie",
"weight": "Gewicht",
"dimensions": "Abmessungen",
"color": "Farbe",
"size": "Größe",
"material": "Material",
"condition": "Zustand",
"new": "Neu",
"used": "Gebraucht",
"refurbished": "Generalüberholt",
"no_products": "Keine Produkte gefunden",
"search_products": "Produkte suchen...",
"filter_by_category": "Nach Kategorie filtern",
"filter_by_status": "Nach Status filtern",
"sort_by": "Sortieren nach",
"sort_newest": "Neueste",
"sort_oldest": "Älteste",
"sort_price_low": "Preis: Niedrig bis Hoch",
"sort_price_high": "Preis: Hoch bis Niedrig",
"sort_name_az": "Name: A-Z",
"sort_name_za": "Name: Z-A"
},
"product_import_export": {
"name": "Import/Export",
"description": "Massenimport und -export von Produkten"
"messages": {
"product_deleted_successfully": "Product deleted successfully",
"please_fill_in_all_required_fields": "Please fill in all required fields",
"product_updated_successfully": "Product updated successfully",
"failed_to_load_media_library": "Failed to load media library",
"no_store_associated_with_this_product": "No store associated with this product",
"please_select_an_image_file": "Please select an image file",
"image_must_be_less_than_10mb": "Image must be less than 10MB",
"image_uploaded_successfully": "Image uploaded successfully",
"product_removed_from_store_catalog": "Product removed from store catalog.",
"please_select_a_store": "Please select a store",
"please_enter_a_product_title_english": "Please enter a product title (English)",
"product_created_successfully": "Product created successfully",
"please_select_a_store_first": "Please select a store first"
},
"features": {
"products_limit": {
"name": "Produkte",
"description": "Maximale Anzahl an Produkten im Katalog",
"unit": "Produkte"
},
"product_import_export": {
"name": "Import/Export",
"description": "Massenimport und -export von Produkten"
}
},
"menu": {
"products_inventory": "Produkte & Inventar",
"all_products": "Alle Produkte"
}
}
}

View File

@@ -1,93 +1,97 @@
{
"products": {
"title": "Products",
"product": "Product",
"add_product": "Add Product",
"edit_product": "Edit Product",
"delete_product": "Delete Product",
"product_name": "Product Name",
"product_code": "Product Code",
"sku": "SKU",
"price": "Price",
"sale_price": "Sale Price",
"cost": "Cost",
"stock": "Stock",
"in_stock": "In Stock",
"out_of_stock": "Out of Stock",
"low_stock": "Low Stock",
"availability": "Availability",
"available": "Available",
"unavailable": "Unavailable",
"brand": "Brand",
"category": "Category",
"categories": "Categories",
"image": "Image",
"images": "Images",
"main_image": "Main Image",
"gallery": "Gallery",
"weight": "Weight",
"dimensions": "Dimensions",
"color": "Color",
"size": "Size",
"material": "Material",
"condition": "Condition",
"new": "New",
"used": "Used",
"refurbished": "Refurbished",
"no_products": "No products found",
"search_products": "Search products...",
"filter_by_category": "Filter by category",
"filter_by_status": "Filter by status",
"sort_by": "Sort by",
"sort_newest": "Newest",
"sort_oldest": "Oldest",
"sort_price_low": "Price: Low to High",
"sort_price_high": "Price: High to Low",
"sort_name_az": "Name: A-Z",
"sort_name_za": "Name: Z-A"
},
"messages": {
"product_deleted_successfully": "Product deleted successfully",
"product_created_successfully": "Product created successfully",
"product_updated_successfully": "Product updated successfully",
"product_activated": "Product activated",
"product_deactivated": "Product deactivated",
"product_marked_as_featured": "Product marked as featured",
"product_unmarked_as_featured": "Product unmarked as featured",
"products_activated": "{count} product(s) activated",
"products_deactivated": "{count} product(s) deactivated",
"products_marked_as_featured": "{count} product(s) marked as featured",
"products_unmarked_as_featured": "{count} product(s) unmarked as featured",
"products_deleted": "{count} product(s) deleted",
"failed_to_save_product": "Failed to save product",
"failed_to_create_product": "Failed to create product",
"failed_to_update_product": "Failed to update product",
"failed_to_delete_product": "Failed to delete product",
"failed_to_load_products": "Failed to load products",
"failed_to_activate_products": "Failed to activate products",
"failed_to_deactivate_products": "Failed to deactivate products",
"failed_to_upload_image": "Failed to upload image",
"product_removed_from_store_catalog": "Product removed from store catalog.",
"please_fill_in_all_required_fields": "Please fill in all required fields",
"failed_to_load_media_library": "Failed to load media library",
"no_store_associated_with_this_product": "No store associated with this product",
"please_select_an_image_file": "Please select an image file",
"image_must_be_less_than_10mb": "Image must be less than 10MB",
"image_uploaded_successfully": "Image uploaded successfully",
"please_select_a_store": "Please select a store",
"please_enter_a_product_title_english": "Please enter a product title (English)",
"please_select_a_store_first": "Please select a store first",
"title_and_price_required": "Title and price are required"
},
"features": {
"products_limit": {
"name": "Products",
"description": "Maximum number of products in catalog",
"unit": "products"
"products": {
"title": "Products",
"product": "Product",
"add_product": "Add Product",
"edit_product": "Edit Product",
"delete_product": "Delete Product",
"product_name": "Product Name",
"product_code": "Product Code",
"sku": "SKU",
"price": "Price",
"sale_price": "Sale Price",
"cost": "Cost",
"stock": "Stock",
"in_stock": "In Stock",
"out_of_stock": "Out of Stock",
"low_stock": "Low Stock",
"availability": "Availability",
"available": "Available",
"unavailable": "Unavailable",
"brand": "Brand",
"category": "Category",
"categories": "Categories",
"image": "Image",
"images": "Images",
"main_image": "Main Image",
"gallery": "Gallery",
"weight": "Weight",
"dimensions": "Dimensions",
"color": "Color",
"size": "Size",
"material": "Material",
"condition": "Condition",
"new": "New",
"used": "Used",
"refurbished": "Refurbished",
"no_products": "No products found",
"search_products": "Search products...",
"filter_by_category": "Filter by category",
"filter_by_status": "Filter by status",
"sort_by": "Sort by",
"sort_newest": "Newest",
"sort_oldest": "Oldest",
"sort_price_low": "Price: Low to High",
"sort_price_high": "Price: High to Low",
"sort_name_az": "Name: A-Z",
"sort_name_za": "Name: Z-A"
},
"product_import_export": {
"name": "Import/Export",
"description": "Bulk product import and export functionality"
"messages": {
"product_deleted_successfully": "Product deleted successfully",
"product_created_successfully": "Product created successfully",
"product_updated_successfully": "Product updated successfully",
"product_activated": "Product activated",
"product_deactivated": "Product deactivated",
"product_marked_as_featured": "Product marked as featured",
"product_unmarked_as_featured": "Product unmarked as featured",
"products_activated": "{count} product(s) activated",
"products_deactivated": "{count} product(s) deactivated",
"products_marked_as_featured": "{count} product(s) marked as featured",
"products_unmarked_as_featured": "{count} product(s) unmarked as featured",
"products_deleted": "{count} product(s) deleted",
"failed_to_save_product": "Failed to save product",
"failed_to_create_product": "Failed to create product",
"failed_to_update_product": "Failed to update product",
"failed_to_delete_product": "Failed to delete product",
"failed_to_load_products": "Failed to load products",
"failed_to_activate_products": "Failed to activate products",
"failed_to_deactivate_products": "Failed to deactivate products",
"failed_to_upload_image": "Failed to upload image",
"product_removed_from_store_catalog": "Product removed from store catalog.",
"please_fill_in_all_required_fields": "Please fill in all required fields",
"failed_to_load_media_library": "Failed to load media library",
"no_store_associated_with_this_product": "No store associated with this product",
"please_select_an_image_file": "Please select an image file",
"image_must_be_less_than_10mb": "Image must be less than 10MB",
"image_uploaded_successfully": "Image uploaded successfully",
"please_select_a_store": "Please select a store",
"please_enter_a_product_title_english": "Please enter a product title (English)",
"please_select_a_store_first": "Please select a store first",
"title_and_price_required": "Title and price are required"
},
"features": {
"products_limit": {
"name": "Products",
"description": "Maximum number of products in catalog",
"unit": "products"
},
"product_import_export": {
"name": "Import/Export",
"description": "Bulk product import and export functionality"
}
},
"menu": {
"products_inventory": "Products & Inventory",
"all_products": "All Products"
}
}
}

View File

@@ -1,75 +1,79 @@
{
"products": {
"title": "Produits",
"product": "Produit",
"add_product": "Ajouter un produit",
"edit_product": "Modifier le produit",
"delete_product": "Supprimer le produit",
"product_name": "Nom du produit",
"product_code": "Code produit",
"sku": "SKU",
"price": "Prix",
"sale_price": "Prix de vente",
"cost": "Coût",
"stock": "Stock",
"in_stock": "En stock",
"out_of_stock": "Rupture de stock",
"low_stock": "Stock faible",
"availability": "Disponibilité",
"available": "Disponible",
"unavailable": "Indisponible",
"brand": "Marque",
"category": "Catégorie",
"categories": "Catégories",
"image": "Image",
"images": "Images",
"main_image": "Image principale",
"gallery": "Galerie",
"weight": "Poids",
"dimensions": "Dimensions",
"color": "Couleur",
"size": "Taille",
"material": "Matériau",
"condition": "État",
"new": "Neuf",
"used": "Occasion",
"refurbished": "Reconditionné",
"no_products": "Aucun produit trouvé",
"search_products": "Rechercher des produits...",
"filter_by_category": "Filtrer par catégorie",
"filter_by_status": "Filtrer par statut",
"sort_by": "Trier par",
"sort_newest": "Plus récent",
"sort_oldest": "Plus ancien",
"sort_price_low": "Prix : croissant",
"sort_price_high": "Prix : décroissant",
"sort_name_az": "Nom : A-Z",
"sort_name_za": "Nom : Z-A"
},
"messages": {
"product_deleted_successfully": "Product deleted successfully",
"please_fill_in_all_required_fields": "Please fill in all required fields",
"product_updated_successfully": "Product updated successfully",
"failed_to_load_media_library": "Failed to load media library",
"no_store_associated_with_this_product": "No store associated with this product",
"please_select_an_image_file": "Please select an image file",
"image_must_be_less_than_10mb": "Image must be less than 10MB",
"image_uploaded_successfully": "Image uploaded successfully",
"product_removed_from_store_catalog": "Product removed from store catalog.",
"please_select_a_store": "Please select a store",
"please_enter_a_product_title_english": "Please enter a product title (English)",
"product_created_successfully": "Product created successfully",
"please_select_a_store_first": "Please select a store first"
},
"features": {
"products_limit": {
"name": "Produits",
"description": "Nombre maximum de produits dans le catalogue",
"unit": "produits"
"products": {
"title": "Produits",
"product": "Produit",
"add_product": "Ajouter un produit",
"edit_product": "Modifier le produit",
"delete_product": "Supprimer le produit",
"product_name": "Nom du produit",
"product_code": "Code produit",
"sku": "SKU",
"price": "Prix",
"sale_price": "Prix de vente",
"cost": "Coût",
"stock": "Stock",
"in_stock": "En stock",
"out_of_stock": "Rupture de stock",
"low_stock": "Stock faible",
"availability": "Disponibilité",
"available": "Disponible",
"unavailable": "Indisponible",
"brand": "Marque",
"category": "Catégorie",
"categories": "Catégories",
"image": "Image",
"images": "Images",
"main_image": "Image principale",
"gallery": "Galerie",
"weight": "Poids",
"dimensions": "Dimensions",
"color": "Couleur",
"size": "Taille",
"material": "Matériau",
"condition": "État",
"new": "Neuf",
"used": "Occasion",
"refurbished": "Reconditionné",
"no_products": "Aucun produit trouvé",
"search_products": "Rechercher des produits...",
"filter_by_category": "Filtrer par catégorie",
"filter_by_status": "Filtrer par statut",
"sort_by": "Trier par",
"sort_newest": "Plus récent",
"sort_oldest": "Plus ancien",
"sort_price_low": "Prix : croissant",
"sort_price_high": "Prix : décroissant",
"sort_name_az": "Nom : A-Z",
"sort_name_za": "Nom : Z-A"
},
"product_import_export": {
"name": "Import/Export",
"description": "Import et export en masse de produits"
"messages": {
"product_deleted_successfully": "Product deleted successfully",
"please_fill_in_all_required_fields": "Please fill in all required fields",
"product_updated_successfully": "Product updated successfully",
"failed_to_load_media_library": "Failed to load media library",
"no_store_associated_with_this_product": "No store associated with this product",
"please_select_an_image_file": "Please select an image file",
"image_must_be_less_than_10mb": "Image must be less than 10MB",
"image_uploaded_successfully": "Image uploaded successfully",
"product_removed_from_store_catalog": "Product removed from store catalog.",
"please_select_a_store": "Please select a store",
"please_enter_a_product_title_english": "Please enter a product title (English)",
"product_created_successfully": "Product created successfully",
"please_select_a_store_first": "Please select a store first"
},
"features": {
"products_limit": {
"name": "Produits",
"description": "Nombre maximum de produits dans le catalogue",
"unit": "produits"
},
"product_import_export": {
"name": "Import/Export",
"description": "Import et export en masse de produits"
}
},
"menu": {
"products_inventory": "Produits et Inventaire",
"all_products": "Tous les produits"
}
}
}

View File

@@ -1,75 +1,79 @@
{
"products": {
"title": "Produkter",
"product": "Produkt",
"add_product": "Produkt derbäisetzen",
"edit_product": "Produkt änneren",
"delete_product": "Produkt läschen",
"product_name": "Produktnumm",
"product_code": "Produktcode",
"sku": "SKU",
"price": "Präis",
"sale_price": "Verkafspräis",
"cost": "Käschten",
"stock": "Lager",
"in_stock": "Op Lager",
"out_of_stock": "Net op Lager",
"low_stock": "Niddregen Stock",
"availability": "Disponibilitéit",
"available": "Disponibel",
"unavailable": "Net disponibel",
"brand": "Mark",
"category": "Kategorie",
"categories": "Kategorien",
"image": "Bild",
"images": "Biller",
"main_image": "Haaptbild",
"gallery": "Galerie",
"weight": "Gewiicht",
"dimensions": "Dimensiounen",
"color": "Faarf",
"size": "Gréisst",
"material": "Material",
"condition": "Zoustand",
"new": "Nei",
"used": "Gebraucht",
"refurbished": "Iwwerholl",
"no_products": "Keng Produkter fonnt",
"search_products": "Produkter sichen...",
"filter_by_category": "No Kategorie filteren",
"filter_by_status": "No Status filteren",
"sort_by": "Sortéieren no",
"sort_newest": "Neisten",
"sort_oldest": "Eelsten",
"sort_price_low": "Präis: Niddreg op Héich",
"sort_price_high": "Präis: Héich op Niddreg",
"sort_name_az": "Numm: A-Z",
"sort_name_za": "Numm: Z-A"
},
"messages": {
"product_deleted_successfully": "Product deleted successfully",
"please_fill_in_all_required_fields": "Please fill in all required fields",
"product_updated_successfully": "Product updated successfully",
"failed_to_load_media_library": "Failed to load media library",
"no_store_associated_with_this_product": "No store associated with this product",
"please_select_an_image_file": "Please select an image file",
"image_must_be_less_than_10mb": "Image must be less than 10MB",
"image_uploaded_successfully": "Image uploaded successfully",
"product_removed_from_store_catalog": "Product removed from store catalog.",
"please_select_a_store": "Please select a store",
"please_enter_a_product_title_english": "Please enter a product title (English)",
"product_created_successfully": "Product created successfully",
"please_select_a_store_first": "Please select a store first"
},
"features": {
"products_limit": {
"name": "Produkter",
"description": "Maximal Unzuel vu Produkter am Katalog",
"unit": "Produkter"
"products": {
"title": "Produkter",
"product": "Produkt",
"add_product": "Produkt derbäisetzen",
"edit_product": "Produkt änneren",
"delete_product": "Produkt läschen",
"product_name": "Produktnumm",
"product_code": "Produktcode",
"sku": "SKU",
"price": "Präis",
"sale_price": "Verkafspräis",
"cost": "Käschten",
"stock": "Lager",
"in_stock": "Op Lager",
"out_of_stock": "Net op Lager",
"low_stock": "Niddregen Stock",
"availability": "Disponibilitéit",
"available": "Disponibel",
"unavailable": "Net disponibel",
"brand": "Mark",
"category": "Kategorie",
"categories": "Kategorien",
"image": "Bild",
"images": "Biller",
"main_image": "Haaptbild",
"gallery": "Galerie",
"weight": "Gewiicht",
"dimensions": "Dimensiounen",
"color": "Faarf",
"size": "Gréisst",
"material": "Material",
"condition": "Zoustand",
"new": "Nei",
"used": "Gebraucht",
"refurbished": "Iwwerholl",
"no_products": "Keng Produkter fonnt",
"search_products": "Produkter sichen...",
"filter_by_category": "No Kategorie filteren",
"filter_by_status": "No Status filteren",
"sort_by": "Sortéieren no",
"sort_newest": "Neisten",
"sort_oldest": "Eelsten",
"sort_price_low": "Präis: Niddreg op Héich",
"sort_price_high": "Präis: Héich op Niddreg",
"sort_name_az": "Numm: A-Z",
"sort_name_za": "Numm: Z-A"
},
"product_import_export": {
"name": "Import/Export",
"description": "Mass-Import an -Export vu Produkter"
"messages": {
"product_deleted_successfully": "Product deleted successfully",
"please_fill_in_all_required_fields": "Please fill in all required fields",
"product_updated_successfully": "Product updated successfully",
"failed_to_load_media_library": "Failed to load media library",
"no_store_associated_with_this_product": "No store associated with this product",
"please_select_an_image_file": "Please select an image file",
"image_must_be_less_than_10mb": "Image must be less than 10MB",
"image_uploaded_successfully": "Image uploaded successfully",
"product_removed_from_store_catalog": "Product removed from store catalog.",
"please_select_a_store": "Please select a store",
"please_enter_a_product_title_english": "Please enter a product title (English)",
"product_created_successfully": "Product created successfully",
"please_select_a_store_first": "Please select a store first"
},
"features": {
"products_limit": {
"name": "Produkter",
"description": "Maximal Unzuel vu Produkter am Katalog",
"unit": "Produkter"
},
"product_import_export": {
"name": "Import/Export",
"description": "Mass-Import an -Export vu Produkter"
}
},
"menu": {
"products_inventory": "Produkter & Inventar",
"all_products": "All Produkter"
}
}
}

View File

@@ -1,231 +1,238 @@
{
"platform": {
"nav": {
"pricing": "Preise",
"find_shop": "Finden Sie Ihren Shop",
"start_trial": "Kostenlos testen",
"admin_login": "Admin-Login",
"store_login": "Händler-Login",
"toggle_menu": "Menü umschalten",
"toggle_dark_mode": "Dunkelmodus umschalten"
},
"hero": {
"badge": "{trial_days}-Tage kostenlose Testversion - Keine Kreditkarte erforderlich",
"title": "Leichtes OMS für Letzshop-Verkäufer",
"subtitle": "Bestellverwaltung, Lager und Rechnungsstellung für den luxemburgischen E-Commerce. Schluss mit Tabellenkalkulationen. Führen Sie Ihr Geschäft.",
"cta_trial": "Kostenlos testen",
"cta_find_shop": "Finden Sie Ihren Letzshop"
},
"pricing": {
"title": "Einfache, transparente Preise",
"subtitle": "Wählen Sie den Plan, der zu Ihrem Unternehmen passt. Alle Pläne beinhalten eine {trial_days}-tägige kostenlose Testversion.",
"monthly": "Monatlich",
"annual": "Jährlich",
"save_months": "Sparen Sie 2 Monate!",
"most_popular": "AM BELIEBTESTEN",
"recommended": "EMPFOHLEN",
"contact_sales": "Kontaktieren Sie uns",
"start_trial": "Kostenlos testen",
"per_month": "/Monat",
"per_year": "/Jahr",
"custom": "Individuell",
"orders_per_month": "{count} Bestellungen/Monat",
"unlimited_orders": "Unbegrenzte Bestellungen",
"products_limit": "{count} Produkte",
"unlimited_products": "Unbegrenzte Produkte",
"team_members": "{count} Teammitglieder",
"unlimited_team": "Unbegrenztes Team",
"letzshop_sync": "Letzshop-Synchronisierung",
"eu_vat_invoicing": "EU-MwSt-Rechnungen",
"analytics_dashboard": "Analyse-Dashboard",
"api_access": "API-Zugang",
"multi_channel": "Multi-Channel-Integration",
"products": "Produkte",
"team_member": "Teammitglied",
"unlimited": "Unbegrenzt",
"order_history": "Monate Bestellhistorie",
"trial_note": "Alle Pläne beinhalten eine {trial_days}-tägige kostenlose Testversion. Keine Kreditkarte erforderlich.",
"back_home": "Zurück zur Startseite"
"platform": {
"nav": {
"pricing": "Preise",
"find_shop": "Finden Sie Ihren Shop",
"start_trial": "Kostenlos testen",
"admin_login": "Admin-Login",
"store_login": "Händler-Login",
"toggle_menu": "Menü umschalten",
"toggle_dark_mode": "Dunkelmodus umschalten"
},
"hero": {
"badge": "{trial_days}-Tage kostenlose Testversion - Keine Kreditkarte erforderlich",
"title": "Leichtes OMS für Letzshop-Verkäufer",
"subtitle": "Bestellverwaltung, Lager und Rechnungsstellung für den luxemburgischen E-Commerce. Schluss mit Tabellenkalkulationen. Führen Sie Ihr Geschäft.",
"cta_trial": "Kostenlos testen",
"cta_find_shop": "Finden Sie Ihren Letzshop"
},
"pricing": {
"title": "Einfache, transparente Preise",
"subtitle": "Wählen Sie den Plan, der zu Ihrem Unternehmen passt. Alle Pläne beinhalten eine {trial_days}-tägige kostenlose Testversion.",
"monthly": "Monatlich",
"annual": "Jährlich",
"save_months": "Sparen Sie 2 Monate!",
"most_popular": "AM BELIEBTESTEN",
"recommended": "EMPFOHLEN",
"contact_sales": "Kontaktieren Sie uns",
"start_trial": "Kostenlos testen",
"per_month": "/Monat",
"per_year": "/Jahr",
"custom": "Individuell",
"orders_per_month": "{count} Bestellungen/Monat",
"unlimited_orders": "Unbegrenzte Bestellungen",
"products_limit": "{count} Produkte",
"unlimited_products": "Unbegrenzte Produkte",
"team_members": "{count} Teammitglieder",
"unlimited_team": "Unbegrenztes Team",
"letzshop_sync": "Letzshop-Synchronisierung",
"eu_vat_invoicing": "EU-MwSt-Rechnungen",
"analytics_dashboard": "Analyse-Dashboard",
"api_access": "API-Zugang",
"multi_channel": "Multi-Channel-Integration",
"products": "Produkte",
"team_member": "Teammitglied",
"unlimited": "Unbegrenzt",
"order_history": "Monate Bestellhistorie",
"trial_note": "Alle Pläne beinhalten eine {trial_days}-tägige kostenlose Testversion. Keine Kreditkarte erforderlich.",
"back_home": "Zurück zur Startseite"
},
"features": {
"letzshop_sync": "Letzshop-Synchronisierung",
"inventory_basic": "Grundlegende Lagerverwaltung",
"inventory_locations": "Lagerstandorte",
"inventory_purchase_orders": "Bestellungen",
"invoice_lu": "Luxemburg-MwSt-Rechnungen",
"invoice_eu_vat": "EU-MwSt-Rechnungen",
"invoice_bulk": "Massenrechnungen",
"customer_view": "Kundenliste",
"customer_export": "Kundenexport",
"analytics_dashboard": "Analyse-Dashboard",
"accounting_export": "Buchhaltungsexport",
"api_access": "API-Zugang",
"automation_rules": "Automatisierungsregeln",
"team_roles": "Teamrollen und Berechtigungen",
"white_label": "White-Label-Option",
"multi_store": "Multi-Händler-Unterstützung",
"custom_integrations": "Individuelle Integrationen",
"sla_guarantee": "SLA-Garantie",
"dedicated_support": "Dedizierter Kundenbetreuer"
},
"addons": {
"title": "Erweitern Sie Ihre Plattform",
"subtitle": "Fügen Sie Ihre Marke, professionelle E-Mail und erweiterte Sicherheit hinzu.",
"per_year": "/Jahr",
"per_month": "/Monat",
"custom_domain": "Eigene Domain",
"custom_domain_desc": "Nutzen Sie Ihre eigene Domain (meinedomain.com)",
"premium_ssl": "Premium SSL",
"premium_ssl_desc": "EV-Zertifikat für Vertrauenssiegel",
"email_package": "E-Mail-Paket",
"email_package_desc": "Professionelle E-Mail-Adressen"
},
"find_shop": {
"title": "Finden Sie Ihren Letzshop",
"subtitle": "Verkaufen Sie bereits auf Letzshop? Geben Sie Ihre Shop-URL ein, um zu beginnen.",
"placeholder": "Geben Sie Ihre Letzshop-URL ein (z.B. letzshop.lu/vendors/mein-shop)",
"button": "Meinen Shop finden",
"claim_shop": "Diesen Shop beanspruchen",
"already_claimed": "Bereits beansprucht",
"no_account": "Sie haben kein Letzshop-Konto?",
"signup_letzshop": "Registrieren Sie sich zuerst bei Letzshop",
"then_connect": ", dann kommen Sie zurück, um Ihren Shop zu verbinden.",
"search_placeholder": "Letzshop-URL oder Shopname eingeben...",
"search_button": "Suchen",
"examples": "Beispiele:",
"claim_button": "Diesen Shop beanspruchen und kostenlos testen",
"not_found": "Wir konnten keinen Letzshop mit dieser URL finden. Bitte überprüfen Sie und versuchen Sie es erneut.",
"or_signup": "Oder registrieren Sie sich ohne Letzshop-Verbindung",
"need_help": "Brauchen Sie Hilfe?",
"no_account_yet": "Sie haben noch kein Letzshop-Konto? Kein Problem!",
"create_letzshop": "Letzshop-Konto erstellen",
"signup_without": "Ohne Letzshop registrieren",
"looking_up": "Suche Ihren Shop...",
"found": "Gefunden:",
"claimed_badge": "Bereits beansprucht"
},
"signup": {
"step_plan": "Plan wählen",
"step_shop": "Shop beanspruchen",
"step_account": "Konto",
"step_payment": "Zahlung",
"choose_plan": "Wählen Sie Ihren Plan",
"save_percent": "Sparen Sie {percent}%",
"trial_info": "Wir erfassen Ihre Zahlungsdaten, aber Sie werden erst nach Ende der Testphase belastet.",
"connect_shop": "Verbinden Sie Ihren Letzshop",
"connect_optional": "Optional: Verknüpfen Sie Ihr Letzshop-Konto, um Bestellungen automatisch zu synchronisieren.",
"connect_continue": "Verbinden und fortfahren",
"skip_step": "Diesen Schritt überspringen",
"create_account": "Erstellen Sie Ihr Konto",
"first_name": "Vorname",
"last_name": "Nachname",
"merchant_name": "Firmenname",
"email": "E-Mail",
"password": "Passwort",
"password_hint": "Mindestens 8 Zeichen",
"continue": "Weiter",
"continue_payment": "Weiter zur Zahlung",
"back": "Zurück",
"add_payment": "Zahlungsmethode hinzufügen",
"no_charge_note": "Sie werden erst nach Ablauf Ihrer {trial_days}-tägigen Testphase belastet.",
"processing": "Verarbeitung...",
"start_trial": "Kostenlose Testversion starten",
"creating_account": "Erstelle Ihr Konto..."
},
"success": {
"title": "Willkommen bei Wizamart!",
"subtitle": "Ihr Konto wurde erstellt und Ihre {trial_days}-tägige kostenlose Testphase hat begonnen.",
"what_next": "Was kommt als Nächstes?",
"step_connect": "Letzshop verbinden:",
"step_connect_desc": "Fügen Sie Ihren API-Schlüssel hinzu, um Bestellungen automatisch zu synchronisieren.",
"step_invoicing": "Rechnungsstellung einrichten:",
"step_invoicing_desc": "Konfigurieren Sie Ihre Rechnungseinstellungen für die luxemburgische Compliance.",
"step_products": "Produkte importieren:",
"step_products_desc": "Synchronisieren Sie Ihren Produktkatalog von Letzshop.",
"go_to_dashboard": "Zum Dashboard",
"login_dashboard": "Zum Dashboard anmelden",
"need_help": "Brauchen Sie Hilfe beim Einstieg?",
"contact_support": "Kontaktieren Sie unser Support-Team"
},
"cta": {
"title": "Bereit, Ihre Bestellungen zu optimieren?",
"subtitle": "Schließen Sie sich Letzshop-Händlern an, die Wizamart für ihre Bestellverwaltung vertrauen. Starten Sie heute Ihre {trial_days}-tägige kostenlose Testversion.",
"button": "Kostenlos testen"
},
"footer": {
"tagline": "Leichtes OMS für Letzshop-Verkäufer. Verwalten Sie Bestellungen, Lager und Rechnungen.",
"quick_links": "Schnelllinks",
"platform": "Plattform",
"contact": "Kontakt",
"copyright": "© {year} Wizamart. Entwickelt für den luxemburgischen E-Commerce.",
"privacy": "Datenschutzerklärung",
"terms": "Nutzungsbedingungen",
"about": "Über uns",
"faq": "FAQ",
"contact_us": "Kontaktieren Sie uns"
},
"modern": {
"badge_integration": "Offizielle Integration",
"badge_connect": "In 2 Minuten verbinden",
"hero_title_1": "Für den luxemburgischen E-Commerce entwickelt",
"hero_title_2": "Das Back-Office, das Letzshop Ihnen nicht gibt",
"hero_subtitle": "Synchronisieren Sie Bestellungen, verwalten Sie Lager, erstellen Sie Rechnungen mit korrekter MwSt und besitzen Sie Ihre Kundendaten. Alles an einem Ort.",
"cta_trial": "{trial_days}-Tage kostenlos testen",
"cta_how": "Sehen Sie, wie es funktioniert",
"hero_note": "Keine Kreditkarte erforderlich. Einrichtung in 5 Minuten. Jederzeit kündbar.",
"pain_title": "Kommt Ihnen das bekannt vor?",
"pain_subtitle": "Das sind die täglichen Frustrationen von Letzshop-Verkäufern",
"pain_manual": "Manuelle Bestelleingabe",
"pain_manual_desc": "Bestellungen von Letzshop in Tabellenkalkulationen kopieren. Jeden. Einzelnen. Tag.",
"pain_inventory": "Lagerchaos",
"pain_inventory_desc": "Der Bestand in Letzshop stimmt nicht mit der Realität überein. Überverkäufe passieren.",
"pain_vat": "Falsche MwSt-Rechnungen",
"pain_vat_desc": "EU-Kunden brauchen die korrekte MwSt. Ihr Buchhalter beschwert sich.",
"pain_customers": "Verlorene Kunden",
"pain_customers_desc": "Letzshop besitzt Ihre Kundendaten. Sie können nicht retargeten oder Loyalität aufbauen.",
"how_title": "So funktioniert es",
"how_subtitle": "Vom Chaos zur Kontrolle in 4 Schritten",
"how_step1": "Letzshop verbinden",
"how_step1_desc": "Geben Sie Ihre Letzshop-API-Zugangsdaten ein. In 2 Minuten erledigt, keine technischen Kenntnisse erforderlich.",
"how_step2": "Bestellungen kommen rein",
"how_step2_desc": "Bestellungen werden automatisch synchronisiert. Bestätigen und Tracking direkt von Wizamart hinzufügen.",
"how_step3": "Rechnungen erstellen",
"how_step3_desc": "Ein Klick, um konforme PDF-Rechnungen mit korrekter MwSt für jedes EU-Land zu erstellen.",
"how_step4": "Ihr Geschäft ausbauen",
"how_step4_desc": "Exportieren Sie Kunden für Marketing. Verfolgen Sie Lagerbestände. Konzentrieren Sie sich auf den Verkauf, nicht auf Tabellenkalkulationen.",
"features_title": "Alles, was ein Letzshop-Verkäufer braucht",
"features_subtitle": "Die operativen Tools, die Letzshop nicht bietet",
"cta_final_title": "Bereit, die Kontrolle über Ihr Letzshop-Geschäft zu übernehmen?",
"cta_final_subtitle": "Schließen Sie sich luxemburgischen Händlern an, die aufgehört haben, gegen Tabellenkalkulationen zu kämpfen, und begonnen haben, ihr Geschäft auszubauen.",
"cta_final_note": "Keine Kreditkarte erforderlich. Einrichtung in 5 Minuten. Volle Professional-Funktionen während der Testphase."
}
},
"features": {
"letzshop_sync": "Letzshop-Synchronisierung",
"inventory_basic": "Grundlegende Lagerverwaltung",
"inventory_locations": "Lagerstandorte",
"inventory_purchase_orders": "Bestellungen",
"invoice_lu": "Luxemburg-MwSt-Rechnungen",
"invoice_eu_vat": "EU-MwSt-Rechnungen",
"invoice_bulk": "Massenrechnungen",
"customer_view": "Kundenliste",
"customer_export": "Kundenexport",
"analytics_dashboard": "Analyse-Dashboard",
"accounting_export": "Buchhaltungsexport",
"api_access": "API-Zugang",
"automation_rules": "Automatisierungsregeln",
"team_roles": "Teamrollen und Berechtigungen",
"white_label": "White-Label-Option",
"multi_store": "Multi-Händler-Unterstützung",
"custom_integrations": "Individuelle Integrationen",
"sla_guarantee": "SLA-Garantie",
"dedicated_support": "Dedizierter Kundenbetreuer"
"cms_pages_limit": {
"name": "CMS-Seiten",
"description": "Maximale Anzahl an Inhaltsseiten",
"unit": "Seiten"
},
"cms_custom_pages_limit": {
"name": "Eigene Seiten",
"description": "Maximale Anzahl an individuell gestalteten Seiten",
"unit": "Seiten"
},
"cms_basic": {
"name": "Basis-CMS",
"description": "Grundlegende Inhaltsverwaltungsfunktionen"
},
"cms_seo": {
"name": "SEO-Tools",
"description": "Suchmaschinenoptimierungstools"
},
"cms_scheduling": {
"name": "Inhaltsplanung",
"description": "Inhalte für zukünftige Veröffentlichung planen"
},
"cms_templates": {
"name": "Seitenvorlagen",
"description": "Zugang zu Premium-Seitenvorlagen"
}
},
"addons": {
"title": "Erweitern Sie Ihre Plattform",
"subtitle": "Fügen Sie Ihre Marke, professionelle E-Mail und erweiterte Sicherheit hinzu.",
"per_year": "/Jahr",
"per_month": "/Monat",
"custom_domain": "Eigene Domain",
"custom_domain_desc": "Nutzen Sie Ihre eigene Domain (meinedomain.com)",
"premium_ssl": "Premium SSL",
"premium_ssl_desc": "EV-Zertifikat für Vertrauenssiegel",
"email_package": "E-Mail-Paket",
"email_package_desc": "Professionelle E-Mail-Adressen"
},
"find_shop": {
"title": "Finden Sie Ihren Letzshop",
"subtitle": "Verkaufen Sie bereits auf Letzshop? Geben Sie Ihre Shop-URL ein, um zu beginnen.",
"placeholder": "Geben Sie Ihre Letzshop-URL ein (z.B. letzshop.lu/vendors/mein-shop)",
"button": "Meinen Shop finden",
"claim_shop": "Diesen Shop beanspruchen",
"already_claimed": "Bereits beansprucht",
"no_account": "Sie haben kein Letzshop-Konto?",
"signup_letzshop": "Registrieren Sie sich zuerst bei Letzshop",
"then_connect": ", dann kommen Sie zurück, um Ihren Shop zu verbinden.",
"search_placeholder": "Letzshop-URL oder Shopname eingeben...",
"search_button": "Suchen",
"examples": "Beispiele:",
"claim_button": "Diesen Shop beanspruchen und kostenlos testen",
"not_found": "Wir konnten keinen Letzshop mit dieser URL finden. Bitte überprüfen Sie und versuchen Sie es erneut.",
"or_signup": "Oder registrieren Sie sich ohne Letzshop-Verbindung",
"need_help": "Brauchen Sie Hilfe?",
"no_account_yet": "Sie haben noch kein Letzshop-Konto? Kein Problem!",
"create_letzshop": "Letzshop-Konto erstellen",
"signup_without": "Ohne Letzshop registrieren",
"looking_up": "Suche Ihren Shop...",
"found": "Gefunden:",
"claimed_badge": "Bereits beansprucht"
},
"signup": {
"step_plan": "Plan wählen",
"step_shop": "Shop beanspruchen",
"step_account": "Konto",
"step_payment": "Zahlung",
"choose_plan": "Wählen Sie Ihren Plan",
"save_percent": "Sparen Sie {percent}%",
"trial_info": "Wir erfassen Ihre Zahlungsdaten, aber Sie werden erst nach Ende der Testphase belastet.",
"connect_shop": "Verbinden Sie Ihren Letzshop",
"connect_optional": "Optional: Verknüpfen Sie Ihr Letzshop-Konto, um Bestellungen automatisch zu synchronisieren.",
"connect_continue": "Verbinden und fortfahren",
"skip_step": "Diesen Schritt überspringen",
"create_account": "Erstellen Sie Ihr Konto",
"first_name": "Vorname",
"last_name": "Nachname",
"merchant_name": "Firmenname",
"email": "E-Mail",
"password": "Passwort",
"password_hint": "Mindestens 8 Zeichen",
"continue": "Weiter",
"continue_payment": "Weiter zur Zahlung",
"back": "Zurück",
"add_payment": "Zahlungsmethode hinzufügen",
"no_charge_note": "Sie werden erst nach Ablauf Ihrer {trial_days}-tägigen Testphase belastet.",
"processing": "Verarbeitung...",
"start_trial": "Kostenlose Testversion starten",
"creating_account": "Erstelle Ihr Konto..."
},
"success": {
"title": "Willkommen bei Wizamart!",
"subtitle": "Ihr Konto wurde erstellt und Ihre {trial_days}-tägige kostenlose Testphase hat begonnen.",
"what_next": "Was kommt als Nächstes?",
"step_connect": "Letzshop verbinden:",
"step_connect_desc": "Fügen Sie Ihren API-Schlüssel hinzu, um Bestellungen automatisch zu synchronisieren.",
"step_invoicing": "Rechnungsstellung einrichten:",
"step_invoicing_desc": "Konfigurieren Sie Ihre Rechnungseinstellungen für die luxemburgische Compliance.",
"step_products": "Produkte importieren:",
"step_products_desc": "Synchronisieren Sie Ihren Produktkatalog von Letzshop.",
"go_to_dashboard": "Zum Dashboard",
"login_dashboard": "Zum Dashboard anmelden",
"need_help": "Brauchen Sie Hilfe beim Einstieg?",
"contact_support": "Kontaktieren Sie unser Support-Team"
},
"cta": {
"title": "Bereit, Ihre Bestellungen zu optimieren?",
"subtitle": "Schließen Sie sich Letzshop-Händlern an, die Wizamart für ihre Bestellverwaltung vertrauen. Starten Sie heute Ihre {trial_days}-tägige kostenlose Testversion.",
"button": "Kostenlos testen"
},
"footer": {
"tagline": "Leichtes OMS für Letzshop-Verkäufer. Verwalten Sie Bestellungen, Lager und Rechnungen.",
"quick_links": "Schnelllinks",
"platform": "Plattform",
"contact": "Kontakt",
"copyright": "© {year} Wizamart. Entwickelt für den luxemburgischen E-Commerce.",
"privacy": "Datenschutzerklärung",
"terms": "Nutzungsbedingungen",
"about": "Über uns",
"faq": "FAQ",
"contact_us": "Kontaktieren Sie uns"
},
"modern": {
"badge_integration": "Offizielle Integration",
"badge_connect": "In 2 Minuten verbinden",
"hero_title_1": "Für den luxemburgischen E-Commerce entwickelt",
"hero_title_2": "Das Back-Office, das Letzshop Ihnen nicht gibt",
"hero_subtitle": "Synchronisieren Sie Bestellungen, verwalten Sie Lager, erstellen Sie Rechnungen mit korrekter MwSt und besitzen Sie Ihre Kundendaten. Alles an einem Ort.",
"cta_trial": "{trial_days}-Tage kostenlos testen",
"cta_how": "Sehen Sie, wie es funktioniert",
"hero_note": "Keine Kreditkarte erforderlich. Einrichtung in 5 Minuten. Jederzeit kündbar.",
"pain_title": "Kommt Ihnen das bekannt vor?",
"pain_subtitle": "Das sind die täglichen Frustrationen von Letzshop-Verkäufern",
"pain_manual": "Manuelle Bestelleingabe",
"pain_manual_desc": "Bestellungen von Letzshop in Tabellenkalkulationen kopieren. Jeden. Einzelnen. Tag.",
"pain_inventory": "Lagerchaos",
"pain_inventory_desc": "Der Bestand in Letzshop stimmt nicht mit der Realität überein. Überverkäufe passieren.",
"pain_vat": "Falsche MwSt-Rechnungen",
"pain_vat_desc": "EU-Kunden brauchen die korrekte MwSt. Ihr Buchhalter beschwert sich.",
"pain_customers": "Verlorene Kunden",
"pain_customers_desc": "Letzshop besitzt Ihre Kundendaten. Sie können nicht retargeten oder Loyalität aufbauen.",
"how_title": "So funktioniert es",
"how_subtitle": "Vom Chaos zur Kontrolle in 4 Schritten",
"how_step1": "Letzshop verbinden",
"how_step1_desc": "Geben Sie Ihre Letzshop-API-Zugangsdaten ein. In 2 Minuten erledigt, keine technischen Kenntnisse erforderlich.",
"how_step2": "Bestellungen kommen rein",
"how_step2_desc": "Bestellungen werden automatisch synchronisiert. Bestätigen und Tracking direkt von Wizamart hinzufügen.",
"how_step3": "Rechnungen erstellen",
"how_step3_desc": "Ein Klick, um konforme PDF-Rechnungen mit korrekter MwSt für jedes EU-Land zu erstellen.",
"how_step4": "Ihr Geschäft ausbauen",
"how_step4_desc": "Exportieren Sie Kunden für Marketing. Verfolgen Sie Lagerbestände. Konzentrieren Sie sich auf den Verkauf, nicht auf Tabellenkalkulationen.",
"features_title": "Alles, was ein Letzshop-Verkäufer braucht",
"features_subtitle": "Die operativen Tools, die Letzshop nicht bietet",
"cta_final_title": "Bereit, die Kontrolle über Ihr Letzshop-Geschäft zu übernehmen?",
"cta_final_subtitle": "Schließen Sie sich luxemburgischen Händlern an, die aufgehört haben, gegen Tabellenkalkulationen zu kämpfen, und begonnen haben, ihr Geschäft auszubauen.",
"cta_final_note": "Keine Kreditkarte erforderlich. Einrichtung in 5 Minuten. Volle Professional-Funktionen während der Testphase."
"menu": {
"content_management": "Inhaltsverwaltung",
"shop_content": "Shop-Inhalte",
"content_pages": "Inhaltsseiten",
"store_themes": "Shop-Themes",
"media_library": "Mediathek"
}
},
"features": {
"cms_pages_limit": {
"name": "CMS-Seiten",
"description": "Maximale Anzahl an Inhaltsseiten",
"unit": "Seiten"
},
"cms_custom_pages_limit": {
"name": "Eigene Seiten",
"description": "Maximale Anzahl an individuell gestalteten Seiten",
"unit": "Seiten"
},
"cms_basic": {
"name": "Basis-CMS",
"description": "Grundlegende Inhaltsverwaltungsfunktionen"
},
"cms_seo": {
"name": "SEO-Tools",
"description": "Suchmaschinenoptimierungstools"
},
"cms_scheduling": {
"name": "Inhaltsplanung",
"description": "Inhalte für zukünftige Veröffentlichung planen"
},
"cms_templates": {
"name": "Seitenvorlagen",
"description": "Zugang zu Premium-Seitenvorlagen"
}
}
}

View File

@@ -1,241 +1,248 @@
{
"platform": {
"nav": {
"pricing": "Pricing",
"find_shop": "Find Your Shop",
"start_trial": "Start Free Trial",
"admin_login": "Admin Login",
"store_login": "Store Login",
"toggle_menu": "Toggle menu",
"toggle_dark_mode": "Toggle dark mode"
"platform": {
"nav": {
"pricing": "Pricing",
"find_shop": "Find Your Shop",
"start_trial": "Start Free Trial",
"admin_login": "Admin Login",
"store_login": "Store Login",
"toggle_menu": "Toggle menu",
"toggle_dark_mode": "Toggle dark mode"
},
"hero": {
"badge": "{trial_days}-Day Free Trial - No Credit Card Required to Start",
"title": "Lightweight OMS for Letzshop Sellers",
"subtitle": "Order management, inventory, and invoicing built for Luxembourg e-commerce. Stop juggling spreadsheets. Start running your business.",
"cta_trial": "Start Free Trial",
"cta_find_shop": "Find Your Letzshop Shop"
},
"pricing": {
"title": "Simple, Transparent Pricing",
"subtitle": "Choose the plan that fits your business. All plans include a {trial_days}-day free trial.",
"monthly": "Monthly",
"annual": "Annual",
"save_months": "Save 2 months!",
"most_popular": "MOST POPULAR",
"recommended": "RECOMMENDED",
"contact_sales": "Contact Sales",
"start_trial": "Start Free Trial",
"per_month": "/month",
"per_year": "/year",
"custom": "Custom",
"orders_per_month": "{count} orders/month",
"unlimited_orders": "Unlimited orders",
"products_limit": "{count} products",
"unlimited_products": "Unlimited products",
"team_members": "{count} team members",
"unlimited_team": "Unlimited team",
"letzshop_sync": "Letzshop order sync",
"eu_vat_invoicing": "EU VAT invoicing",
"analytics_dashboard": "Analytics dashboard",
"api_access": "API access",
"multi_channel": "Multi-channel integration",
"products": "products",
"team_member": "team member",
"unlimited": "Unlimited",
"order_history": "months order history",
"trial_note": "All plans include a {trial_days}-day free trial. No credit card required.",
"back_home": "Back to Home"
},
"features": {
"letzshop_sync": "Letzshop order sync",
"inventory_basic": "Basic inventory management",
"inventory_locations": "Warehouse locations",
"inventory_purchase_orders": "Purchase orders",
"invoice_lu": "Luxembourg VAT invoicing",
"invoice_eu_vat": "EU VAT invoicing",
"invoice_bulk": "Bulk invoicing",
"customer_view": "Customer list",
"customer_export": "Customer export",
"analytics_dashboard": "Analytics dashboard",
"accounting_export": "Accounting export",
"api_access": "API access",
"automation_rules": "Automation rules",
"team_roles": "Team roles & permissions",
"white_label": "White-label option",
"multi_store": "Multi-store support",
"custom_integrations": "Custom integrations",
"sla_guarantee": "SLA guarantee",
"dedicated_support": "Dedicated account manager"
},
"addons": {
"title": "Enhance Your Platform",
"subtitle": "Add custom branding, professional email, and enhanced security.",
"per_year": "/year",
"per_month": "/month",
"custom_domain": "Custom Domain",
"custom_domain_desc": "Use your own domain (mydomain.com)",
"premium_ssl": "Premium SSL",
"premium_ssl_desc": "EV certificate for trust badges",
"email_package": "Email Package",
"email_package_desc": "Professional email addresses"
},
"find_shop": {
"title": "Find Your Letzshop Shop",
"subtitle": "Already selling on Letzshop? Enter your shop URL to get started.",
"placeholder": "Enter your Letzshop URL (e.g., letzshop.lu/vendors/my-shop)",
"button": "Find My Shop",
"claim_shop": "Claim This Shop",
"already_claimed": "Already Claimed",
"no_account": "Don't have a Letzshop account?",
"signup_letzshop": "Sign up with Letzshop first",
"then_connect": ", then come back to connect your shop.",
"search_placeholder": "Enter Letzshop URL or shop name...",
"search_button": "Search",
"examples": "Examples:",
"claim_button": "Claim This Shop & Start Free Trial",
"not_found": "We could not find a Letzshop shop with that URL. Please check and try again.",
"or_signup": "Or sign up without a Letzshop connection",
"need_help": "Need Help?",
"no_account_yet": "Don't have a Letzshop account yet? No problem!",
"create_letzshop": "Create a Letzshop Account",
"signup_without": "Sign Up Without Letzshop",
"looking_up": "Looking up your shop...",
"found": "Found:",
"claimed_badge": "Already Claimed"
},
"signup": {
"step_plan": "Select Plan",
"step_shop": "Claim Shop",
"step_account": "Account",
"step_payment": "Payment",
"choose_plan": "Choose Your Plan",
"save_percent": "Save {percent}%",
"trial_info": "We'll collect your payment info, but you won't be charged until the trial ends.",
"connect_shop": "Connect Your Letzshop Shop",
"connect_optional": "Optional: Link your Letzshop account to sync orders automatically.",
"connect_continue": "Connect & Continue",
"skip_step": "Skip This Step",
"create_account": "Create Your Account",
"first_name": "First Name",
"last_name": "Last Name",
"merchant_name": "Merchant Name",
"email": "Email",
"password": "Password",
"password_hint": "Minimum 8 characters",
"continue": "Continue",
"continue_payment": "Continue to Payment",
"back": "Back",
"add_payment": "Add Payment Method",
"no_charge_note": "You won't be charged until your {trial_days}-day trial ends.",
"processing": "Processing...",
"start_trial": "Start Free Trial",
"creating_account": "Creating your account..."
},
"success": {
"title": "Welcome to Wizamart!",
"subtitle": "Your account has been created and your {trial_days}-day free trial has started.",
"what_next": "What's Next?",
"step_connect": "Connect Letzshop:",
"step_connect_desc": "Add your API key to start syncing orders automatically.",
"step_invoicing": "Set Up Invoicing:",
"step_invoicing_desc": "Configure your invoice settings for Luxembourg compliance.",
"step_products": "Import Products:",
"step_products_desc": "Sync your product catalog from Letzshop.",
"go_to_dashboard": "Go to Dashboard",
"login_dashboard": "Login to Dashboard",
"need_help": "Need help getting started?",
"contact_support": "Contact our support team"
},
"cta": {
"title": "Ready to Streamline Your Orders?",
"subtitle": "Join Letzshop stores who trust Wizamart for their order management. Start your {trial_days}-day free trial today.",
"button": "Start Free Trial"
},
"footer": {
"tagline": "Lightweight OMS for Letzshop sellers. Manage orders, inventory, and invoicing.",
"quick_links": "Quick Links",
"platform": "Platform",
"contact": "Contact",
"copyright": "© {year} Wizamart. Built for Luxembourg e-commerce.",
"privacy": "Privacy Policy",
"terms": "Terms of Service",
"about": "About Us",
"faq": "FAQ",
"contact_us": "Contact Us"
},
"modern": {
"badge_integration": "Official Integration",
"badge_connect": "Connect in 2 minutes",
"hero_title_1": "Built for Luxembourg E-Commerce",
"hero_title_2": "The Back-Office Letzshop Doesn't Give You",
"hero_subtitle": "Sync orders, manage inventory, generate invoices with correct VAT, and own your customer data. All in one place.",
"cta_trial": "Start {trial_days}-Day Free Trial",
"cta_how": "See How It Works",
"hero_note": "No credit card required. Setup in 5 minutes. Cancel anytime.",
"pain_title": "Sound Familiar?",
"pain_subtitle": "These are the daily frustrations of Letzshop sellers",
"pain_manual": "Manual Order Entry",
"pain_manual_desc": "Copy-pasting orders from Letzshop to spreadsheets. Every. Single. Day.",
"pain_inventory": "Inventory Chaos",
"pain_inventory_desc": "Stock in Letzshop doesn't match reality. Overselling happens.",
"pain_vat": "Wrong VAT Invoices",
"pain_vat_desc": "EU customers need correct VAT. Your accountant keeps complaining.",
"pain_customers": "Lost Customers",
"pain_customers_desc": "Letzshop owns your customer data. You can't retarget or build loyalty.",
"how_title": "How It Works",
"how_subtitle": "From Chaos to Control in 4 Steps",
"how_step1": "Connect Letzshop",
"how_step1_desc": "Enter your Letzshop API credentials. Done in 2 minutes, no technical skills needed.",
"how_step2": "Orders Flow In",
"how_step2_desc": "Orders sync automatically. Confirm and add tracking directly from Wizamart.",
"how_step3": "Generate Invoices",
"how_step3_desc": "One click to create compliant PDF invoices with correct VAT for any EU country.",
"how_step4": "Grow Your Business",
"how_step4_desc": "Export customers for marketing. Track inventory. Focus on selling, not spreadsheets.",
"features_title": "Everything a Letzshop Seller Needs",
"features_subtitle": "The operational tools Letzshop doesn't provide",
"cta_final_title": "Ready to Take Control of Your Letzshop Business?",
"cta_final_subtitle": "Join Luxembourg stores who've stopped fighting spreadsheets and started growing their business.",
"cta_final_note": "No credit card required. Setup in 5 minutes. Full Professional features during trial."
}
},
"hero": {
"badge": "{trial_days}-Day Free Trial - No Credit Card Required to Start",
"title": "Lightweight OMS for Letzshop Sellers",
"subtitle": "Order management, inventory, and invoicing built for Luxembourg e-commerce. Stop juggling spreadsheets. Start running your business.",
"cta_trial": "Start Free Trial",
"cta_find_shop": "Find Your Letzshop Shop"
"messages": {
"failed_to_delete_page": "Failed to delete page: {error}",
"media_updated_successfully": "Media updated successfully",
"media_deleted_successfully": "Media deleted successfully",
"url_copied_to_clipboard": "URL copied to clipboard",
"failed_to_copy_url": "Failed to copy URL"
},
"pricing": {
"title": "Simple, Transparent Pricing",
"subtitle": "Choose the plan that fits your business. All plans include a {trial_days}-day free trial.",
"monthly": "Monthly",
"annual": "Annual",
"save_months": "Save 2 months!",
"most_popular": "MOST POPULAR",
"recommended": "RECOMMENDED",
"contact_sales": "Contact Sales",
"start_trial": "Start Free Trial",
"per_month": "/month",
"per_year": "/year",
"custom": "Custom",
"orders_per_month": "{count} orders/month",
"unlimited_orders": "Unlimited orders",
"products_limit": "{count} products",
"unlimited_products": "Unlimited products",
"team_members": "{count} team members",
"unlimited_team": "Unlimited team",
"letzshop_sync": "Letzshop order sync",
"eu_vat_invoicing": "EU VAT invoicing",
"analytics_dashboard": "Analytics dashboard",
"api_access": "API access",
"multi_channel": "Multi-channel integration",
"products": "products",
"team_member": "team member",
"unlimited": "Unlimited",
"order_history": "months order history",
"trial_note": "All plans include a {trial_days}-day free trial. No credit card required.",
"back_home": "Back to Home"
"confirmations": {
"delete_file": "Are you sure you want to delete this file? This cannot be undone."
},
"features": {
"letzshop_sync": "Letzshop order sync",
"inventory_basic": "Basic inventory management",
"inventory_locations": "Warehouse locations",
"inventory_purchase_orders": "Purchase orders",
"invoice_lu": "Luxembourg VAT invoicing",
"invoice_eu_vat": "EU VAT invoicing",
"invoice_bulk": "Bulk invoicing",
"customer_view": "Customer list",
"customer_export": "Customer export",
"analytics_dashboard": "Analytics dashboard",
"accounting_export": "Accounting export",
"api_access": "API access",
"automation_rules": "Automation rules",
"team_roles": "Team roles & permissions",
"white_label": "White-label option",
"multi_store": "Multi-store support",
"custom_integrations": "Custom integrations",
"sla_guarantee": "SLA guarantee",
"dedicated_support": "Dedicated account manager"
"cms_pages_limit": {
"name": "CMS Pages",
"description": "Maximum number of content pages",
"unit": "pages"
},
"cms_custom_pages_limit": {
"name": "Custom Pages",
"description": "Maximum number of custom-designed pages",
"unit": "pages"
},
"cms_basic": {
"name": "Basic CMS",
"description": "Basic content management features"
},
"cms_seo": {
"name": "SEO Tools",
"description": "Search engine optimization tools"
},
"cms_scheduling": {
"name": "Content Scheduling",
"description": "Schedule content for future publication"
},
"cms_templates": {
"name": "Page Templates",
"description": "Access to premium page templates"
}
},
"addons": {
"title": "Enhance Your Platform",
"subtitle": "Add custom branding, professional email, and enhanced security.",
"per_year": "/year",
"per_month": "/month",
"custom_domain": "Custom Domain",
"custom_domain_desc": "Use your own domain (mydomain.com)",
"premium_ssl": "Premium SSL",
"premium_ssl_desc": "EV certificate for trust badges",
"email_package": "Email Package",
"email_package_desc": "Professional email addresses"
},
"find_shop": {
"title": "Find Your Letzshop Shop",
"subtitle": "Already selling on Letzshop? Enter your shop URL to get started.",
"placeholder": "Enter your Letzshop URL (e.g., letzshop.lu/vendors/my-shop)",
"button": "Find My Shop",
"claim_shop": "Claim This Shop",
"already_claimed": "Already Claimed",
"no_account": "Don't have a Letzshop account?",
"signup_letzshop": "Sign up with Letzshop first",
"then_connect": ", then come back to connect your shop.",
"search_placeholder": "Enter Letzshop URL or shop name...",
"search_button": "Search",
"examples": "Examples:",
"claim_button": "Claim This Shop & Start Free Trial",
"not_found": "We could not find a Letzshop shop with that URL. Please check and try again.",
"or_signup": "Or sign up without a Letzshop connection",
"need_help": "Need Help?",
"no_account_yet": "Don't have a Letzshop account yet? No problem!",
"create_letzshop": "Create a Letzshop Account",
"signup_without": "Sign Up Without Letzshop",
"looking_up": "Looking up your shop...",
"found": "Found:",
"claimed_badge": "Already Claimed"
},
"signup": {
"step_plan": "Select Plan",
"step_shop": "Claim Shop",
"step_account": "Account",
"step_payment": "Payment",
"choose_plan": "Choose Your Plan",
"save_percent": "Save {percent}%",
"trial_info": "We'll collect your payment info, but you won't be charged until the trial ends.",
"connect_shop": "Connect Your Letzshop Shop",
"connect_optional": "Optional: Link your Letzshop account to sync orders automatically.",
"connect_continue": "Connect & Continue",
"skip_step": "Skip This Step",
"create_account": "Create Your Account",
"first_name": "First Name",
"last_name": "Last Name",
"merchant_name": "Merchant Name",
"email": "Email",
"password": "Password",
"password_hint": "Minimum 8 characters",
"continue": "Continue",
"continue_payment": "Continue to Payment",
"back": "Back",
"add_payment": "Add Payment Method",
"no_charge_note": "You won't be charged until your {trial_days}-day trial ends.",
"processing": "Processing...",
"start_trial": "Start Free Trial",
"creating_account": "Creating your account..."
},
"success": {
"title": "Welcome to Wizamart!",
"subtitle": "Your account has been created and your {trial_days}-day free trial has started.",
"what_next": "What's Next?",
"step_connect": "Connect Letzshop:",
"step_connect_desc": "Add your API key to start syncing orders automatically.",
"step_invoicing": "Set Up Invoicing:",
"step_invoicing_desc": "Configure your invoice settings for Luxembourg compliance.",
"step_products": "Import Products:",
"step_products_desc": "Sync your product catalog from Letzshop.",
"go_to_dashboard": "Go to Dashboard",
"login_dashboard": "Login to Dashboard",
"need_help": "Need help getting started?",
"contact_support": "Contact our support team"
},
"cta": {
"title": "Ready to Streamline Your Orders?",
"subtitle": "Join Letzshop stores who trust Wizamart for their order management. Start your {trial_days}-day free trial today.",
"button": "Start Free Trial"
},
"footer": {
"tagline": "Lightweight OMS for Letzshop sellers. Manage orders, inventory, and invoicing.",
"quick_links": "Quick Links",
"platform": "Platform",
"contact": "Contact",
"copyright": "© {year} Wizamart. Built for Luxembourg e-commerce.",
"privacy": "Privacy Policy",
"terms": "Terms of Service",
"about": "About Us",
"faq": "FAQ",
"contact_us": "Contact Us"
},
"modern": {
"badge_integration": "Official Integration",
"badge_connect": "Connect in 2 minutes",
"hero_title_1": "Built for Luxembourg E-Commerce",
"hero_title_2": "The Back-Office Letzshop Doesn't Give You",
"hero_subtitle": "Sync orders, manage inventory, generate invoices with correct VAT, and own your customer data. All in one place.",
"cta_trial": "Start {trial_days}-Day Free Trial",
"cta_how": "See How It Works",
"hero_note": "No credit card required. Setup in 5 minutes. Cancel anytime.",
"pain_title": "Sound Familiar?",
"pain_subtitle": "These are the daily frustrations of Letzshop sellers",
"pain_manual": "Manual Order Entry",
"pain_manual_desc": "Copy-pasting orders from Letzshop to spreadsheets. Every. Single. Day.",
"pain_inventory": "Inventory Chaos",
"pain_inventory_desc": "Stock in Letzshop doesn't match reality. Overselling happens.",
"pain_vat": "Wrong VAT Invoices",
"pain_vat_desc": "EU customers need correct VAT. Your accountant keeps complaining.",
"pain_customers": "Lost Customers",
"pain_customers_desc": "Letzshop owns your customer data. You can't retarget or build loyalty.",
"how_title": "How It Works",
"how_subtitle": "From Chaos to Control in 4 Steps",
"how_step1": "Connect Letzshop",
"how_step1_desc": "Enter your Letzshop API credentials. Done in 2 minutes, no technical skills needed.",
"how_step2": "Orders Flow In",
"how_step2_desc": "Orders sync automatically. Confirm and add tracking directly from Wizamart.",
"how_step3": "Generate Invoices",
"how_step3_desc": "One click to create compliant PDF invoices with correct VAT for any EU country.",
"how_step4": "Grow Your Business",
"how_step4_desc": "Export customers for marketing. Track inventory. Focus on selling, not spreadsheets.",
"features_title": "Everything a Letzshop Seller Needs",
"features_subtitle": "The operational tools Letzshop doesn't provide",
"cta_final_title": "Ready to Take Control of Your Letzshop Business?",
"cta_final_subtitle": "Join Luxembourg stores who've stopped fighting spreadsheets and started growing their business.",
"cta_final_note": "No credit card required. Setup in 5 minutes. Full Professional features during trial."
"menu": {
"content_management": "Content Management",
"shop_content": "Shop Content",
"content_pages": "Content Pages",
"store_themes": "Store Themes",
"media_library": "Media Library"
}
},
"messages": {
"failed_to_delete_page": "Failed to delete page: {error}",
"media_updated_successfully": "Media updated successfully",
"media_deleted_successfully": "Media deleted successfully",
"url_copied_to_clipboard": "URL copied to clipboard",
"failed_to_copy_url": "Failed to copy URL"
},
"confirmations": {
"delete_file": "Are you sure you want to delete this file? This cannot be undone."
},
"features": {
"cms_pages_limit": {
"name": "CMS Pages",
"description": "Maximum number of content pages",
"unit": "pages"
},
"cms_custom_pages_limit": {
"name": "Custom Pages",
"description": "Maximum number of custom-designed pages",
"unit": "pages"
},
"cms_basic": {
"name": "Basic CMS",
"description": "Basic content management features"
},
"cms_seo": {
"name": "SEO Tools",
"description": "Search engine optimization tools"
},
"cms_scheduling": {
"name": "Content Scheduling",
"description": "Schedule content for future publication"
},
"cms_templates": {
"name": "Page Templates",
"description": "Access to premium page templates"
}
}
}

View File

@@ -1,231 +1,238 @@
{
"platform": {
"nav": {
"pricing": "Tarifs",
"find_shop": "Trouvez votre boutique",
"start_trial": "Essai gratuit",
"admin_login": "Connexion Admin",
"store_login": "Connexion Vendeur",
"toggle_menu": "Basculer le menu",
"toggle_dark_mode": "Basculer le mode sombre"
},
"hero": {
"badge": "Essai gratuit de {trial_days} jours - Aucune carte de crédit requise",
"title": "OMS léger pour les vendeurs Letzshop",
"subtitle": "Gestion des commandes, stocks et facturation conçue pour le e-commerce luxembourgeois. Arrêtez de jongler avec les tableurs. Gérez votre entreprise.",
"cta_trial": "Essai gratuit",
"cta_find_shop": "Trouvez votre boutique Letzshop"
},
"pricing": {
"title": "Tarification simple et transparente",
"subtitle": "Choisissez le plan adapté à votre entreprise. Tous les plans incluent un essai gratuit de {trial_days} jours.",
"monthly": "Mensuel",
"annual": "Annuel",
"save_months": "Économisez 2 mois !",
"most_popular": "LE PLUS POPULAIRE",
"recommended": "RECOMMANDÉ",
"contact_sales": "Contactez-nous",
"start_trial": "Essai gratuit",
"per_month": "/mois",
"per_year": "/an",
"custom": "Sur mesure",
"orders_per_month": "{count} commandes/mois",
"unlimited_orders": "Commandes illimitées",
"products_limit": "{count} produits",
"unlimited_products": "Produits illimités",
"team_members": "{count} membres d'équipe",
"unlimited_team": "Équipe illimitée",
"letzshop_sync": "Synchronisation Letzshop",
"eu_vat_invoicing": "Facturation TVA UE",
"analytics_dashboard": "Tableau de bord analytique",
"api_access": "Accès API",
"multi_channel": "Intégration multi-canal",
"products": "produits",
"team_member": "membre d'équipe",
"unlimited": "Illimité",
"order_history": "mois d'historique",
"trial_note": "Tous les plans incluent un essai gratuit de {trial_days} jours. Aucune carte de crédit requise.",
"back_home": "Retour à l'accueil"
"platform": {
"nav": {
"pricing": "Tarifs",
"find_shop": "Trouvez votre boutique",
"start_trial": "Essai gratuit",
"admin_login": "Connexion Admin",
"store_login": "Connexion Vendeur",
"toggle_menu": "Basculer le menu",
"toggle_dark_mode": "Basculer le mode sombre"
},
"hero": {
"badge": "Essai gratuit de {trial_days} jours - Aucune carte de crédit requise",
"title": "OMS léger pour les vendeurs Letzshop",
"subtitle": "Gestion des commandes, stocks et facturation conçue pour le e-commerce luxembourgeois. Arrêtez de jongler avec les tableurs. Gérez votre entreprise.",
"cta_trial": "Essai gratuit",
"cta_find_shop": "Trouvez votre boutique Letzshop"
},
"pricing": {
"title": "Tarification simple et transparente",
"subtitle": "Choisissez le plan adapté à votre entreprise. Tous les plans incluent un essai gratuit de {trial_days} jours.",
"monthly": "Mensuel",
"annual": "Annuel",
"save_months": "Économisez 2 mois !",
"most_popular": "LE PLUS POPULAIRE",
"recommended": "RECOMMANDÉ",
"contact_sales": "Contactez-nous",
"start_trial": "Essai gratuit",
"per_month": "/mois",
"per_year": "/an",
"custom": "Sur mesure",
"orders_per_month": "{count} commandes/mois",
"unlimited_orders": "Commandes illimitées",
"products_limit": "{count} produits",
"unlimited_products": "Produits illimités",
"team_members": "{count} membres d'équipe",
"unlimited_team": "Équipe illimitée",
"letzshop_sync": "Synchronisation Letzshop",
"eu_vat_invoicing": "Facturation TVA UE",
"analytics_dashboard": "Tableau de bord analytique",
"api_access": "Accès API",
"multi_channel": "Intégration multi-canal",
"products": "produits",
"team_member": "membre d'équipe",
"unlimited": "Illimité",
"order_history": "mois d'historique",
"trial_note": "Tous les plans incluent un essai gratuit de {trial_days} jours. Aucune carte de crédit requise.",
"back_home": "Retour à l'accueil"
},
"features": {
"letzshop_sync": "Synchronisation Letzshop",
"inventory_basic": "Gestion de stock de base",
"inventory_locations": "Emplacements d'entrepôt",
"inventory_purchase_orders": "Bons de commande",
"invoice_lu": "Facturation TVA Luxembourg",
"invoice_eu_vat": "Facturation TVA UE",
"invoice_bulk": "Facturation en masse",
"customer_view": "Liste des clients",
"customer_export": "Export clients",
"analytics_dashboard": "Tableau de bord analytique",
"accounting_export": "Export comptable",
"api_access": "Accès API",
"automation_rules": "Règles d'automatisation",
"team_roles": "Rôles et permissions",
"white_label": "Option marque blanche",
"multi_store": "Support multi-vendeurs",
"custom_integrations": "Intégrations personnalisées",
"sla_guarantee": "Garantie SLA",
"dedicated_support": "Gestionnaire de compte dédié"
},
"addons": {
"title": "Améliorez votre plateforme",
"subtitle": "Ajoutez votre marque, e-mail professionnel et sécurité renforcée.",
"per_year": "/an",
"per_month": "/mois",
"custom_domain": "Domaine personnalisé",
"custom_domain_desc": "Utilisez votre propre domaine (mondomaine.com)",
"premium_ssl": "SSL Premium",
"premium_ssl_desc": "Certificat EV pour les badges de confiance",
"email_package": "Pack Email",
"email_package_desc": "Adresses e-mail professionnelles"
},
"find_shop": {
"title": "Trouvez votre boutique Letzshop",
"subtitle": "Vous vendez déjà sur Letzshop ? Entrez l'URL de votre boutique pour commencer.",
"placeholder": "Entrez votre URL Letzshop (ex: letzshop.lu/vendors/ma-boutique)",
"button": "Trouver ma boutique",
"claim_shop": "Réclamer cette boutique",
"already_claimed": "Déjà réclamée",
"no_account": "Vous n'avez pas de compte Letzshop ?",
"signup_letzshop": "Inscrivez-vous d'abord sur Letzshop",
"then_connect": ", puis revenez connecter votre boutique.",
"search_placeholder": "Entrez l'URL Letzshop ou le nom de la boutique...",
"search_button": "Rechercher",
"examples": "Exemples :",
"claim_button": "Réclamez cette boutique et démarrez l'essai gratuit",
"not_found": "Nous n'avons pas trouvé de boutique Letzshop avec cette URL. Vérifiez et réessayez.",
"or_signup": "Ou inscrivez-vous sans connexion Letzshop",
"need_help": "Besoin d'aide ?",
"no_account_yet": "Vous n'avez pas encore de compte Letzshop ? Pas de problème !",
"create_letzshop": "Créer un compte Letzshop",
"signup_without": "S'inscrire sans Letzshop",
"looking_up": "Recherche de votre boutique...",
"found": "Trouvé :",
"claimed_badge": "Déjà réclamée"
},
"signup": {
"step_plan": "Choisir le plan",
"step_shop": "Réclamer la boutique",
"step_account": "Compte",
"step_payment": "Paiement",
"choose_plan": "Choisissez votre plan",
"save_percent": "Économisez {percent}%",
"trial_info": "Nous collecterons vos informations de paiement, mais vous ne serez pas débité avant la fin de l'essai.",
"connect_shop": "Connectez votre boutique Letzshop",
"connect_optional": "Optionnel : Liez votre compte Letzshop pour synchroniser automatiquement les commandes.",
"connect_continue": "Connecter et continuer",
"skip_step": "Passer cette étape",
"create_account": "Créez votre compte",
"first_name": "Prénom",
"last_name": "Nom",
"merchant_name": "Nom de l'entreprise",
"email": "E-mail",
"password": "Mot de passe",
"password_hint": "Minimum 8 caractères",
"continue": "Continuer",
"continue_payment": "Continuer vers le paiement",
"back": "Retour",
"add_payment": "Ajouter un moyen de paiement",
"no_charge_note": "Vous ne serez pas débité avant la fin de votre essai de {trial_days} jours.",
"processing": "Traitement en cours...",
"start_trial": "Démarrer l'essai gratuit",
"creating_account": "Création de votre compte..."
},
"success": {
"title": "Bienvenue sur Wizamart !",
"subtitle": "Votre compte a été créé et votre essai gratuit de {trial_days} jours a commencé.",
"what_next": "Et maintenant ?",
"step_connect": "Connecter Letzshop :",
"step_connect_desc": "Ajoutez votre clé API pour commencer à synchroniser automatiquement les commandes.",
"step_invoicing": "Configurer la facturation :",
"step_invoicing_desc": "Configurez vos paramètres de facturation pour la conformité luxembourgeoise.",
"step_products": "Importer les produits :",
"step_products_desc": "Synchronisez votre catalogue de produits depuis Letzshop.",
"go_to_dashboard": "Aller au tableau de bord",
"login_dashboard": "Connexion au tableau de bord",
"need_help": "Besoin d'aide pour démarrer ?",
"contact_support": "Contactez notre équipe support"
},
"cta": {
"title": "Prêt à optimiser vos commandes ?",
"subtitle": "Rejoignez les vendeurs Letzshop qui font confiance à Wizamart pour leur gestion de commandes. Commencez votre essai gratuit de {trial_days} jours aujourd'hui.",
"button": "Essai gratuit"
},
"footer": {
"tagline": "OMS léger pour les vendeurs Letzshop. Gérez commandes, stocks et facturation.",
"quick_links": "Liens rapides",
"platform": "Plateforme",
"contact": "Contact",
"copyright": "© {year} Wizamart. Conçu pour le e-commerce luxembourgeois.",
"privacy": "Politique de confidentialité",
"terms": "Conditions d'utilisation",
"about": "À propos",
"faq": "FAQ",
"contact_us": "Nous contacter"
},
"modern": {
"badge_integration": "Intégration officielle",
"badge_connect": "Connexion en 2 minutes",
"hero_title_1": "Conçu pour le e-commerce luxembourgeois",
"hero_title_2": "Le back-office que Letzshop ne vous donne pas",
"hero_subtitle": "Synchronisez les commandes, gérez les stocks, générez des factures avec la TVA correcte et possédez vos données clients. Tout en un seul endroit.",
"cta_trial": "Essai gratuit de {trial_days} jours",
"cta_how": "Voir comment ça marche",
"hero_note": "Aucune carte de crédit requise. Configuration en 5 minutes. Annulez à tout moment.",
"pain_title": "Ça vous dit quelque chose ?",
"pain_subtitle": "Ce sont les frustrations quotidiennes des vendeurs Letzshop",
"pain_manual": "Saisie manuelle des commandes",
"pain_manual_desc": "Copier-coller les commandes de Letzshop vers des tableurs. Chaque. Jour.",
"pain_inventory": "Chaos des stocks",
"pain_inventory_desc": "Le stock dans Letzshop ne correspond pas à la réalité. Les surventes arrivent.",
"pain_vat": "Mauvaises factures TVA",
"pain_vat_desc": "Les clients UE ont besoin de la TVA correcte. Votre comptable se plaint.",
"pain_customers": "Clients perdus",
"pain_customers_desc": "Letzshop possède vos données clients. Vous ne pouvez pas les recibler ou fidéliser.",
"how_title": "Comment ça marche",
"how_subtitle": "Du chaos au contrôle en 4 étapes",
"how_step1": "Connecter Letzshop",
"how_step1_desc": "Entrez vos identifiants API Letzshop. Fait en 2 minutes, aucune compétence technique requise.",
"how_step2": "Les commandes arrivent",
"how_step2_desc": "Les commandes se synchronisent automatiquement. Confirmez et ajoutez le suivi directement depuis Wizamart.",
"how_step3": "Générer des factures",
"how_step3_desc": "Un clic pour créer des factures PDF conformes avec la TVA correcte pour tout pays UE.",
"how_step4": "Développez votre entreprise",
"how_step4_desc": "Exportez les clients pour le marketing. Suivez les stocks. Concentrez-vous sur la vente, pas les tableurs.",
"features_title": "Tout ce dont un vendeur Letzshop a besoin",
"features_subtitle": "Les outils opérationnels que Letzshop ne fournit pas",
"cta_final_title": "Prêt à prendre le contrôle de votre entreprise Letzshop ?",
"cta_final_subtitle": "Rejoignez les vendeurs luxembourgeois qui ont arrêté de lutter contre les tableurs et ont commencé à développer leur entreprise.",
"cta_final_note": "Aucune carte de crédit requise. Configuration en 5 minutes. Toutes les fonctionnalités Pro pendant l'essai."
}
},
"features": {
"letzshop_sync": "Synchronisation Letzshop",
"inventory_basic": "Gestion de stock de base",
"inventory_locations": "Emplacements d'entrepôt",
"inventory_purchase_orders": "Bons de commande",
"invoice_lu": "Facturation TVA Luxembourg",
"invoice_eu_vat": "Facturation TVA UE",
"invoice_bulk": "Facturation en masse",
"customer_view": "Liste des clients",
"customer_export": "Export clients",
"analytics_dashboard": "Tableau de bord analytique",
"accounting_export": "Export comptable",
"api_access": "Accès API",
"automation_rules": "Règles d'automatisation",
"team_roles": "Rôles et permissions",
"white_label": "Option marque blanche",
"multi_store": "Support multi-vendeurs",
"custom_integrations": "Intégrations personnalisées",
"sla_guarantee": "Garantie SLA",
"dedicated_support": "Gestionnaire de compte dédié"
"cms_pages_limit": {
"name": "Pages CMS",
"description": "Nombre maximum de pages de contenu",
"unit": "pages"
},
"cms_custom_pages_limit": {
"name": "Pages personnalisées",
"description": "Nombre maximum de pages personnalisées",
"unit": "pages"
},
"cms_basic": {
"name": "CMS de base",
"description": "Fonctionnalités de gestion de contenu de base"
},
"cms_seo": {
"name": "Outils SEO",
"description": "Outils d'optimisation pour les moteurs de recherche"
},
"cms_scheduling": {
"name": "Planification de contenu",
"description": "Planifier du contenu pour publication future"
},
"cms_templates": {
"name": "Modèles de pages",
"description": "Accès aux modèles de pages premium"
}
},
"addons": {
"title": "Améliorez votre plateforme",
"subtitle": "Ajoutez votre marque, e-mail professionnel et sécurité renforcée.",
"per_year": "/an",
"per_month": "/mois",
"custom_domain": "Domaine personnalisé",
"custom_domain_desc": "Utilisez votre propre domaine (mondomaine.com)",
"premium_ssl": "SSL Premium",
"premium_ssl_desc": "Certificat EV pour les badges de confiance",
"email_package": "Pack Email",
"email_package_desc": "Adresses e-mail professionnelles"
},
"find_shop": {
"title": "Trouvez votre boutique Letzshop",
"subtitle": "Vous vendez déjà sur Letzshop ? Entrez l'URL de votre boutique pour commencer.",
"placeholder": "Entrez votre URL Letzshop (ex: letzshop.lu/vendors/ma-boutique)",
"button": "Trouver ma boutique",
"claim_shop": "Réclamer cette boutique",
"already_claimed": "Déjà réclamée",
"no_account": "Vous n'avez pas de compte Letzshop ?",
"signup_letzshop": "Inscrivez-vous d'abord sur Letzshop",
"then_connect": ", puis revenez connecter votre boutique.",
"search_placeholder": "Entrez l'URL Letzshop ou le nom de la boutique...",
"search_button": "Rechercher",
"examples": "Exemples :",
"claim_button": "Réclamez cette boutique et démarrez l'essai gratuit",
"not_found": "Nous n'avons pas trouvé de boutique Letzshop avec cette URL. Vérifiez et réessayez.",
"or_signup": "Ou inscrivez-vous sans connexion Letzshop",
"need_help": "Besoin d'aide ?",
"no_account_yet": "Vous n'avez pas encore de compte Letzshop ? Pas de problème !",
"create_letzshop": "Créer un compte Letzshop",
"signup_without": "S'inscrire sans Letzshop",
"looking_up": "Recherche de votre boutique...",
"found": "Trouvé :",
"claimed_badge": "Déjà réclamée"
},
"signup": {
"step_plan": "Choisir le plan",
"step_shop": "Réclamer la boutique",
"step_account": "Compte",
"step_payment": "Paiement",
"choose_plan": "Choisissez votre plan",
"save_percent": "Économisez {percent}%",
"trial_info": "Nous collecterons vos informations de paiement, mais vous ne serez pas débité avant la fin de l'essai.",
"connect_shop": "Connectez votre boutique Letzshop",
"connect_optional": "Optionnel : Liez votre compte Letzshop pour synchroniser automatiquement les commandes.",
"connect_continue": "Connecter et continuer",
"skip_step": "Passer cette étape",
"create_account": "Créez votre compte",
"first_name": "Prénom",
"last_name": "Nom",
"merchant_name": "Nom de l'entreprise",
"email": "E-mail",
"password": "Mot de passe",
"password_hint": "Minimum 8 caractères",
"continue": "Continuer",
"continue_payment": "Continuer vers le paiement",
"back": "Retour",
"add_payment": "Ajouter un moyen de paiement",
"no_charge_note": "Vous ne serez pas débité avant la fin de votre essai de {trial_days} jours.",
"processing": "Traitement en cours...",
"start_trial": "Démarrer l'essai gratuit",
"creating_account": "Création de votre compte..."
},
"success": {
"title": "Bienvenue sur Wizamart !",
"subtitle": "Votre compte a été créé et votre essai gratuit de {trial_days} jours a commencé.",
"what_next": "Et maintenant ?",
"step_connect": "Connecter Letzshop :",
"step_connect_desc": "Ajoutez votre clé API pour commencer à synchroniser automatiquement les commandes.",
"step_invoicing": "Configurer la facturation :",
"step_invoicing_desc": "Configurez vos paramètres de facturation pour la conformité luxembourgeoise.",
"step_products": "Importer les produits :",
"step_products_desc": "Synchronisez votre catalogue de produits depuis Letzshop.",
"go_to_dashboard": "Aller au tableau de bord",
"login_dashboard": "Connexion au tableau de bord",
"need_help": "Besoin d'aide pour démarrer ?",
"contact_support": "Contactez notre équipe support"
},
"cta": {
"title": "Prêt à optimiser vos commandes ?",
"subtitle": "Rejoignez les vendeurs Letzshop qui font confiance à Wizamart pour leur gestion de commandes. Commencez votre essai gratuit de {trial_days} jours aujourd'hui.",
"button": "Essai gratuit"
},
"footer": {
"tagline": "OMS léger pour les vendeurs Letzshop. Gérez commandes, stocks et facturation.",
"quick_links": "Liens rapides",
"platform": "Plateforme",
"contact": "Contact",
"copyright": "© {year} Wizamart. Conçu pour le e-commerce luxembourgeois.",
"privacy": "Politique de confidentialité",
"terms": "Conditions d'utilisation",
"about": "À propos",
"faq": "FAQ",
"contact_us": "Nous contacter"
},
"modern": {
"badge_integration": "Intégration officielle",
"badge_connect": "Connexion en 2 minutes",
"hero_title_1": "Conçu pour le e-commerce luxembourgeois",
"hero_title_2": "Le back-office que Letzshop ne vous donne pas",
"hero_subtitle": "Synchronisez les commandes, gérez les stocks, générez des factures avec la TVA correcte et possédez vos données clients. Tout en un seul endroit.",
"cta_trial": "Essai gratuit de {trial_days} jours",
"cta_how": "Voir comment ça marche",
"hero_note": "Aucune carte de crédit requise. Configuration en 5 minutes. Annulez à tout moment.",
"pain_title": "Ça vous dit quelque chose ?",
"pain_subtitle": "Ce sont les frustrations quotidiennes des vendeurs Letzshop",
"pain_manual": "Saisie manuelle des commandes",
"pain_manual_desc": "Copier-coller les commandes de Letzshop vers des tableurs. Chaque. Jour.",
"pain_inventory": "Chaos des stocks",
"pain_inventory_desc": "Le stock dans Letzshop ne correspond pas à la réalité. Les surventes arrivent.",
"pain_vat": "Mauvaises factures TVA",
"pain_vat_desc": "Les clients UE ont besoin de la TVA correcte. Votre comptable se plaint.",
"pain_customers": "Clients perdus",
"pain_customers_desc": "Letzshop possède vos données clients. Vous ne pouvez pas les recibler ou fidéliser.",
"how_title": "Comment ça marche",
"how_subtitle": "Du chaos au contrôle en 4 étapes",
"how_step1": "Connecter Letzshop",
"how_step1_desc": "Entrez vos identifiants API Letzshop. Fait en 2 minutes, aucune compétence technique requise.",
"how_step2": "Les commandes arrivent",
"how_step2_desc": "Les commandes se synchronisent automatiquement. Confirmez et ajoutez le suivi directement depuis Wizamart.",
"how_step3": "Générer des factures",
"how_step3_desc": "Un clic pour créer des factures PDF conformes avec la TVA correcte pour tout pays UE.",
"how_step4": "Développez votre entreprise",
"how_step4_desc": "Exportez les clients pour le marketing. Suivez les stocks. Concentrez-vous sur la vente, pas les tableurs.",
"features_title": "Tout ce dont un vendeur Letzshop a besoin",
"features_subtitle": "Les outils opérationnels que Letzshop ne fournit pas",
"cta_final_title": "Prêt à prendre le contrôle de votre entreprise Letzshop ?",
"cta_final_subtitle": "Rejoignez les vendeurs luxembourgeois qui ont arrêté de lutter contre les tableurs et ont commencé à développer leur entreprise.",
"cta_final_note": "Aucune carte de crédit requise. Configuration en 5 minutes. Toutes les fonctionnalités Pro pendant l'essai."
"menu": {
"content_management": "Gestion du contenu",
"shop_content": "Contenu du magasin",
"content_pages": "Pages de contenu",
"store_themes": "Thèmes du magasin",
"media_library": "Médiathèque"
}
},
"features": {
"cms_pages_limit": {
"name": "Pages CMS",
"description": "Nombre maximum de pages de contenu",
"unit": "pages"
},
"cms_custom_pages_limit": {
"name": "Pages personnalisées",
"description": "Nombre maximum de pages personnalisées",
"unit": "pages"
},
"cms_basic": {
"name": "CMS de base",
"description": "Fonctionnalités de gestion de contenu de base"
},
"cms_seo": {
"name": "Outils SEO",
"description": "Outils d'optimisation pour les moteurs de recherche"
},
"cms_scheduling": {
"name": "Planification de contenu",
"description": "Planifier du contenu pour publication future"
},
"cms_templates": {
"name": "Modèles de pages",
"description": "Accès aux modèles de pages premium"
}
}
}

View File

@@ -1,231 +1,238 @@
{
"platform": {
"nav": {
"pricing": "Präisser",
"find_shop": "Fannt Äre Buttek",
"start_trial": "Gratis Testen",
"admin_login": "Admin Login",
"store_login": "Händler Login",
"toggle_menu": "Menü wiesselen",
"toggle_dark_mode": "Däischter Modus wiesselen"
},
"hero": {
"badge": "{trial_days}-Deeg gratis Testversioun - Keng Kreditkaart néideg",
"title": "Liichtt OMS fir Letzshop Verkeefer",
"subtitle": "Bestellungsverwaltung, Lager an Rechnungsstellung fir de lëtzebuergeschen E-Commerce. Schluss mat Tabellen. Féiert Äert Geschäft.",
"cta_trial": "Gratis Testen",
"cta_find_shop": "Fannt Äre Letzshop Buttek"
},
"pricing": {
"title": "Einfach, transparent Präisser",
"subtitle": "Wielt de Plang deen zu Ärer Firma passt. All Pläng enthalen eng {trial_days}-Deeg gratis Testversioun.",
"monthly": "Monatslech",
"annual": "Jäerlech",
"save_months": "Spuert 2 Méint!",
"most_popular": "AM BELÉIFSTEN",
"recommended": "EMPFOHLEN",
"contact_sales": "Kontaktéiert eis",
"start_trial": "Gratis Testen",
"per_month": "/Mount",
"per_year": "/Joer",
"custom": "Personnaliséiert",
"orders_per_month": "{count} Bestellungen/Mount",
"unlimited_orders": "Onbegrenzt Bestellungen",
"products_limit": "{count} Produkter",
"unlimited_products": "Onbegrenzt Produkter",
"team_members": "{count} Teammemberen",
"unlimited_team": "Onbegrenzt Team",
"letzshop_sync": "Letzshop Synchronisatioun",
"eu_vat_invoicing": "EU TVA Rechnungen",
"analytics_dashboard": "Analyse Dashboard",
"api_access": "API Zougang",
"multi_channel": "Multi-Channel Integratioun",
"products": "Produkter",
"team_member": "Teammember",
"unlimited": "Onbegrenzt",
"order_history": "Méint Bestellungshistorique",
"trial_note": "All Pläng enthalen eng {trial_days}-Deeg gratis Testversioun. Keng Kreditkaart néideg.",
"back_home": "Zréck op d'Haaptsäit"
"platform": {
"nav": {
"pricing": "Präisser",
"find_shop": "Fannt Äre Buttek",
"start_trial": "Gratis Testen",
"admin_login": "Admin Login",
"store_login": "Händler Login",
"toggle_menu": "Menü wiesselen",
"toggle_dark_mode": "Däischter Modus wiesselen"
},
"hero": {
"badge": "{trial_days}-Deeg gratis Testversioun - Keng Kreditkaart néideg",
"title": "Liichtt OMS fir Letzshop Verkeefer",
"subtitle": "Bestellungsverwaltung, Lager an Rechnungsstellung fir de lëtzebuergeschen E-Commerce. Schluss mat Tabellen. Féiert Äert Geschäft.",
"cta_trial": "Gratis Testen",
"cta_find_shop": "Fannt Äre Letzshop Buttek"
},
"pricing": {
"title": "Einfach, transparent Präisser",
"subtitle": "Wielt de Plang deen zu Ärer Firma passt. All Pläng enthalen eng {trial_days}-Deeg gratis Testversioun.",
"monthly": "Monatslech",
"annual": "Jäerlech",
"save_months": "Spuert 2 Méint!",
"most_popular": "AM BELÉIFSTEN",
"recommended": "EMPFOHLEN",
"contact_sales": "Kontaktéiert eis",
"start_trial": "Gratis Testen",
"per_month": "/Mount",
"per_year": "/Joer",
"custom": "Personnaliséiert",
"orders_per_month": "{count} Bestellungen/Mount",
"unlimited_orders": "Onbegrenzt Bestellungen",
"products_limit": "{count} Produkter",
"unlimited_products": "Onbegrenzt Produkter",
"team_members": "{count} Teammemberen",
"unlimited_team": "Onbegrenzt Team",
"letzshop_sync": "Letzshop Synchronisatioun",
"eu_vat_invoicing": "EU TVA Rechnungen",
"analytics_dashboard": "Analyse Dashboard",
"api_access": "API Zougang",
"multi_channel": "Multi-Channel Integratioun",
"products": "Produkter",
"team_member": "Teammember",
"unlimited": "Onbegrenzt",
"order_history": "Méint Bestellungshistorique",
"trial_note": "All Pläng enthalen eng {trial_days}-Deeg gratis Testversioun. Keng Kreditkaart néideg.",
"back_home": "Zréck op d'Haaptsäit"
},
"features": {
"letzshop_sync": "Letzshop Synchronisatioun",
"inventory_basic": "Basis Lagerverwaltung",
"inventory_locations": "Lagerstanduerten",
"inventory_purchase_orders": "Bestellungen",
"invoice_lu": "Lëtzebuerg TVA Rechnungen",
"invoice_eu_vat": "EU TVA Rechnungen",
"invoice_bulk": "Massrechnungen",
"customer_view": "Clientelëscht",
"customer_export": "Client Export",
"analytics_dashboard": "Analyse Dashboard",
"accounting_export": "Comptabilitéits Export",
"api_access": "API Zougang",
"automation_rules": "Automatiséierungsreegelen",
"team_roles": "Team Rollen an Autorisatiounen",
"white_label": "White-Label Optioun",
"multi_store": "Multi-Händler Ënnerstëtzung",
"custom_integrations": "Personnaliséiert Integratiounen",
"sla_guarantee": "SLA Garantie",
"dedicated_support": "Dedizéierte Kontobetreier"
},
"addons": {
"title": "Erweidert Är Plattform",
"subtitle": "Füügt Är Mark, professionell Email a verbessert Sécherheet derbäi.",
"per_year": "/Joer",
"per_month": "/Mount",
"custom_domain": "Eegen Domain",
"custom_domain_desc": "Benotzt Är eegen Domain (mengdomain.lu)",
"premium_ssl": "Premium SSL",
"premium_ssl_desc": "EV Zertifikat fir Vertrauensbadgen",
"email_package": "Email Package",
"email_package_desc": "Professionell Email Adressen"
},
"find_shop": {
"title": "Fannt Äre Letzshop Buttek",
"subtitle": "Verkaaft Dir schonn op Letzshop? Gitt Är Buttek URL an fir unzefänken.",
"placeholder": "Gitt Är Letzshop URL an (z.B. letzshop.lu/vendors/mäi-buttek)",
"button": "Mäi Buttek fannen",
"claim_shop": "Dëse Buttek reklaméieren",
"already_claimed": "Scho reklaméiert",
"no_account": "Kee Letzshop Kont?",
"signup_letzshop": "Registréiert Iech éischt bei Letzshop",
"then_connect": ", dann kommt zréck fir Äre Buttek ze verbannen.",
"search_placeholder": "Letzshop URL oder Butteknumm aginn...",
"search_button": "Sichen",
"examples": "Beispiller:",
"claim_button": "Dëse Buttek reklaméieren a gratis testen",
"not_found": "Mir konnten keen Letzshop Buttek mat dëser URL fannen. Iwwerpréift w.e.g. a probéiert nach eng Kéier.",
"or_signup": "Oder registréiert Iech ouni Letzshop Verbindung",
"need_help": "Braucht Dir Hëllef?",
"no_account_yet": "Dir hutt nach keen Letzshop Kont? Keen Problem!",
"create_letzshop": "Letzshop Kont erstellen",
"signup_without": "Ouni Letzshop registréieren",
"looking_up": "Sich Äre Buttek...",
"found": "Fonnt:",
"claimed_badge": "Scho reklaméiert"
},
"signup": {
"step_plan": "Plang wielen",
"step_shop": "Buttek reklaméieren",
"step_account": "Kont",
"step_payment": "Bezuelung",
"choose_plan": "Wielt Äre Plang",
"save_percent": "Spuert {percent}%",
"trial_info": "Mir sammelen Är Bezuelungsinformatiounen, awer Dir gitt eréischt nom Enn vun der Testperiod belaaschtt.",
"connect_shop": "Verbannt Äre Letzshop Buttek",
"connect_optional": "Optional: Verlinkt Äre Letzshop Kont fir Bestellungen automatesch ze synchroniséieren.",
"connect_continue": "Verbannen a weider",
"skip_step": "Dëse Schrëtt iwwersprangen",
"create_account": "Erstellt Äre Kont",
"first_name": "Virnumm",
"last_name": "Numm",
"merchant_name": "Firmennumm",
"email": "Email",
"password": "Passwuert",
"password_hint": "Mindestens 8 Zeechen",
"continue": "Weider",
"continue_payment": "Weider zur Bezuelung",
"back": "Zréck",
"add_payment": "Bezuelungsmethod derbäisetzen",
"no_charge_note": "Dir gitt eréischt nom Enn vun Ärer {trial_days}-Deeg Testperiod belaaschtt.",
"processing": "Veraarbechtung...",
"start_trial": "Gratis Testversioun starten",
"creating_account": "Erstellt Äre Kont..."
},
"success": {
"title": "Wëllkomm bei Wizamart!",
"subtitle": "Äre Kont gouf erstallt an Är {trial_days}-Deeg gratis Testversioun huet ugefaang.",
"what_next": "Wat kënnt duerno?",
"step_connect": "Letzshop verbannen:",
"step_connect_desc": "Füügt Äre API Schlëssel derbäi fir Bestellungen automatesch ze synchroniséieren.",
"step_invoicing": "Rechnungsstellung astellen:",
"step_invoicing_desc": "Konfiguréiert Är Rechnungsastellungen fir Lëtzebuerger Konformitéit.",
"step_products": "Produkter importéieren:",
"step_products_desc": "Synchroniséiert Äre Produktkatalog vu Letzshop.",
"go_to_dashboard": "Zum Dashboard",
"login_dashboard": "Am Dashboard umellen",
"need_help": "Braucht Dir Hëllef beim Ufänken?",
"contact_support": "Kontaktéiert eist Support Team"
},
"cta": {
"title": "Prett fir Är Bestellungen ze optiméieren?",
"subtitle": "Schléisst Iech Letzshop Händler un déi Wizamart fir hir Bestellungsverwaltung vertrauen. Fänkt haut Är {trial_days}-Deeg gratis Testversioun un.",
"button": "Gratis Testen"
},
"footer": {
"tagline": "Liichtt OMS fir Letzshop Verkeefer. Verwaltt Bestellungen, Lager an Rechnungen.",
"quick_links": "Séier Linken",
"platform": "Plattform",
"contact": "Kontakt",
"copyright": "© {year} Wizamart. Gemaach fir de lëtzebuergeschen E-Commerce.",
"privacy": "Dateschutzrichtlinn",
"terms": "Notzungsbedéngungen",
"about": "Iwwer eis",
"faq": "FAQ",
"contact_us": "Kontaktéiert eis"
},
"modern": {
"badge_integration": "Offiziell Integratioun",
"badge_connect": "An 2 Minutten verbannen",
"hero_title_1": "Gemaach fir de lëtzebuergeschen E-Commerce",
"hero_title_2": "De Back-Office dee Letzshop Iech net gëtt",
"hero_subtitle": "Synchroniséiert Bestellungen, verwaltt Lager, erstellt Rechnunge mat der korrekter TVA a besëtzt Är Clientsdaten. Alles un engem Plaz.",
"cta_trial": "{trial_days}-Deeg gratis testen",
"cta_how": "Kuckt wéi et funktionéiert",
"hero_note": "Keng Kreditkaart néideg. Setup an 5 Minutten. Ëmmer kënnegen.",
"pain_title": "Kënnt Iech dat bekannt vir?",
"pain_subtitle": "Dat sinn d'deeglech Frustratioune vu Letzshop Verkeefer",
"pain_manual": "Manuell Bestellungsagab",
"pain_manual_desc": "Bestellunge vu Letzshop an Tabelle kopéieren. All. Eenzelen. Dag.",
"pain_inventory": "Lager Chaos",
"pain_inventory_desc": "De Stock an Letzshop stëmmt net mat der Realitéit iwwereneen. Iwwerverkeef passéieren.",
"pain_vat": "Falsch TVA Rechnungen",
"pain_vat_desc": "EU Cliente brauchen déi korrekt TVA. Äre Comptabel beschwéiert sech.",
"pain_customers": "Verluer Clienten",
"pain_customers_desc": "Letzshop besëtzt Är Clientsdaten. Dir kënnt se net retargeten oder Loyalitéit opbauen.",
"how_title": "Wéi et funktionéiert",
"how_subtitle": "Vum Chaos zur Kontroll an 4 Schrëtt",
"how_step1": "Letzshop verbannen",
"how_step1_desc": "Gitt Är Letzshop API Zougangsdaten an. An 2 Minutte fäerdeg, keng technesch Kenntnisser néideg.",
"how_step2": "Bestellunge kommen eran",
"how_step2_desc": "Bestellunge ginn automatesch synchroniséiert. Confirméiert an Tracking direkt vu Wizamart derbäisetzen.",
"how_step3": "Rechnunge generéieren",
"how_step3_desc": "Ee Klick fir konform PDF Rechnunge mat korrekter TVA fir all EU Land ze erstellen.",
"how_step4": "Äert Geschäft ausbauen",
"how_step4_desc": "Exportéiert Clientë fir Marketing. Verfolgt Lagerstänn. Konzentréiert Iech op de Verkaf, net op Tabellen.",
"features_title": "Alles wat e Letzshop Verkeefer brauch",
"features_subtitle": "D'operativ Tools déi Letzshop net bitt",
"cta_final_title": "Prett fir d'Kontroll iwwer Äert Letzshop Geschäft ze iwwerhuelen?",
"cta_final_subtitle": "Schléisst Iech lëtzebuerger Händler un déi opgehalen hunn géint Tabellen ze kämpfen an ugefaang hunn hiert Geschäft auszbauen.",
"cta_final_note": "Keng Kreditkaart néideg. Setup an 5 Minutten. Voll Professional Fonctiounen während der Testperiod."
}
},
"features": {
"letzshop_sync": "Letzshop Synchronisatioun",
"inventory_basic": "Basis Lagerverwaltung",
"inventory_locations": "Lagerstanduerten",
"inventory_purchase_orders": "Bestellungen",
"invoice_lu": "Lëtzebuerg TVA Rechnungen",
"invoice_eu_vat": "EU TVA Rechnungen",
"invoice_bulk": "Massrechnungen",
"customer_view": "Clientelëscht",
"customer_export": "Client Export",
"analytics_dashboard": "Analyse Dashboard",
"accounting_export": "Comptabilitéits Export",
"api_access": "API Zougang",
"automation_rules": "Automatiséierungsreegelen",
"team_roles": "Team Rollen an Autorisatiounen",
"white_label": "White-Label Optioun",
"multi_store": "Multi-Händler Ënnerstëtzung",
"custom_integrations": "Personnaliséiert Integratiounen",
"sla_guarantee": "SLA Garantie",
"dedicated_support": "Dedizéierte Kontobetreier"
"cms_pages_limit": {
"name": "CMS-Säiten",
"description": "Maximal Unzuel vun Inhaltssäiten",
"unit": "Säiten"
},
"cms_custom_pages_limit": {
"name": "Eegen Säiten",
"description": "Maximal Unzuel vun individuell gestaltete Säiten",
"unit": "Säiten"
},
"cms_basic": {
"name": "Basis-CMS",
"description": "Grond-Inhaltsverwalungsfunktiounen"
},
"cms_seo": {
"name": "SEO-Tools",
"description": "Sichmaschinnenoptiméierungstools"
},
"cms_scheduling": {
"name": "Inhaltsplanung",
"description": "Inhalter fir zukünfteg Verëffentlechung plangen"
},
"cms_templates": {
"name": "Säitevirlagen",
"description": "Zougang zu Premium-Säitevirlagen"
}
},
"addons": {
"title": "Erweidert Är Plattform",
"subtitle": "Füügt Är Mark, professionell Email a verbessert Sécherheet derbäi.",
"per_year": "/Joer",
"per_month": "/Mount",
"custom_domain": "Eegen Domain",
"custom_domain_desc": "Benotzt Är eegen Domain (mengdomain.lu)",
"premium_ssl": "Premium SSL",
"premium_ssl_desc": "EV Zertifikat fir Vertrauensbadgen",
"email_package": "Email Package",
"email_package_desc": "Professionell Email Adressen"
},
"find_shop": {
"title": "Fannt Äre Letzshop Buttek",
"subtitle": "Verkaaft Dir schonn op Letzshop? Gitt Är Buttek URL an fir unzefänken.",
"placeholder": "Gitt Är Letzshop URL an (z.B. letzshop.lu/vendors/mäi-buttek)",
"button": "Mäi Buttek fannen",
"claim_shop": "Dëse Buttek reklaméieren",
"already_claimed": "Scho reklaméiert",
"no_account": "Kee Letzshop Kont?",
"signup_letzshop": "Registréiert Iech éischt bei Letzshop",
"then_connect": ", dann kommt zréck fir Äre Buttek ze verbannen.",
"search_placeholder": "Letzshop URL oder Butteknumm aginn...",
"search_button": "Sichen",
"examples": "Beispiller:",
"claim_button": "Dëse Buttek reklaméieren a gratis testen",
"not_found": "Mir konnten keen Letzshop Buttek mat dëser URL fannen. Iwwerpréift w.e.g. a probéiert nach eng Kéier.",
"or_signup": "Oder registréiert Iech ouni Letzshop Verbindung",
"need_help": "Braucht Dir Hëllef?",
"no_account_yet": "Dir hutt nach keen Letzshop Kont? Keen Problem!",
"create_letzshop": "Letzshop Kont erstellen",
"signup_without": "Ouni Letzshop registréieren",
"looking_up": "Sich Äre Buttek...",
"found": "Fonnt:",
"claimed_badge": "Scho reklaméiert"
},
"signup": {
"step_plan": "Plang wielen",
"step_shop": "Buttek reklaméieren",
"step_account": "Kont",
"step_payment": "Bezuelung",
"choose_plan": "Wielt Äre Plang",
"save_percent": "Spuert {percent}%",
"trial_info": "Mir sammelen Är Bezuelungsinformatiounen, awer Dir gitt eréischt nom Enn vun der Testperiod belaaschtt.",
"connect_shop": "Verbannt Äre Letzshop Buttek",
"connect_optional": "Optional: Verlinkt Äre Letzshop Kont fir Bestellungen automatesch ze synchroniséieren.",
"connect_continue": "Verbannen a weider",
"skip_step": "Dëse Schrëtt iwwersprangen",
"create_account": "Erstellt Äre Kont",
"first_name": "Virnumm",
"last_name": "Numm",
"merchant_name": "Firmennumm",
"email": "Email",
"password": "Passwuert",
"password_hint": "Mindestens 8 Zeechen",
"continue": "Weider",
"continue_payment": "Weider zur Bezuelung",
"back": "Zréck",
"add_payment": "Bezuelungsmethod derbäisetzen",
"no_charge_note": "Dir gitt eréischt nom Enn vun Ärer {trial_days}-Deeg Testperiod belaaschtt.",
"processing": "Veraarbechtung...",
"start_trial": "Gratis Testversioun starten",
"creating_account": "Erstellt Äre Kont..."
},
"success": {
"title": "Wëllkomm bei Wizamart!",
"subtitle": "Äre Kont gouf erstallt an Är {trial_days}-Deeg gratis Testversioun huet ugefaang.",
"what_next": "Wat kënnt duerno?",
"step_connect": "Letzshop verbannen:",
"step_connect_desc": "Füügt Äre API Schlëssel derbäi fir Bestellungen automatesch ze synchroniséieren.",
"step_invoicing": "Rechnungsstellung astellen:",
"step_invoicing_desc": "Konfiguréiert Är Rechnungsastellungen fir Lëtzebuerger Konformitéit.",
"step_products": "Produkter importéieren:",
"step_products_desc": "Synchroniséiert Äre Produktkatalog vu Letzshop.",
"go_to_dashboard": "Zum Dashboard",
"login_dashboard": "Am Dashboard umellen",
"need_help": "Braucht Dir Hëllef beim Ufänken?",
"contact_support": "Kontaktéiert eist Support Team"
},
"cta": {
"title": "Prett fir Är Bestellungen ze optiméieren?",
"subtitle": "Schléisst Iech Letzshop Händler un déi Wizamart fir hir Bestellungsverwaltung vertrauen. Fänkt haut Är {trial_days}-Deeg gratis Testversioun un.",
"button": "Gratis Testen"
},
"footer": {
"tagline": "Liichtt OMS fir Letzshop Verkeefer. Verwaltt Bestellungen, Lager an Rechnungen.",
"quick_links": "Séier Linken",
"platform": "Plattform",
"contact": "Kontakt",
"copyright": "© {year} Wizamart. Gemaach fir de lëtzebuergeschen E-Commerce.",
"privacy": "Dateschutzrichtlinn",
"terms": "Notzungsbedéngungen",
"about": "Iwwer eis",
"faq": "FAQ",
"contact_us": "Kontaktéiert eis"
},
"modern": {
"badge_integration": "Offiziell Integratioun",
"badge_connect": "An 2 Minutten verbannen",
"hero_title_1": "Gemaach fir de lëtzebuergeschen E-Commerce",
"hero_title_2": "De Back-Office dee Letzshop Iech net gëtt",
"hero_subtitle": "Synchroniséiert Bestellungen, verwaltt Lager, erstellt Rechnunge mat der korrekter TVA a besëtzt Är Clientsdaten. Alles un engem Plaz.",
"cta_trial": "{trial_days}-Deeg gratis testen",
"cta_how": "Kuckt wéi et funktionéiert",
"hero_note": "Keng Kreditkaart néideg. Setup an 5 Minutten. Ëmmer kënnegen.",
"pain_title": "Kënnt Iech dat bekannt vir?",
"pain_subtitle": "Dat sinn d'deeglech Frustratioune vu Letzshop Verkeefer",
"pain_manual": "Manuell Bestellungsagab",
"pain_manual_desc": "Bestellunge vu Letzshop an Tabelle kopéieren. All. Eenzelen. Dag.",
"pain_inventory": "Lager Chaos",
"pain_inventory_desc": "De Stock an Letzshop stëmmt net mat der Realitéit iwwereneen. Iwwerverkeef passéieren.",
"pain_vat": "Falsch TVA Rechnungen",
"pain_vat_desc": "EU Cliente brauchen déi korrekt TVA. Äre Comptabel beschwéiert sech.",
"pain_customers": "Verluer Clienten",
"pain_customers_desc": "Letzshop besëtzt Är Clientsdaten. Dir kënnt se net retargeten oder Loyalitéit opbauen.",
"how_title": "Wéi et funktionéiert",
"how_subtitle": "Vum Chaos zur Kontroll an 4 Schrëtt",
"how_step1": "Letzshop verbannen",
"how_step1_desc": "Gitt Är Letzshop API Zougangsdaten an. An 2 Minutte fäerdeg, keng technesch Kenntnisser néideg.",
"how_step2": "Bestellunge kommen eran",
"how_step2_desc": "Bestellunge ginn automatesch synchroniséiert. Confirméiert an Tracking direkt vu Wizamart derbäisetzen.",
"how_step3": "Rechnunge generéieren",
"how_step3_desc": "Ee Klick fir konform PDF Rechnunge mat korrekter TVA fir all EU Land ze erstellen.",
"how_step4": "Äert Geschäft ausbauen",
"how_step4_desc": "Exportéiert Clientë fir Marketing. Verfolgt Lagerstänn. Konzentréiert Iech op de Verkaf, net op Tabellen.",
"features_title": "Alles wat e Letzshop Verkeefer brauch",
"features_subtitle": "D'operativ Tools déi Letzshop net bitt",
"cta_final_title": "Prett fir d'Kontroll iwwer Äert Letzshop Geschäft ze iwwerhuelen?",
"cta_final_subtitle": "Schléisst Iech lëtzebuerger Händler un déi opgehalen hunn géint Tabellen ze kämpfen an ugefaang hunn hiert Geschäft auszbauen.",
"cta_final_note": "Keng Kreditkaart néideg. Setup an 5 Minutten. Voll Professional Fonctiounen während der Testperiod."
"menu": {
"content_management": "Inhaltsverwaltung",
"shop_content": "Buttek-Inhalter",
"content_pages": "Inhaltsäiten",
"store_themes": "Buttek-Themen",
"media_library": "Mediathéik"
}
},
"features": {
"cms_pages_limit": {
"name": "CMS-Säiten",
"description": "Maximal Unzuel vun Inhaltssäiten",
"unit": "Säiten"
},
"cms_custom_pages_limit": {
"name": "Eegen Säiten",
"description": "Maximal Unzuel vun individuell gestaltete Säiten",
"unit": "Säiten"
},
"cms_basic": {
"name": "Basis-CMS",
"description": "Grond-Inhaltsverwalungsfunktiounen"
},
"cms_seo": {
"name": "SEO-Tools",
"description": "Sichmaschinnenoptiméierungstools"
},
"cms_scheduling": {
"name": "Inhaltsplanung",
"description": "Inhalter fir zukünfteg Verëffentlechung plangen"
},
"cms_templates": {
"name": "Säitevirlagen",
"description": "Zougang zu Premium-Säitevirlagen"
}
}
}

View File

@@ -1,71 +1,80 @@
{
"dashboard": {
"title": "Dashboard",
"welcome": "Willkommen zurück",
"overview": "Übersicht",
"quick_stats": "Schnellstatistiken",
"recent_activity": "Letzte Aktivitäten",
"total_products": "Produkte gesamt",
"total_orders": "Bestellungen gesamt",
"total_customers": "Kunden gesamt",
"total_revenue": "Gesamtumsatz",
"active_products": "Aktive Produkte",
"pending_orders": "Ausstehende Bestellungen",
"new_customers": "Neue Kunden",
"today": "Heute",
"this_week": "Diese Woche",
"this_month": "Dieser Monat",
"this_year": "Dieses Jahr",
"error_loading": "Fehler beim Laden des Dashboards",
"no_data": "Keine Daten verfügbar"
},
"settings": {
"title": "Einstellungen",
"general": "Allgemein",
"store": "Shop",
"store_name": "Shop-Name",
"store_description": "Shop-Beschreibung",
"contact_email": "Kontakt-E-Mail",
"contact_phone": "Kontakttelefon",
"business_address": "Geschäftsadresse",
"tax_number": "Steuernummer",
"currency": "Währung",
"timezone": "Zeitzone",
"language": "Sprache",
"language_settings": "Spracheinstellungen",
"default_language": "Standardsprache",
"dashboard_language": "Dashboard-Sprache",
"storefront_language": "Shop-Sprache",
"enabled_languages": "Aktivierte Sprachen",
"notifications": "Benachrichtigungen",
"email_notifications": "E-Mail-Benachrichtigungen",
"integrations": "Integrationen",
"api_keys": "API-Schlüssel",
"webhooks": "Webhooks",
"save_settings": "Einstellungen speichern",
"settings_saved": "Einstellungen erfolgreich gespeichert"
},
"profile": {
"title": "Profil",
"my_profile": "Mein Profil",
"edit_profile": "Profil bearbeiten",
"personal_info": "Persönliche Informationen",
"first_name": "Vorname",
"last_name": "Nachname",
"email": "E-Mail",
"phone": "Telefon",
"avatar": "Profilbild",
"change_avatar": "Profilbild ändern",
"security": "Sicherheit",
"two_factor": "Zwei-Faktor-Authentifizierung",
"sessions": "Aktive Sitzungen",
"preferences": "Präferenzen",
"language_preference": "Sprachpräferenz",
"save_profile": "Profil speichern",
"profile_updated": "Profil erfolgreich aktualisiert"
},
"messages": {
"failed_to_load_dashboard_data": "Failed to load dashboard data",
"dashboard_refreshed": "Dashboard refreshed"
}
"dashboard": {
"title": "Dashboard",
"welcome": "Willkommen zurück",
"overview": "Übersicht",
"quick_stats": "Schnellstatistiken",
"recent_activity": "Letzte Aktivitäten",
"total_products": "Produkte gesamt",
"total_orders": "Bestellungen gesamt",
"total_customers": "Kunden gesamt",
"total_revenue": "Gesamtumsatz",
"active_products": "Aktive Produkte",
"pending_orders": "Ausstehende Bestellungen",
"new_customers": "Neue Kunden",
"today": "Heute",
"this_week": "Diese Woche",
"this_month": "Dieser Monat",
"this_year": "Dieses Jahr",
"error_loading": "Fehler beim Laden des Dashboards",
"no_data": "Keine Daten verfügbar"
},
"settings": {
"title": "Einstellungen",
"general": "Allgemein",
"store": "Shop",
"store_name": "Shop-Name",
"store_description": "Shop-Beschreibung",
"contact_email": "Kontakt-E-Mail",
"contact_phone": "Kontakttelefon",
"business_address": "Geschäftsadresse",
"tax_number": "Steuernummer",
"currency": "Währung",
"timezone": "Zeitzone",
"language": "Sprache",
"language_settings": "Spracheinstellungen",
"default_language": "Standardsprache",
"dashboard_language": "Dashboard-Sprache",
"storefront_language": "Shop-Sprache",
"enabled_languages": "Aktivierte Sprachen",
"notifications": "Benachrichtigungen",
"email_notifications": "E-Mail-Benachrichtigungen",
"integrations": "Integrationen",
"api_keys": "API-Schlüssel",
"webhooks": "Webhooks",
"save_settings": "Einstellungen speichern",
"settings_saved": "Einstellungen erfolgreich gespeichert"
},
"profile": {
"title": "Profil",
"my_profile": "Mein Profil",
"edit_profile": "Profil bearbeiten",
"personal_info": "Persönliche Informationen",
"first_name": "Vorname",
"last_name": "Nachname",
"email": "E-Mail",
"phone": "Telefon",
"avatar": "Profilbild",
"change_avatar": "Profilbild ändern",
"security": "Sicherheit",
"two_factor": "Zwei-Faktor-Authentifizierung",
"sessions": "Aktive Sitzungen",
"preferences": "Präferenzen",
"language_preference": "Sprachpräferenz",
"save_profile": "Profil speichern",
"profile_updated": "Profil erfolgreich aktualisiert"
},
"messages": {
"failed_to_load_dashboard_data": "Failed to load dashboard data",
"dashboard_refreshed": "Dashboard refreshed"
},
"menu": {
"dashboard": "Dashboard",
"platform_settings": "Plattform-Einstellungen",
"general": "Allgemein",
"my_menu": "Mein Menü",
"account_settings": "Kontoeinstellungen",
"profile": "Profil",
"settings": "Einstellungen"
}
}

View File

@@ -1,79 +1,88 @@
{
"dashboard": {
"title": "Dashboard",
"welcome": "Welcome back",
"overview": "Overview",
"quick_stats": "Quick Stats",
"recent_activity": "Recent Activity",
"total_products": "Total Products",
"total_orders": "Total Orders",
"total_customers": "Total Customers",
"total_revenue": "Total Revenue",
"active_products": "Active Products",
"pending_orders": "Pending Orders",
"new_customers": "New Customers",
"today": "Today",
"this_week": "This Week",
"this_month": "This Month",
"this_year": "This Year",
"error_loading": "Error loading dashboard",
"no_data": "No data available"
},
"settings": {
"title": "Settings",
"general": "General",
"store": "Store",
"store_name": "Store Name",
"store_description": "Store Description",
"contact_email": "Contact Email",
"contact_phone": "Contact Phone",
"business_address": "Business Address",
"tax_number": "Tax Number",
"currency": "Currency",
"timezone": "Timezone",
"language": "Language",
"language_settings": "Language Settings",
"default_language": "Default Language",
"dashboard_language": "Dashboard Language",
"storefront_language": "Storefront Language",
"enabled_languages": "Enabled Languages",
"notifications": "Notifications",
"email_notifications": "Email Notifications",
"integrations": "Integrations",
"api_keys": "API Keys",
"webhooks": "Webhooks",
"save_settings": "Save Settings",
"settings_saved": "Settings saved successfully"
},
"profile": {
"title": "Profile",
"my_profile": "My Profile",
"edit_profile": "Edit Profile",
"personal_info": "Personal Information",
"first_name": "First Name",
"last_name": "Last Name",
"email": "Email",
"phone": "Phone",
"avatar": "Avatar",
"change_avatar": "Change Avatar",
"security": "Security",
"two_factor": "Two-Factor Authentication",
"sessions": "Active Sessions",
"preferences": "Preferences",
"language_preference": "Language Preference",
"save_profile": "Save Profile",
"profile_updated": "Profile updated successfully"
},
"messages": {
"failed_to_load_dashboard_data": "Failed to load dashboard data",
"dashboard_refreshed": "Dashboard refreshed",
"item_removed_from_cart": "Item removed from cart",
"cart_cleared": "Cart cleared"
},
"confirmations": {
"show_all_menu_items": "This will show all menu items. Continue?",
"hide_all_menu_items": "This will hide all menu items (except mandatory ones). You can then enable the ones you want. Continue?",
"reset_email_settings": "This will reset all email settings to use .env defaults. Continue?",
"cleanup_logs": "This will delete all logs older than {days} days. Continue?"
}
"dashboard": {
"title": "Dashboard",
"welcome": "Welcome back",
"overview": "Overview",
"quick_stats": "Quick Stats",
"recent_activity": "Recent Activity",
"total_products": "Total Products",
"total_orders": "Total Orders",
"total_customers": "Total Customers",
"total_revenue": "Total Revenue",
"active_products": "Active Products",
"pending_orders": "Pending Orders",
"new_customers": "New Customers",
"today": "Today",
"this_week": "This Week",
"this_month": "This Month",
"this_year": "This Year",
"error_loading": "Error loading dashboard",
"no_data": "No data available"
},
"settings": {
"title": "Settings",
"general": "General",
"store": "Store",
"store_name": "Store Name",
"store_description": "Store Description",
"contact_email": "Contact Email",
"contact_phone": "Contact Phone",
"business_address": "Business Address",
"tax_number": "Tax Number",
"currency": "Currency",
"timezone": "Timezone",
"language": "Language",
"language_settings": "Language Settings",
"default_language": "Default Language",
"dashboard_language": "Dashboard Language",
"storefront_language": "Storefront Language",
"enabled_languages": "Enabled Languages",
"notifications": "Notifications",
"email_notifications": "Email Notifications",
"integrations": "Integrations",
"api_keys": "API Keys",
"webhooks": "Webhooks",
"save_settings": "Save Settings",
"settings_saved": "Settings saved successfully"
},
"profile": {
"title": "Profile",
"my_profile": "My Profile",
"edit_profile": "Edit Profile",
"personal_info": "Personal Information",
"first_name": "First Name",
"last_name": "Last Name",
"email": "Email",
"phone": "Phone",
"avatar": "Avatar",
"change_avatar": "Change Avatar",
"security": "Security",
"two_factor": "Two-Factor Authentication",
"sessions": "Active Sessions",
"preferences": "Preferences",
"language_preference": "Language Preference",
"save_profile": "Save Profile",
"profile_updated": "Profile updated successfully"
},
"messages": {
"failed_to_load_dashboard_data": "Failed to load dashboard data",
"dashboard_refreshed": "Dashboard refreshed",
"item_removed_from_cart": "Item removed from cart",
"cart_cleared": "Cart cleared"
},
"confirmations": {
"show_all_menu_items": "This will show all menu items. Continue?",
"hide_all_menu_items": "This will hide all menu items (except mandatory ones). You can then enable the ones you want. Continue?",
"reset_email_settings": "This will reset all email settings to use .env defaults. Continue?",
"cleanup_logs": "This will delete all logs older than {days} days. Continue?"
},
"menu": {
"dashboard": "Dashboard",
"platform_settings": "Platform Settings",
"general": "General",
"my_menu": "My Menu",
"account_settings": "Account Settings",
"profile": "Profile",
"settings": "Settings"
}
}

View File

@@ -1,71 +1,80 @@
{
"dashboard": {
"title": "Tableau de bord",
"welcome": "Bienvenue",
"overview": "Vue d'ensemble",
"quick_stats": "Statistiques rapides",
"recent_activity": "Activité récente",
"total_products": "Total des produits",
"total_orders": "Total des commandes",
"total_customers": "Total des clients",
"total_revenue": "Chiffre d'affaires total",
"active_products": "Produits actifs",
"pending_orders": "Commandes en attente",
"new_customers": "Nouveaux clients",
"today": "Aujourd'hui",
"this_week": "Cette semaine",
"this_month": "Ce mois",
"this_year": "Cette année",
"error_loading": "Erreur lors du chargement du tableau de bord",
"no_data": "Aucune donnée disponible"
},
"settings": {
"title": "Paramètres",
"general": "Général",
"store": "Boutique",
"store_name": "Nom de la boutique",
"store_description": "Description de la boutique",
"contact_email": "E-mail de contact",
"contact_phone": "Téléphone de contact",
"business_address": "Adresse professionnelle",
"tax_number": "Numéro de TVA",
"currency": "Devise",
"timezone": "Fuseau horaire",
"language": "Langue",
"language_settings": "Paramètres de langue",
"default_language": "Langue par défaut",
"dashboard_language": "Langue du tableau de bord",
"storefront_language": "Langue de la boutique",
"enabled_languages": "Langues activées",
"notifications": "Notifications",
"email_notifications": "Notifications par e-mail",
"integrations": "Intégrations",
"api_keys": "Clés API",
"webhooks": "Webhooks",
"save_settings": "Enregistrer les paramètres",
"settings_saved": "Paramètres enregistrés avec succès"
},
"profile": {
"title": "Profil",
"my_profile": "Mon profil",
"edit_profile": "Modifier le profil",
"personal_info": "Informations personnelles",
"first_name": "Prénom",
"last_name": "Nom",
"email": "E-mail",
"phone": "Téléphone",
"avatar": "Avatar",
"change_avatar": "Changer l'avatar",
"security": "Sécurité",
"two_factor": "Authentification à deux facteurs",
"sessions": "Sessions actives",
"preferences": "Préférences",
"language_preference": "Préférence de langue",
"save_profile": "Enregistrer le profil",
"profile_updated": "Profil mis à jour avec succès"
},
"messages": {
"failed_to_load_dashboard_data": "Failed to load dashboard data",
"dashboard_refreshed": "Dashboard refreshed"
}
"dashboard": {
"title": "Tableau de bord",
"welcome": "Bienvenue",
"overview": "Vue d'ensemble",
"quick_stats": "Statistiques rapides",
"recent_activity": "Activité récente",
"total_products": "Total des produits",
"total_orders": "Total des commandes",
"total_customers": "Total des clients",
"total_revenue": "Chiffre d'affaires total",
"active_products": "Produits actifs",
"pending_orders": "Commandes en attente",
"new_customers": "Nouveaux clients",
"today": "Aujourd'hui",
"this_week": "Cette semaine",
"this_month": "Ce mois",
"this_year": "Cette année",
"error_loading": "Erreur lors du chargement du tableau de bord",
"no_data": "Aucune donnée disponible"
},
"settings": {
"title": "Paramètres",
"general": "Général",
"store": "Boutique",
"store_name": "Nom de la boutique",
"store_description": "Description de la boutique",
"contact_email": "E-mail de contact",
"contact_phone": "Téléphone de contact",
"business_address": "Adresse professionnelle",
"tax_number": "Numéro de TVA",
"currency": "Devise",
"timezone": "Fuseau horaire",
"language": "Langue",
"language_settings": "Paramètres de langue",
"default_language": "Langue par défaut",
"dashboard_language": "Langue du tableau de bord",
"storefront_language": "Langue de la boutique",
"enabled_languages": "Langues activées",
"notifications": "Notifications",
"email_notifications": "Notifications par e-mail",
"integrations": "Intégrations",
"api_keys": "Clés API",
"webhooks": "Webhooks",
"save_settings": "Enregistrer les paramètres",
"settings_saved": "Paramètres enregistrés avec succès"
},
"profile": {
"title": "Profil",
"my_profile": "Mon profil",
"edit_profile": "Modifier le profil",
"personal_info": "Informations personnelles",
"first_name": "Prénom",
"last_name": "Nom",
"email": "E-mail",
"phone": "Téléphone",
"avatar": "Avatar",
"change_avatar": "Changer l'avatar",
"security": "Sécurité",
"two_factor": "Authentification à deux facteurs",
"sessions": "Sessions actives",
"preferences": "Préférences",
"language_preference": "Préférence de langue",
"save_profile": "Enregistrer le profil",
"profile_updated": "Profil mis à jour avec succès"
},
"messages": {
"failed_to_load_dashboard_data": "Failed to load dashboard data",
"dashboard_refreshed": "Dashboard refreshed"
},
"menu": {
"dashboard": "Tableau de bord",
"platform_settings": "Paramètres de la plateforme",
"general": "Général",
"my_menu": "Mon menu",
"account_settings": "Paramètres du compte",
"profile": "Profil",
"settings": "Paramètres"
}
}

View File

@@ -1,71 +1,80 @@
{
"dashboard": {
"title": "Dashboard",
"welcome": "Wëllkomm zréck",
"overview": "Iwwersiicht",
"quick_stats": "Séier Statistiken",
"recent_activity": "Rezent Aktivitéit",
"total_products": "Produkter insgesamt",
"total_orders": "Bestellungen insgesamt",
"total_customers": "Clienten insgesamt",
"total_revenue": "Ëmsaz insgesamt",
"active_products": "Aktiv Produkter",
"pending_orders": "Aussteesend Bestellungen",
"new_customers": "Nei Clienten",
"today": "Haut",
"this_week": "Dës Woch",
"this_month": "Dëse Mount",
"this_year": "Dëst Joer",
"error_loading": "Feeler beim Lueden vum Dashboard",
"no_data": "Keng Donnéeën disponibel"
},
"settings": {
"title": "Astellungen",
"general": "Allgemeng",
"store": "Buttek",
"store_name": "Butteknumm",
"store_description": "Buttekbeschreiwung",
"contact_email": "Kontakt E-Mail",
"contact_phone": "Kontakt Telefon",
"business_address": "Geschäftsadress",
"tax_number": "Steiernummer",
"currency": "Wärung",
"timezone": "Zäitzon",
"language": "Sprooch",
"language_settings": "Sproochastellungen",
"default_language": "Standard Sprooch",
"dashboard_language": "Dashboard Sprooch",
"storefront_language": "Buttek Sprooch",
"enabled_languages": "Aktivéiert Sproochen",
"notifications": "Notifikatiounen",
"email_notifications": "E-Mail Notifikatiounen",
"integrations": "Integratiounen",
"api_keys": "API Schlësselen",
"webhooks": "Webhooks",
"save_settings": "Astellunge späicheren",
"settings_saved": "Astellungen erfollegräich gespäichert"
},
"profile": {
"title": "Profil",
"my_profile": "Mäi Profil",
"edit_profile": "Profil änneren",
"personal_info": "Perséinlech Informatiounen",
"first_name": "Virnumm",
"last_name": "Nonumm",
"email": "E-Mail",
"phone": "Telefon",
"avatar": "Avatar",
"change_avatar": "Avatar änneren",
"security": "Sécherheet",
"two_factor": "Zwee-Faktor Authentifikatioun",
"sessions": "Aktiv Sessiounen",
"preferences": "Astellungen",
"language_preference": "Sproochpräferenz",
"save_profile": "Profil späicheren",
"profile_updated": "Profil erfollegräich aktualiséiert"
},
"messages": {
"failed_to_load_dashboard_data": "Failed to load dashboard data",
"dashboard_refreshed": "Dashboard refreshed"
}
"dashboard": {
"title": "Dashboard",
"welcome": "Wëllkomm zréck",
"overview": "Iwwersiicht",
"quick_stats": "Séier Statistiken",
"recent_activity": "Rezent Aktivitéit",
"total_products": "Produkter insgesamt",
"total_orders": "Bestellungen insgesamt",
"total_customers": "Clienten insgesamt",
"total_revenue": "Ëmsaz insgesamt",
"active_products": "Aktiv Produkter",
"pending_orders": "Aussteesend Bestellungen",
"new_customers": "Nei Clienten",
"today": "Haut",
"this_week": "Dës Woch",
"this_month": "Dëse Mount",
"this_year": "Dëst Joer",
"error_loading": "Feeler beim Lueden vum Dashboard",
"no_data": "Keng Donnéeën disponibel"
},
"settings": {
"title": "Astellungen",
"general": "Allgemeng",
"store": "Buttek",
"store_name": "Butteknumm",
"store_description": "Buttekbeschreiwung",
"contact_email": "Kontakt E-Mail",
"contact_phone": "Kontakt Telefon",
"business_address": "Geschäftsadress",
"tax_number": "Steiernummer",
"currency": "Wärung",
"timezone": "Zäitzon",
"language": "Sprooch",
"language_settings": "Sproochastellungen",
"default_language": "Standard Sprooch",
"dashboard_language": "Dashboard Sprooch",
"storefront_language": "Buttek Sprooch",
"enabled_languages": "Aktivéiert Sproochen",
"notifications": "Notifikatiounen",
"email_notifications": "E-Mail Notifikatiounen",
"integrations": "Integratiounen",
"api_keys": "API Schlësselen",
"webhooks": "Webhooks",
"save_settings": "Astellunge späicheren",
"settings_saved": "Astellungen erfollegräich gespäichert"
},
"profile": {
"title": "Profil",
"my_profile": "Mäi Profil",
"edit_profile": "Profil änneren",
"personal_info": "Perséinlech Informatiounen",
"first_name": "Virnumm",
"last_name": "Nonumm",
"email": "E-Mail",
"phone": "Telefon",
"avatar": "Avatar",
"change_avatar": "Avatar änneren",
"security": "Sécherheet",
"two_factor": "Zwee-Faktor Authentifikatioun",
"sessions": "Aktiv Sessiounen",
"preferences": "Astellungen",
"language_preference": "Sproochpräferenz",
"save_profile": "Profil späicheren",
"profile_updated": "Profil erfollegräich aktualiséiert"
},
"messages": {
"failed_to_load_dashboard_data": "Failed to load dashboard data",
"dashboard_refreshed": "Dashboard refreshed"
},
"menu": {
"dashboard": "Dashboard",
"platform_settings": "Plattform-Astellungen",
"general": "Allgemeng",
"my_menu": "Mäi Menü",
"account_settings": "Kont-Astellungen",
"profile": "Profil",
"settings": "Astellungen"
}
}

View File

@@ -18,7 +18,7 @@ Menu rendering endpoints require authenticated admin/store access.
import logging
from typing import Any
from fastapi import APIRouter, Depends, Path, Query
from fastapi import APIRouter, Depends, Path, Query, Request
from pydantic import BaseModel, Field
from sqlalchemy.orm import Session
@@ -180,6 +180,7 @@ def _build_menu_config_response(
@router.get("/platforms/{platform_id}", response_model=MenuConfigResponse)
async def get_platform_menu_config(
request: Request,
platform_id: int = Path(..., description="Platform ID"),
frontend_type: FrontendType = Query(
FrontendType.ADMIN, description="Frontend type (admin or store)"
@@ -203,8 +204,8 @@ async def get_platform_menu_config(
f"for platform {platform.code} ({frontend_type.value})"
)
# Use user's preferred language, falling back to default
language = current_user.preferred_language or DEFAULT_LANGUAGE
# Use user's preferred language, falling back to middleware-resolved language
language = current_user.preferred_language or getattr(request.state, "language", "en")
return _build_menu_config_response(
items, frontend_type, language=language, platform_id=platform_id
@@ -317,6 +318,7 @@ async def reset_platform_menu_config(
@router.get("/user", response_model=MenuConfigResponse)
async def get_user_menu_config(
request: Request,
db: Session = Depends(get_db),
current_user: UserContext = Depends(get_current_super_admin),
):
@@ -331,8 +333,8 @@ async def get_user_menu_config(
f"[MENU_CONFIG] Super admin {current_user.email} fetched their personal menu config"
)
# Use user's preferred language, falling back to default
language = current_user.preferred_language or DEFAULT_LANGUAGE
# Use user's preferred language, falling back to middleware-resolved language
language = current_user.preferred_language or getattr(request.state, "language", "en")
return _build_menu_config_response(
items, FrontendType.ADMIN, language=language, user_id=current_user.id
@@ -442,6 +444,7 @@ async def show_all_platform_menu_config(
@router.get("/render/admin", response_model=RenderedMenuResponse)
async def get_rendered_admin_menu(
request: Request,
db: Session = Depends(get_db),
current_user: UserContext = Depends(get_current_admin_from_cookie_or_header),
):
@@ -482,8 +485,8 @@ async def get_rendered_admin_menu(
is_super_admin=False,
)
# Use user's preferred language, falling back to default
language = current_user.preferred_language or DEFAULT_LANGUAGE
# Use user's preferred language, falling back to middleware-resolved language
language = current_user.preferred_language or getattr(request.state, "language", "en")
# Translate section and item labels
sections = []

View File

@@ -1,35 +1,41 @@
{
"customers": {
"title": "Kunden",
"customer": "Kunde",
"add_customer": "Kunde hinzufügen",
"edit_customer": "Kunde bearbeiten",
"customer_name": "Kundenname",
"customer_email": "Kunden-E-Mail",
"customer_phone": "Kundentelefon",
"customer_number": "Kundennummer",
"first_name": "Vorname",
"last_name": "Nachname",
"merchant": "Firma",
"total_orders": "Bestellungen gesamt",
"total_spent": "Gesamtausgaben",
"last_order": "Letzte Bestellung",
"registered": "Registriert",
"no_customers": "Keine Kunden gefunden",
"search_customers": "Kunden suchen..."
},
"features": {
"customer_view": {
"name": "Kundenansicht",
"description": "Kundeninformationen anzeigen und verwalten"
"customers": {
"title": "Kunden",
"customer": "Kunde",
"add_customer": "Kunde hinzufügen",
"edit_customer": "Kunde bearbeiten",
"customer_name": "Kundenname",
"customer_email": "Kunden-E-Mail",
"customer_phone": "Kundentelefon",
"customer_number": "Kundennummer",
"first_name": "Vorname",
"last_name": "Nachname",
"merchant": "Firma",
"total_orders": "Bestellungen gesamt",
"total_spent": "Gesamtausgaben",
"last_order": "Letzte Bestellung",
"registered": "Registriert",
"no_customers": "Keine Kunden gefunden",
"search_customers": "Kunden suchen..."
},
"customer_export": {
"name": "Kundenexport",
"description": "Kundendaten exportieren"
"features": {
"customer_view": {
"name": "Kundenansicht",
"description": "Kundeninformationen anzeigen und verwalten"
},
"customer_export": {
"name": "Kundenexport",
"description": "Kundendaten exportieren"
},
"customer_messaging": {
"name": "Kundennachrichten",
"description": "Nachrichten an Kunden senden"
}
},
"customer_messaging": {
"name": "Kundennachrichten",
"description": "Nachrichten an Kunden senden"
"menu": {
"store_operations": "Shop-Betrieb",
"customers_section": "Kunden",
"customers": "Kunden",
"all_customers": "Alle Kunden"
}
}
}

View File

@@ -1,40 +1,46 @@
{
"customers": {
"title": "Customers",
"customer": "Customer",
"add_customer": "Add Customer",
"edit_customer": "Edit Customer",
"customer_name": "Customer Name",
"customer_email": "Customer Email",
"customer_phone": "Customer Phone",
"customer_number": "Customer Number",
"first_name": "First Name",
"last_name": "Last Name",
"merchant": "Merchant",
"total_orders": "Total Orders",
"total_spent": "Total Spent",
"last_order": "Last Order",
"registered": "Registered",
"no_customers": "No customers found",
"search_customers": "Search customers..."
},
"messages": {
"failed_to_toggle_customer_status": "Failed to toggle customer status",
"failed_to_load_customer_details": "Failed to load customer details",
"failed_to_load_customer_orders": "Failed to load customer orders"
},
"features": {
"customer_view": {
"name": "Customer View",
"description": "View and manage customer information"
"customers": {
"title": "Customers",
"customer": "Customer",
"add_customer": "Add Customer",
"edit_customer": "Edit Customer",
"customer_name": "Customer Name",
"customer_email": "Customer Email",
"customer_phone": "Customer Phone",
"customer_number": "Customer Number",
"first_name": "First Name",
"last_name": "Last Name",
"merchant": "Merchant",
"total_orders": "Total Orders",
"total_spent": "Total Spent",
"last_order": "Last Order",
"registered": "Registered",
"no_customers": "No customers found",
"search_customers": "Search customers..."
},
"customer_export": {
"name": "Customer Export",
"description": "Export customer data"
"messages": {
"failed_to_toggle_customer_status": "Failed to toggle customer status",
"failed_to_load_customer_details": "Failed to load customer details",
"failed_to_load_customer_orders": "Failed to load customer orders"
},
"customer_messaging": {
"name": "Customer Messaging",
"description": "Send messages to customers"
"features": {
"customer_view": {
"name": "Customer View",
"description": "View and manage customer information"
},
"customer_export": {
"name": "Customer Export",
"description": "Export customer data"
},
"customer_messaging": {
"name": "Customer Messaging",
"description": "Send messages to customers"
}
},
"menu": {
"store_operations": "Store Operations",
"customers_section": "Customers",
"customers": "Customers",
"all_customers": "All Customers"
}
}
}

View File

@@ -1,35 +1,41 @@
{
"customers": {
"title": "Clients",
"customer": "Client",
"add_customer": "Ajouter un client",
"edit_customer": "Modifier le client",
"customer_name": "Nom du client",
"customer_email": "E-mail du client",
"customer_phone": "Téléphone du client",
"customer_number": "Numéro client",
"first_name": "Prénom",
"last_name": "Nom",
"merchant": "Entreprise",
"total_orders": "Total des commandes",
"total_spent": "Total dépensé",
"last_order": "Dernière commande",
"registered": "Inscrit",
"no_customers": "Aucun client trouvé",
"search_customers": "Rechercher des clients..."
},
"features": {
"customer_view": {
"name": "Vue client",
"description": "Voir et gérer les informations clients"
"customers": {
"title": "Clients",
"customer": "Client",
"add_customer": "Ajouter un client",
"edit_customer": "Modifier le client",
"customer_name": "Nom du client",
"customer_email": "E-mail du client",
"customer_phone": "Téléphone du client",
"customer_number": "Numéro client",
"first_name": "Prénom",
"last_name": "Nom",
"merchant": "Entreprise",
"total_orders": "Total des commandes",
"total_spent": "Total dépensé",
"last_order": "Dernière commande",
"registered": "Inscrit",
"no_customers": "Aucun client trouvé",
"search_customers": "Rechercher des clients..."
},
"customer_export": {
"name": "Export clients",
"description": "Exporter les données clients"
"features": {
"customer_view": {
"name": "Vue client",
"description": "Voir et gérer les informations clients"
},
"customer_export": {
"name": "Export clients",
"description": "Exporter les données clients"
},
"customer_messaging": {
"name": "Messagerie clients",
"description": "Envoyer des messages aux clients"
}
},
"customer_messaging": {
"name": "Messagerie clients",
"description": "Envoyer des messages aux clients"
"menu": {
"store_operations": "Opérations du magasin",
"customers_section": "Clients",
"customers": "Clients",
"all_customers": "Tous les clients"
}
}
}

View File

@@ -1,35 +1,41 @@
{
"customers": {
"title": "Clienten",
"customer": "Client",
"add_customer": "Client derbäisetzen",
"edit_customer": "Client änneren",
"customer_name": "Clientennumm",
"customer_email": "Client E-Mail",
"customer_phone": "Client Telefon",
"customer_number": "Clientennummer",
"first_name": "Virnumm",
"last_name": "Nonumm",
"merchant": "Firma",
"total_orders": "Bestellungen insgesamt",
"total_spent": "Total ausginn",
"last_order": "Lescht Bestellung",
"registered": "Registréiert",
"no_customers": "Keng Clienten fonnt",
"search_customers": "Clienten sichen..."
},
"features": {
"customer_view": {
"name": "Kundenusiicht",
"description": "Kundeninformatiounen kucken a verwalten"
"customers": {
"title": "Clienten",
"customer": "Client",
"add_customer": "Client derbäisetzen",
"edit_customer": "Client änneren",
"customer_name": "Clientennumm",
"customer_email": "Client E-Mail",
"customer_phone": "Client Telefon",
"customer_number": "Clientennummer",
"first_name": "Virnumm",
"last_name": "Nonumm",
"merchant": "Firma",
"total_orders": "Bestellungen insgesamt",
"total_spent": "Total ausginn",
"last_order": "Lescht Bestellung",
"registered": "Registréiert",
"no_customers": "Keng Clienten fonnt",
"search_customers": "Clienten sichen..."
},
"customer_export": {
"name": "Kundenexport",
"description": "Kundendaten exportéieren"
"features": {
"customer_view": {
"name": "Kundenusiicht",
"description": "Kundeninformatiounen kucken a verwalten"
},
"customer_export": {
"name": "Kundenexport",
"description": "Kundendaten exportéieren"
},
"customer_messaging": {
"name": "Kundennoriichten",
"description": "Noriichten u Clienten schécken"
}
},
"customer_messaging": {
"name": "Kundennoriichten",
"description": "Noriichten u Clienten schécken"
"menu": {
"store_operations": "Buttek-Operatiounen",
"customers_section": "Clienten",
"customers": "Clienten",
"all_customers": "All Clienten"
}
}
}

View File

@@ -1,12 +1,17 @@
{
"messages": {
"test_run_started": "Test run started...",
"failed_to_copy_code": "Failed to copy code",
"failed_to_copy_name": "Failed to copy name",
"added_to_cart": "Added to cart!",
"filters_applied": "Filters applied!",
"review_submitted_successfully": "Review submitted successfully!",
"thanks_for_your_feedback": "Thanks for your feedback!",
"code_copied_to_clipboard": "Code copied to clipboard!"
}
"messages": {
"test_run_started": "Test run started...",
"failed_to_copy_code": "Failed to copy code",
"failed_to_copy_name": "Failed to copy name",
"added_to_cart": "Added to cart!",
"filters_applied": "Filters applied!",
"review_submitted_successfully": "Review submitted successfully!",
"thanks_for_your_feedback": "Thanks for your feedback!",
"code_copied_to_clipboard": "Code copied to clipboard!"
},
"menu": {
"developer_tools": "Entwicklerwerkzeuge",
"components": "Komponenten",
"icons": "Icons"
}
}

View File

@@ -1,12 +1,17 @@
{
"messages": {
"test_run_started": "Test run started...",
"failed_to_copy_code": "Failed to copy code",
"failed_to_copy_name": "Failed to copy name",
"added_to_cart": "Added to cart!",
"filters_applied": "Filters applied!",
"review_submitted_successfully": "Review submitted successfully!",
"thanks_for_your_feedback": "Thanks for your feedback!",
"code_copied_to_clipboard": "Code copied to clipboard!"
}
"messages": {
"test_run_started": "Test run started...",
"failed_to_copy_code": "Failed to copy code",
"failed_to_copy_name": "Failed to copy name",
"added_to_cart": "Added to cart!",
"filters_applied": "Filters applied!",
"review_submitted_successfully": "Review submitted successfully!",
"thanks_for_your_feedback": "Thanks for your feedback!",
"code_copied_to_clipboard": "Code copied to clipboard!"
},
"menu": {
"developer_tools": "Developer Tools",
"components": "Components",
"icons": "Icons"
}
}

View File

@@ -1,12 +1,17 @@
{
"messages": {
"test_run_started": "Test run started...",
"failed_to_copy_code": "Failed to copy code",
"failed_to_copy_name": "Failed to copy name",
"added_to_cart": "Added to cart!",
"filters_applied": "Filters applied!",
"review_submitted_successfully": "Review submitted successfully!",
"thanks_for_your_feedback": "Thanks for your feedback!",
"code_copied_to_clipboard": "Code copied to clipboard!"
}
"messages": {
"test_run_started": "Test run started...",
"failed_to_copy_code": "Failed to copy code",
"failed_to_copy_name": "Failed to copy name",
"added_to_cart": "Added to cart!",
"filters_applied": "Filters applied!",
"review_submitted_successfully": "Review submitted successfully!",
"thanks_for_your_feedback": "Thanks for your feedback!",
"code_copied_to_clipboard": "Code copied to clipboard!"
},
"menu": {
"developer_tools": "Outils de développement",
"components": "Composants",
"icons": "Icônes"
}
}

View File

@@ -1,12 +1,17 @@
{
"messages": {
"test_run_started": "Test run started...",
"failed_to_copy_code": "Failed to copy code",
"failed_to_copy_name": "Failed to copy name",
"added_to_cart": "Added to cart!",
"filters_applied": "Filters applied!",
"review_submitted_successfully": "Review submitted successfully!",
"thanks_for_your_feedback": "Thanks for your feedback!",
"code_copied_to_clipboard": "Code copied to clipboard!"
}
"messages": {
"test_run_started": "Test run started...",
"failed_to_copy_code": "Failed to copy code",
"failed_to_copy_name": "Failed to copy name",
"added_to_cart": "Added to cart!",
"filters_applied": "Filters applied!",
"review_submitted_successfully": "Review submitted successfully!",
"thanks_for_your_feedback": "Thanks for your feedback!",
"code_copied_to_clipboard": "Code copied to clipboard!"
},
"menu": {
"developer_tools": "Entwécklerwerkzäicher",
"components": "Komponenten",
"icons": "Icons"
}
}

View File

@@ -1,40 +1,46 @@
{
"inventory": {
"title": "Inventar",
"stock_level": "Lagerbestand",
"quantity": "Menge",
"reorder_point": "Nachbestellpunkt",
"adjust_stock": "Bestand anpassen",
"stock_in": "Wareneingang",
"stock_out": "Warenausgang",
"transfer": "Transfer",
"history": "Verlauf",
"low_stock_alert": "Warnung bei geringem Bestand",
"out_of_stock_alert": "Warnung bei Ausverkauf"
},
"messages": {
"stock_adjusted_successfully": "Stock adjusted successfully",
"quantity_set_successfully": "Quantity set successfully",
"inventory_entry_deleted": "Inventory entry deleted.",
"please_select_a_store_and_file": "Please select a store and file",
"import_completed_with_errors": "Import completed with errors"
},
"features": {
"inventory_basic": {
"name": "Basis-Inventar",
"description": "Grundlegende Lagerverwaltung"
"inventory": {
"title": "Inventar",
"stock_level": "Lagerbestand",
"quantity": "Menge",
"reorder_point": "Nachbestellpunkt",
"adjust_stock": "Bestand anpassen",
"stock_in": "Wareneingang",
"stock_out": "Warenausgang",
"transfer": "Transfer",
"history": "Verlauf",
"low_stock_alert": "Warnung bei geringem Bestand",
"out_of_stock_alert": "Warnung bei Ausverkauf"
},
"inventory_locations": {
"name": "Mehrere Standorte",
"description": "Inventar an mehreren Standorten verwalten"
"messages": {
"stock_adjusted_successfully": "Stock adjusted successfully",
"quantity_set_successfully": "Quantity set successfully",
"inventory_entry_deleted": "Inventory entry deleted.",
"please_select_a_store_and_file": "Please select a store and file",
"import_completed_with_errors": "Import completed with errors"
},
"inventory_purchase_orders": {
"name": "Bestellungen",
"description": "Bestellungen erstellen und verwalten"
"features": {
"inventory_basic": {
"name": "Basis-Inventar",
"description": "Grundlegende Lagerverwaltung"
},
"inventory_locations": {
"name": "Mehrere Standorte",
"description": "Inventar an mehreren Standorten verwalten"
},
"inventory_purchase_orders": {
"name": "Bestellungen",
"description": "Bestellungen erstellen und verwalten"
},
"low_stock_alerts": {
"name": "Niedrigbestandswarnungen",
"description": "Automatische Benachrichtigungen bei niedrigem Lagerbestand"
}
},
"low_stock_alerts": {
"name": "Niedrigbestandswarnungen",
"description": "Automatische Benachrichtigungen bei niedrigem Lagerbestand"
"menu": {
"store_operations": "Shop-Betrieb",
"products_inventory": "Produkte & Inventar",
"products": "Produkte",
"inventory": "Inventar"
}
}
}

View File

@@ -1,49 +1,55 @@
{
"inventory": {
"title": "Inventory",
"stock_level": "Stock Level",
"quantity": "Quantity",
"reorder_point": "Reorder Point",
"adjust_stock": "Adjust Stock",
"stock_in": "Stock In",
"stock_out": "Stock Out",
"transfer": "Transfer",
"history": "History",
"low_stock_alert": "Low Stock Alert",
"out_of_stock_alert": "Out of Stock Alert"
},
"messages": {
"stock_adjusted_successfully": "Stock adjusted successfully",
"quantity_set_successfully": "Quantity set successfully",
"inventory_entry_deleted": "Inventory entry deleted.",
"please_select_a_store_and_file": "Please select a store and file",
"import_completed_with_errors": "Import completed with errors",
"failed_to_adjust_stock": "Failed to adjust stock.",
"failed_to_set_quantity": "Failed to set quantity.",
"failed_to_delete_entry": "Failed to delete entry.",
"import_success": "Imported {quantity} units ({created} new, {updated} updated)",
"import_completed": "Import completed: {created} created, {updated} updated, {errors} errors",
"import_failed": "Import failed",
"bulk_adjust_success": "{count} item(s) adjusted by {amount}",
"failed_to_adjust_inventory": "Failed to adjust inventory",
"exported_items": "Exported {count} item(s)"
},
"features": {
"inventory_basic": {
"name": "Basic Inventory",
"description": "Basic stock management"
"inventory": {
"title": "Inventory",
"stock_level": "Stock Level",
"quantity": "Quantity",
"reorder_point": "Reorder Point",
"adjust_stock": "Adjust Stock",
"stock_in": "Stock In",
"stock_out": "Stock Out",
"transfer": "Transfer",
"history": "History",
"low_stock_alert": "Low Stock Alert",
"out_of_stock_alert": "Out of Stock Alert"
},
"inventory_locations": {
"name": "Multiple Locations",
"description": "Manage inventory across multiple locations"
"messages": {
"stock_adjusted_successfully": "Stock adjusted successfully",
"quantity_set_successfully": "Quantity set successfully",
"inventory_entry_deleted": "Inventory entry deleted.",
"please_select_a_store_and_file": "Please select a store and file",
"import_completed_with_errors": "Import completed with errors",
"failed_to_adjust_stock": "Failed to adjust stock.",
"failed_to_set_quantity": "Failed to set quantity.",
"failed_to_delete_entry": "Failed to delete entry.",
"import_success": "Imported {quantity} units ({created} new, {updated} updated)",
"import_completed": "Import completed: {created} created, {updated} updated, {errors} errors",
"import_failed": "Import failed",
"bulk_adjust_success": "{count} item(s) adjusted by {amount}",
"failed_to_adjust_inventory": "Failed to adjust inventory",
"exported_items": "Exported {count} item(s)"
},
"inventory_purchase_orders": {
"name": "Purchase Orders",
"description": "Create and manage purchase orders"
"features": {
"inventory_basic": {
"name": "Basic Inventory",
"description": "Basic stock management"
},
"inventory_locations": {
"name": "Multiple Locations",
"description": "Manage inventory across multiple locations"
},
"inventory_purchase_orders": {
"name": "Purchase Orders",
"description": "Create and manage purchase orders"
},
"low_stock_alerts": {
"name": "Low Stock Alerts",
"description": "Automatic notifications for low stock levels"
}
},
"low_stock_alerts": {
"name": "Low Stock Alerts",
"description": "Automatic notifications for low stock levels"
"menu": {
"store_operations": "Store Operations",
"products_inventory": "Products & Inventory",
"products": "Products",
"inventory": "Inventory"
}
}
}

View File

@@ -1,40 +1,46 @@
{
"inventory": {
"title": "Inventaire",
"stock_level": "Niveau de stock",
"quantity": "Quantité",
"reorder_point": "Seuil de réapprovisionnement",
"adjust_stock": "Ajuster le stock",
"stock_in": "Entrée de stock",
"stock_out": "Sortie de stock",
"transfer": "Transfert",
"history": "Historique",
"low_stock_alert": "Alerte stock faible",
"out_of_stock_alert": "Alerte rupture de stock"
},
"messages": {
"stock_adjusted_successfully": "Stock adjusted successfully",
"quantity_set_successfully": "Quantity set successfully",
"inventory_entry_deleted": "Inventory entry deleted.",
"please_select_a_store_and_file": "Please select a store and file",
"import_completed_with_errors": "Import completed with errors"
},
"features": {
"inventory_basic": {
"name": "Inventaire de base",
"description": "Gestion de stock de base"
"inventory": {
"title": "Inventaire",
"stock_level": "Niveau de stock",
"quantity": "Quantité",
"reorder_point": "Seuil de réapprovisionnement",
"adjust_stock": "Ajuster le stock",
"stock_in": "Entrée de stock",
"stock_out": "Sortie de stock",
"transfer": "Transfert",
"history": "Historique",
"low_stock_alert": "Alerte stock faible",
"out_of_stock_alert": "Alerte rupture de stock"
},
"inventory_locations": {
"name": "Emplacements multiples",
"description": "Gérer l'inventaire sur plusieurs emplacements"
"messages": {
"stock_adjusted_successfully": "Stock adjusted successfully",
"quantity_set_successfully": "Quantity set successfully",
"inventory_entry_deleted": "Inventory entry deleted.",
"please_select_a_store_and_file": "Please select a store and file",
"import_completed_with_errors": "Import completed with errors"
},
"inventory_purchase_orders": {
"name": "Bons de commande",
"description": "Créer et gérer les bons de commande"
"features": {
"inventory_basic": {
"name": "Inventaire de base",
"description": "Gestion de stock de base"
},
"inventory_locations": {
"name": "Emplacements multiples",
"description": "Gérer l'inventaire sur plusieurs emplacements"
},
"inventory_purchase_orders": {
"name": "Bons de commande",
"description": "Créer et gérer les bons de commande"
},
"low_stock_alerts": {
"name": "Alertes stock bas",
"description": "Notifications automatiques pour les niveaux de stock bas"
}
},
"low_stock_alerts": {
"name": "Alertes stock bas",
"description": "Notifications automatiques pour les niveaux de stock bas"
"menu": {
"store_operations": "Opérations du magasin",
"products_inventory": "Produits et Inventaire",
"products": "Produits",
"inventory": "Inventaire"
}
}
}

View File

@@ -1,40 +1,46 @@
{
"inventory": {
"title": "Inventar",
"stock_level": "Lagerniveau",
"quantity": "Quantitéit",
"reorder_point": "Nobestellungspunkt",
"adjust_stock": "Lager upaassen",
"stock_in": "Lager eran",
"stock_out": "Lager eraus",
"transfer": "Transfer",
"history": "Geschicht",
"low_stock_alert": "Niddreg Lager Alarm",
"out_of_stock_alert": "Net op Lager Alarm"
},
"messages": {
"stock_adjusted_successfully": "Stock adjusted successfully",
"quantity_set_successfully": "Quantity set successfully",
"inventory_entry_deleted": "Inventory entry deleted.",
"please_select_a_store_and_file": "Please select a store and file",
"import_completed_with_errors": "Import completed with errors"
},
"features": {
"inventory_basic": {
"name": "Basis-Inventar",
"description": "Grondleeënd Lagerverwaltung"
"inventory": {
"title": "Inventar",
"stock_level": "Lagerniveau",
"quantity": "Quantitéit",
"reorder_point": "Nobestellungspunkt",
"adjust_stock": "Lager upaassen",
"stock_in": "Lager eran",
"stock_out": "Lager eraus",
"transfer": "Transfer",
"history": "Geschicht",
"low_stock_alert": "Niddreg Lager Alarm",
"out_of_stock_alert": "Net op Lager Alarm"
},
"inventory_locations": {
"name": "Méi Standuerter",
"description": "Inventar u méi Standuerter verwalten"
"messages": {
"stock_adjusted_successfully": "Stock adjusted successfully",
"quantity_set_successfully": "Quantity set successfully",
"inventory_entry_deleted": "Inventory entry deleted.",
"please_select_a_store_and_file": "Please select a store and file",
"import_completed_with_errors": "Import completed with errors"
},
"inventory_purchase_orders": {
"name": "Bestellungen",
"description": "Bestellungen erstellen an verwalten"
"features": {
"inventory_basic": {
"name": "Basis-Inventar",
"description": "Grondleeënd Lagerverwaltung"
},
"inventory_locations": {
"name": "Méi Standuerter",
"description": "Inventar u méi Standuerter verwalten"
},
"inventory_purchase_orders": {
"name": "Bestellungen",
"description": "Bestellungen erstellen an verwalten"
},
"low_stock_alerts": {
"name": "Niddreg-Lagerbestandswarnungen",
"description": "Automatesch Benoriichtegungen bei niddregem Lagerbestand"
}
},
"low_stock_alerts": {
"name": "Niddreg-Lagerbestandswarnungen",
"description": "Automatesch Benoriichtegungen bei niddregem Lagerbestand"
"menu": {
"store_operations": "Buttek-Operatiounen",
"products_inventory": "Produkter & Inventar",
"products": "Produkter",
"inventory": "Inventar"
}
}
}

View File

@@ -1,72 +1,81 @@
{
"loyalty": {
"module": {
"name": "Treueprogramme",
"description": "Stempel- und punktebasierte Treueprogramme mit Wallet-Integration"
"loyalty": {
"module": {
"name": "Treueprogramme",
"description": "Stempel- und punktebasierte Treueprogramme mit Wallet-Integration"
},
"program": {
"title": "Treueprogramm",
"create": "Programm erstellen",
"edit": "Programm bearbeiten",
"activate": "Aktivieren",
"deactivate": "Deaktivieren",
"type": {
"stamps": "Stempel",
"points": "Punkte",
"hybrid": "Hybrid"
}
},
"card": {
"title": "Treuekarte",
"number": "Kartennummer",
"qr_code": "QR-Code",
"enroll": "Kunde anmelden",
"deactivate": "Karte deaktivieren"
},
"stamp": {
"title": "Stempel",
"add": "Stempel hinzufügen",
"redeem": "Prämie einlösen",
"count": "{current} von {target}",
"until_reward": "Noch {count} bis zur Prämie"
},
"points": {
"title": "Punkte",
"earn": "Punkte sammeln",
"redeem": "Punkte einlösen",
"balance": "{count} Punkte",
"per_euro": "{points} Punkte pro Euro"
},
"pin": {
"title": "Mitarbeiter-PINs",
"create": "PIN erstellen",
"edit": "PIN bearbeiten",
"unlock": "PIN entsperren",
"locked": "PIN gesperrt bis {time}"
},
"wallet": {
"google": "Zu Google Wallet hinzufügen",
"apple": "Zu Apple Wallet hinzufügen"
},
"stats": {
"title": "Statistiken",
"total_cards": "Karten insgesamt",
"active_cards": "Aktive Karten",
"stamps_issued": "Ausgegebene Stempel",
"rewards_redeemed": "Eingelöste Prämien"
},
"errors": {
"program_not_found": "Treueprogramm nicht gefunden",
"program_inactive": "Treueprogramm ist nicht aktiv",
"card_not_found": "Treuekarte nicht gefunden",
"card_inactive": "Treuekarte ist nicht aktiv",
"cooldown": "Bitte warten Sie {minutes} Minuten vor dem nächsten Stempel",
"daily_limit": "Tageslimit von {limit} Stempeln erreicht",
"insufficient_stamps": "Benötigt {required} Stempel, vorhanden {current}",
"insufficient_points": "Benötigt {required} Punkte, vorhanden {current}",
"pin_required": "Mitarbeiter-PIN erforderlich",
"pin_invalid": "Ungültiger PIN",
"pin_locked": "PIN wegen zu vieler Fehlversuche gesperrt"
}
},
"program": {
"title": "Treueprogramm",
"create": "Programm erstellen",
"edit": "Programm bearbeiten",
"activate": "Aktivieren",
"deactivate": "Deaktivieren",
"type": {
"stamps": "Stempel",
"points": "Punkte",
"hybrid": "Hybrid"
}
},
"card": {
"title": "Treuekarte",
"number": "Kartennummer",
"qr_code": "QR-Code",
"enroll": "Kunde anmelden",
"deactivate": "Karte deaktivieren"
},
"stamp": {
"title": "Stempel",
"add": "Stempel hinzufügen",
"redeem": "Prämie einlösen",
"count": "{current} von {target}",
"until_reward": "Noch {count} bis zur Prämie"
},
"points": {
"title": "Punkte",
"earn": "Punkte sammeln",
"redeem": "Punkte einlösen",
"balance": "{count} Punkte",
"per_euro": "{points} Punkte pro Euro"
},
"pin": {
"title": "Mitarbeiter-PINs",
"create": "PIN erstellen",
"edit": "PIN bearbeiten",
"unlock": "PIN entsperren",
"locked": "PIN gesperrt bis {time}"
},
"wallet": {
"google": "Zu Google Wallet hinzufügen",
"apple": "Zu Apple Wallet hinzufügen"
},
"stats": {
"title": "Statistiken",
"total_cards": "Karten insgesamt",
"active_cards": "Aktive Karten",
"stamps_issued": "Ausgegebene Stempel",
"rewards_redeemed": "Eingelöste Prämien"
},
"errors": {
"program_not_found": "Treueprogramm nicht gefunden",
"program_inactive": "Treueprogramm ist nicht aktiv",
"card_not_found": "Treuekarte nicht gefunden",
"card_inactive": "Treuekarte ist nicht aktiv",
"cooldown": "Bitte warten Sie {minutes} Minuten vor dem nächsten Stempel",
"daily_limit": "Tageslimit von {limit} Stempeln erreicht",
"insufficient_stamps": "Benötigt {required} Stempel, vorhanden {current}",
"insufficient_points": "Benötigt {required} Punkte, vorhanden {current}",
"pin_required": "Mitarbeiter-PIN erforderlich",
"pin_invalid": "Ungültiger PIN",
"pin_locked": "PIN wegen zu vieler Fehlversuche gesperrt"
"menu": {
"loyalty": "Treueprogramm",
"loyalty_programs": "Treueprogramme",
"programs": "Programme",
"analytics": "Analytik",
"dashboard": "Dashboard",
"customer_cards": "Kundenkarten",
"statistics": "Statistiken"
}
}
}

View File

@@ -1,72 +1,81 @@
{
"loyalty": {
"module": {
"name": "Loyalty Programs",
"description": "Stamp-based and points-based loyalty programs with wallet integration"
"loyalty": {
"module": {
"name": "Loyalty Programs",
"description": "Stamp-based and points-based loyalty programs with wallet integration"
},
"program": {
"title": "Loyalty Program",
"create": "Create Program",
"edit": "Edit Program",
"activate": "Activate",
"deactivate": "Deactivate",
"type": {
"stamps": "Stamps",
"points": "Points",
"hybrid": "Hybrid"
}
},
"card": {
"title": "Loyalty Card",
"number": "Card Number",
"qr_code": "QR Code",
"enroll": "Enroll Customer",
"deactivate": "Deactivate Card"
},
"stamp": {
"title": "Stamps",
"add": "Add Stamp",
"redeem": "Redeem Reward",
"count": "{current} of {target}",
"until_reward": "{count} until reward"
},
"points": {
"title": "Points",
"earn": "Earn Points",
"redeem": "Redeem Points",
"balance": "{count} points",
"per_euro": "{points} points per euro"
},
"pin": {
"title": "Staff PINs",
"create": "Create PIN",
"edit": "Edit PIN",
"unlock": "Unlock PIN",
"locked": "PIN locked until {time}"
},
"wallet": {
"google": "Add to Google Wallet",
"apple": "Add to Apple Wallet"
},
"stats": {
"title": "Statistics",
"total_cards": "Total Cards",
"active_cards": "Active Cards",
"stamps_issued": "Stamps Issued",
"rewards_redeemed": "Rewards Redeemed"
},
"errors": {
"program_not_found": "Loyalty program not found",
"program_inactive": "Loyalty program is not active",
"card_not_found": "Loyalty card not found",
"card_inactive": "Loyalty card is not active",
"cooldown": "Please wait {minutes} minutes before next stamp",
"daily_limit": "Daily stamp limit of {limit} reached",
"insufficient_stamps": "Need {required} stamps, have {current}",
"insufficient_points": "Need {required} points, have {current}",
"pin_required": "Staff PIN is required",
"pin_invalid": "Invalid staff PIN",
"pin_locked": "PIN locked due to too many failed attempts"
}
},
"program": {
"title": "Loyalty Program",
"create": "Create Program",
"edit": "Edit Program",
"activate": "Activate",
"deactivate": "Deactivate",
"type": {
"stamps": "Stamps",
"points": "Points",
"hybrid": "Hybrid"
}
},
"card": {
"title": "Loyalty Card",
"number": "Card Number",
"qr_code": "QR Code",
"enroll": "Enroll Customer",
"deactivate": "Deactivate Card"
},
"stamp": {
"title": "Stamps",
"add": "Add Stamp",
"redeem": "Redeem Reward",
"count": "{current} of {target}",
"until_reward": "{count} until reward"
},
"points": {
"title": "Points",
"earn": "Earn Points",
"redeem": "Redeem Points",
"balance": "{count} points",
"per_euro": "{points} points per euro"
},
"pin": {
"title": "Staff PINs",
"create": "Create PIN",
"edit": "Edit PIN",
"unlock": "Unlock PIN",
"locked": "PIN locked until {time}"
},
"wallet": {
"google": "Add to Google Wallet",
"apple": "Add to Apple Wallet"
},
"stats": {
"title": "Statistics",
"total_cards": "Total Cards",
"active_cards": "Active Cards",
"stamps_issued": "Stamps Issued",
"rewards_redeemed": "Rewards Redeemed"
},
"errors": {
"program_not_found": "Loyalty program not found",
"program_inactive": "Loyalty program is not active",
"card_not_found": "Loyalty card not found",
"card_inactive": "Loyalty card is not active",
"cooldown": "Please wait {minutes} minutes before next stamp",
"daily_limit": "Daily stamp limit of {limit} reached",
"insufficient_stamps": "Need {required} stamps, have {current}",
"insufficient_points": "Need {required} points, have {current}",
"pin_required": "Staff PIN is required",
"pin_invalid": "Invalid staff PIN",
"pin_locked": "PIN locked due to too many failed attempts"
"menu": {
"loyalty": "Loyalty",
"loyalty_programs": "Loyalty Programs",
"programs": "Programs",
"analytics": "Analytics",
"dashboard": "Dashboard",
"customer_cards": "Customer Cards",
"statistics": "Statistics"
}
}
}

View File

@@ -1,72 +1,81 @@
{
"loyalty": {
"module": {
"name": "Programmes de Fidélité",
"description": "Programmes de fidélité par tampons et points avec intégration wallet"
"loyalty": {
"module": {
"name": "Programmes de Fidélité",
"description": "Programmes de fidélité par tampons et points avec intégration wallet"
},
"program": {
"title": "Programme de Fidélité",
"create": "Créer un Programme",
"edit": "Modifier le Programme",
"activate": "Activer",
"deactivate": "Désactiver",
"type": {
"stamps": "Tampons",
"points": "Points",
"hybrid": "Hybride"
}
},
"card": {
"title": "Carte de Fidélité",
"number": "Numéro de Carte",
"qr_code": "Code QR",
"enroll": "Inscrire un Client",
"deactivate": "Désactiver la Carte"
},
"stamp": {
"title": "Tampons",
"add": "Ajouter un Tampon",
"redeem": "Échanger la Récompense",
"count": "{current} sur {target}",
"until_reward": "Plus que {count} pour la récompense"
},
"points": {
"title": "Points",
"earn": "Gagner des Points",
"redeem": "Échanger des Points",
"balance": "{count} points",
"per_euro": "{points} points par euro"
},
"pin": {
"title": "Codes PIN du Personnel",
"create": "Créer un PIN",
"edit": "Modifier le PIN",
"unlock": "Débloquer le PIN",
"locked": "PIN bloqué jusqu'à {time}"
},
"wallet": {
"google": "Ajouter à Google Wallet",
"apple": "Ajouter à Apple Wallet"
},
"stats": {
"title": "Statistiques",
"total_cards": "Total des Cartes",
"active_cards": "Cartes Actives",
"stamps_issued": "Tampons Émis",
"rewards_redeemed": "Récompenses Échangées"
},
"errors": {
"program_not_found": "Programme de fidélité introuvable",
"program_inactive": "Le programme de fidélité n'est pas actif",
"card_not_found": "Carte de fidélité introuvable",
"card_inactive": "La carte de fidélité n'est pas active",
"cooldown": "Veuillez attendre {minutes} minutes avant le prochain tampon",
"daily_limit": "Limite quotidienne de {limit} tampons atteinte",
"insufficient_stamps": "Il faut {required} tampons, vous en avez {current}",
"insufficient_points": "Il faut {required} points, vous en avez {current}",
"pin_required": "Le code PIN du personnel est requis",
"pin_invalid": "Code PIN invalide",
"pin_locked": "PIN bloqué suite à trop de tentatives échouées"
}
},
"program": {
"title": "Programme de Fidélité",
"create": "Créer un Programme",
"edit": "Modifier le Programme",
"activate": "Activer",
"deactivate": "Désactiver",
"type": {
"stamps": "Tampons",
"points": "Points",
"hybrid": "Hybride"
}
},
"card": {
"title": "Carte de Fidélité",
"number": "Numéro de Carte",
"qr_code": "Code QR",
"enroll": "Inscrire un Client",
"deactivate": "Désactiver la Carte"
},
"stamp": {
"title": "Tampons",
"add": "Ajouter un Tampon",
"redeem": "Échanger la Récompense",
"count": "{current} sur {target}",
"until_reward": "Plus que {count} pour la récompense"
},
"points": {
"title": "Points",
"earn": "Gagner des Points",
"redeem": "Échanger des Points",
"balance": "{count} points",
"per_euro": "{points} points par euro"
},
"pin": {
"title": "Codes PIN du Personnel",
"create": "Créer un PIN",
"edit": "Modifier le PIN",
"unlock": "Débloquer le PIN",
"locked": "PIN bloqué jusqu'à {time}"
},
"wallet": {
"google": "Ajouter à Google Wallet",
"apple": "Ajouter à Apple Wallet"
},
"stats": {
"title": "Statistiques",
"total_cards": "Total des Cartes",
"active_cards": "Cartes Actives",
"stamps_issued": "Tampons Émis",
"rewards_redeemed": "Récompenses Échangées"
},
"errors": {
"program_not_found": "Programme de fidélité introuvable",
"program_inactive": "Le programme de fidélité n'est pas actif",
"card_not_found": "Carte de fidélité introuvable",
"card_inactive": "La carte de fidélité n'est pas active",
"cooldown": "Veuillez attendre {minutes} minutes avant le prochain tampon",
"daily_limit": "Limite quotidienne de {limit} tampons atteinte",
"insufficient_stamps": "Il faut {required} tampons, vous en avez {current}",
"insufficient_points": "Il faut {required} points, vous en avez {current}",
"pin_required": "Le code PIN du personnel est requis",
"pin_invalid": "Code PIN invalide",
"pin_locked": "PIN bloqué suite à trop de tentatives échouées"
"menu": {
"loyalty": "Fidélité",
"loyalty_programs": "Programmes de fidélité",
"programs": "Programmes",
"analytics": "Analytique",
"dashboard": "Tableau de bord",
"customer_cards": "Cartes clients",
"statistics": "Statistiques"
}
}
}

View File

@@ -1,72 +1,81 @@
{
"loyalty": {
"module": {
"name": "Treieprogrammer",
"description": "Stempel- a Punktebaséiert Treieprogrammer mat Wallet-Integratioun"
"loyalty": {
"module": {
"name": "Treieprogrammer",
"description": "Stempel- a Punktebaséiert Treieprogrammer mat Wallet-Integratioun"
},
"program": {
"title": "Treieprogramm",
"create": "Programm erstellen",
"edit": "Programm beaarbechten",
"activate": "Aktivéieren",
"deactivate": "Deaktivéieren",
"type": {
"stamps": "Stempelen",
"points": "Punkten",
"hybrid": "Hybrid"
}
},
"card": {
"title": "Treiekaart",
"number": "Kaartnummer",
"qr_code": "QR-Code",
"enroll": "Client aschreiben",
"deactivate": "Kaart deaktivéieren"
},
"stamp": {
"title": "Stempelen",
"add": "Stempel derbäisetzen",
"redeem": "Belounung aléisen",
"count": "{current} vun {target}",
"until_reward": "{count} bis zur Belounung"
},
"points": {
"title": "Punkten",
"earn": "Punkten sammelen",
"redeem": "Punkten aléisen",
"balance": "{count} Punkten",
"per_euro": "{points} Punkten pro Euro"
},
"pin": {
"title": "Personal-PINen",
"create": "PIN erstellen",
"edit": "PIN beaarbechten",
"unlock": "PIN entspären",
"locked": "PIN gespaart bis {time}"
},
"wallet": {
"google": "An Google Wallet derbäisetzen",
"apple": "An Apple Wallet derbäisetzen"
},
"stats": {
"title": "Statistiken",
"total_cards": "Total Kaarten",
"active_cards": "Aktiv Kaarten",
"stamps_issued": "Stempelen ausgestallt",
"rewards_redeemed": "Belounungen agelées"
},
"errors": {
"program_not_found": "Treieprogramm net fonnt",
"program_inactive": "Treieprogramm ass net aktiv",
"card_not_found": "Treiekaart net fonnt",
"card_inactive": "Treiekaart ass net aktiv",
"cooldown": "W.e.g. waart {minutes} Minutten virum nächste Stempel",
"daily_limit": "Deeglecht Stempel-Limit vun {limit} erreecht",
"insufficient_stamps": "Brauch {required} Stempelen, huet {current}",
"insufficient_points": "Brauch {required} Punkten, huet {current}",
"pin_required": "Personal-PIN erfuerderlech",
"pin_invalid": "Ongëlteg Personal-PIN",
"pin_locked": "PIN gespaart wéinst ze vill Fehlversich"
}
},
"program": {
"title": "Treieprogramm",
"create": "Programm erstellen",
"edit": "Programm beaarbechten",
"activate": "Aktivéieren",
"deactivate": "Deaktivéieren",
"type": {
"stamps": "Stempelen",
"points": "Punkten",
"hybrid": "Hybrid"
}
},
"card": {
"title": "Treiekaart",
"number": "Kaartnummer",
"qr_code": "QR-Code",
"enroll": "Client aschreiben",
"deactivate": "Kaart deaktivéieren"
},
"stamp": {
"title": "Stempelen",
"add": "Stempel derbäisetzen",
"redeem": "Belounung aléisen",
"count": "{current} vun {target}",
"until_reward": "{count} bis zur Belounung"
},
"points": {
"title": "Punkten",
"earn": "Punkten sammelen",
"redeem": "Punkten aléisen",
"balance": "{count} Punkten",
"per_euro": "{points} Punkten pro Euro"
},
"pin": {
"title": "Personal-PINen",
"create": "PIN erstellen",
"edit": "PIN beaarbechten",
"unlock": "PIN entspären",
"locked": "PIN gespaart bis {time}"
},
"wallet": {
"google": "An Google Wallet derbäisetzen",
"apple": "An Apple Wallet derbäisetzen"
},
"stats": {
"title": "Statistiken",
"total_cards": "Total Kaarten",
"active_cards": "Aktiv Kaarten",
"stamps_issued": "Stempelen ausgestallt",
"rewards_redeemed": "Belounungen agelées"
},
"errors": {
"program_not_found": "Treieprogramm net fonnt",
"program_inactive": "Treieprogramm ass net aktiv",
"card_not_found": "Treiekaart net fonnt",
"card_inactive": "Treiekaart ass net aktiv",
"cooldown": "W.e.g. waart {minutes} Minutten virum nächste Stempel",
"daily_limit": "Deeglecht Stempel-Limit vun {limit} erreecht",
"insufficient_stamps": "Brauch {required} Stempelen, huet {current}",
"insufficient_points": "Brauch {required} Punkten, huet {current}",
"pin_required": "Personal-PIN erfuerderlech",
"pin_invalid": "Ongëlteg Personal-PIN",
"pin_locked": "PIN gespaart wéinst ze vill Fehlversich"
"menu": {
"loyalty": "Treiprogramm",
"loyalty_programs": "Treiprogrammer",
"programs": "Programmer",
"analytics": "Analytik",
"dashboard": "Dashboard",
"customer_cards": "Clientekaarten",
"statistics": "Statistiken"
}
}
}

View File

@@ -1,54 +1,64 @@
{
"notifications": {
"title": "Benachrichtigungen",
"mark_read": "Als gelesen markieren",
"mark_all_read": "Alle als gelesen markieren",
"no_notifications": "Keine Benachrichtigungen",
"new_order": "Neue Bestellung",
"order_updated": "Bestellung aktualisiert",
"low_stock": "Warnung bei geringem Bestand",
"import_complete": "Import abgeschlossen",
"import_failed": "Import fehlgeschlagen"
},
"messages": {
"failed_to_load_template": "Failed to load template",
"template_saved_successfully": "Template saved successfully",
"reverted_to_platform_default": "Reverted to platform default",
"failed_to_load_preview": "Failed to load preview",
"failed_to_send_test_email": "Failed to send test email",
"failed_to_load_conversations": "Failed to load conversations",
"failed_to_load_conversation": "Failed to load conversation",
"conversation_closed": "Conversation closed",
"failed_to_close_conversation": "Failed to close conversation",
"conversation_reopened": "Conversation reopened",
"failed_to_reopen_conversation": "Failed to reopen conversation",
"conversation_created": "Conversation created",
"notification_marked_as_read": "Notification marked as read",
"all_notifications_marked_as_read": "All notifications marked as read",
"notification_deleted": "Notification deleted",
"notification_settings_saved": "Notification settings saved",
"failed_to_load_templates": "Failed to load templates",
"failed_to_load_recipients": "Failed to load recipients",
"failed_to_load_notifications": "Failed to load notifications",
"failed_to_mark_notification_as_read": "Failed to mark notification as read",
"failed_to_mark_all_as_read": "Failed to mark all as read",
"failed_to_delete_notification": "Failed to delete notification",
"failed_to_load_alerts": "Failed to load alerts",
"alert_resolved_successfully": "Alert resolved successfully",
"failed_to_resolve_alert": "Failed to resolve alert"
},
"features": {
"messaging_basic": {
"name": "Basis-Nachrichten",
"description": "Grundlegende Nachrichtenfunktionalität"
"notifications": {
"title": "Benachrichtigungen",
"mark_read": "Als gelesen markieren",
"mark_all_read": "Alle als gelesen markieren",
"no_notifications": "Keine Benachrichtigungen",
"new_order": "Neue Bestellung",
"order_updated": "Bestellung aktualisiert",
"low_stock": "Warnung bei geringem Bestand",
"import_complete": "Import abgeschlossen",
"import_failed": "Import fehlgeschlagen"
},
"email_templates": {
"name": "E-Mail-Vorlagen",
"description": "Anpassbare E-Mail-Vorlagen"
"messages": {
"failed_to_load_template": "Failed to load template",
"template_saved_successfully": "Template saved successfully",
"reverted_to_platform_default": "Reverted to platform default",
"failed_to_load_preview": "Failed to load preview",
"failed_to_send_test_email": "Failed to send test email",
"failed_to_load_conversations": "Failed to load conversations",
"failed_to_load_conversation": "Failed to load conversation",
"conversation_closed": "Conversation closed",
"failed_to_close_conversation": "Failed to close conversation",
"conversation_reopened": "Conversation reopened",
"failed_to_reopen_conversation": "Failed to reopen conversation",
"conversation_created": "Conversation created",
"notification_marked_as_read": "Notification marked as read",
"all_notifications_marked_as_read": "All notifications marked as read",
"notification_deleted": "Notification deleted",
"notification_settings_saved": "Notification settings saved",
"failed_to_load_templates": "Failed to load templates",
"failed_to_load_recipients": "Failed to load recipients",
"failed_to_load_notifications": "Failed to load notifications",
"failed_to_mark_notification_as_read": "Failed to mark notification as read",
"failed_to_mark_all_as_read": "Failed to mark all as read",
"failed_to_delete_notification": "Failed to delete notification",
"failed_to_load_alerts": "Failed to load alerts",
"alert_resolved_successfully": "Alert resolved successfully",
"failed_to_resolve_alert": "Failed to resolve alert"
},
"bulk_messaging": {
"name": "Massennachrichten",
"description": "Massennachrichten an Kunden senden"
"features": {
"messaging_basic": {
"name": "Basis-Nachrichten",
"description": "Grundlegende Nachrichtenfunktionalität"
},
"email_templates": {
"name": "E-Mail-Vorlagen",
"description": "Anpassbare E-Mail-Vorlagen"
},
"bulk_messaging": {
"name": "Massennachrichten",
"description": "Massennachrichten an Kunden senden"
}
},
"menu": {
"platform_admin": "Plattform-Administration",
"platform_monitoring": "Plattform-Überwachung",
"platform_settings": "Plattform-Einstellungen",
"customers": "Kunden",
"account_settings": "Kontoeinstellungen",
"messages": "Nachrichten",
"notifications": "Benachrichtigungen",
"email_templates": "E-Mail-Vorlagen"
}
}
}

View File

@@ -1,63 +1,73 @@
{
"notifications": {
"title": "Notifications",
"mark_read": "Mark as Read",
"mark_all_read": "Mark All as Read",
"no_notifications": "No notifications",
"new_order": "New Order",
"order_updated": "Order Updated",
"low_stock": "Low Stock Alert",
"import_complete": "Import Complete",
"import_failed": "Import Failed"
},
"messages": {
"failed_to_load_template": "Failed to load template",
"template_saved_successfully": "Template saved successfully",
"reverted_to_platform_default": "Reverted to platform default",
"failed_to_load_preview": "Failed to load preview",
"failed_to_send_test_email": "Failed to send test email",
"failed_to_load_conversations": "Failed to load conversations",
"failed_to_load_conversation": "Failed to load conversation",
"conversation_closed": "Conversation closed",
"failed_to_close_conversation": "Failed to close conversation",
"conversation_reopened": "Conversation reopened",
"failed_to_reopen_conversation": "Failed to reopen conversation",
"conversation_created": "Conversation created",
"notification_marked_as_read": "Notification marked as read",
"all_notifications_marked_as_read": "All notifications marked as read",
"notification_deleted": "Notification deleted",
"notification_settings_saved": "Notification settings saved",
"failed_to_load_templates": "Failed to load templates",
"failed_to_load_recipients": "Failed to load recipients",
"failed_to_load_notifications": "Failed to load notifications",
"failed_to_mark_notification_as_read": "Failed to mark notification as read",
"failed_to_mark_all_as_read": "Failed to mark all as read",
"failed_to_delete_notification": "Failed to delete notification",
"failed_to_load_alerts": "Failed to load alerts",
"alert_resolved_successfully": "Alert resolved successfully",
"failed_to_resolve_alert": "Failed to resolve alert",
"no_template_for_language": "No template for {language} - create one by saving",
"failed_to_save_template": "Failed to save template",
"test_email_sent": "Test email sent to {email}"
},
"confirmations": {
"delete_notification": "Are you sure you want to delete this notification?",
"close_conversation": "Close this conversation?",
"close_conversation_admin": "Are you sure you want to close this conversation?",
"delete_customization": "Are you sure you want to delete your customization and revert to the platform default?"
},
"features": {
"messaging_basic": {
"name": "Basic Messaging",
"description": "Basic messaging functionality"
"notifications": {
"title": "Notifications",
"mark_read": "Mark as Read",
"mark_all_read": "Mark All as Read",
"no_notifications": "No notifications",
"new_order": "New Order",
"order_updated": "Order Updated",
"low_stock": "Low Stock Alert",
"import_complete": "Import Complete",
"import_failed": "Import Failed"
},
"email_templates": {
"name": "Email Templates",
"description": "Customizable email templates"
"messages": {
"failed_to_load_template": "Failed to load template",
"template_saved_successfully": "Template saved successfully",
"reverted_to_platform_default": "Reverted to platform default",
"failed_to_load_preview": "Failed to load preview",
"failed_to_send_test_email": "Failed to send test email",
"failed_to_load_conversations": "Failed to load conversations",
"failed_to_load_conversation": "Failed to load conversation",
"conversation_closed": "Conversation closed",
"failed_to_close_conversation": "Failed to close conversation",
"conversation_reopened": "Conversation reopened",
"failed_to_reopen_conversation": "Failed to reopen conversation",
"conversation_created": "Conversation created",
"notification_marked_as_read": "Notification marked as read",
"all_notifications_marked_as_read": "All notifications marked as read",
"notification_deleted": "Notification deleted",
"notification_settings_saved": "Notification settings saved",
"failed_to_load_templates": "Failed to load templates",
"failed_to_load_recipients": "Failed to load recipients",
"failed_to_load_notifications": "Failed to load notifications",
"failed_to_mark_notification_as_read": "Failed to mark notification as read",
"failed_to_mark_all_as_read": "Failed to mark all as read",
"failed_to_delete_notification": "Failed to delete notification",
"failed_to_load_alerts": "Failed to load alerts",
"alert_resolved_successfully": "Alert resolved successfully",
"failed_to_resolve_alert": "Failed to resolve alert",
"no_template_for_language": "No template for {language} - create one by saving",
"failed_to_save_template": "Failed to save template",
"test_email_sent": "Test email sent to {email}"
},
"bulk_messaging": {
"name": "Bulk Messaging",
"description": "Send bulk messages to customers"
"confirmations": {
"delete_notification": "Are you sure you want to delete this notification?",
"close_conversation": "Close this conversation?",
"close_conversation_admin": "Are you sure you want to close this conversation?",
"delete_customization": "Are you sure you want to delete your customization and revert to the platform default?"
},
"features": {
"messaging_basic": {
"name": "Basic Messaging",
"description": "Basic messaging functionality"
},
"email_templates": {
"name": "Email Templates",
"description": "Customizable email templates"
},
"bulk_messaging": {
"name": "Bulk Messaging",
"description": "Send bulk messages to customers"
}
},
"menu": {
"platform_admin": "Platform Admin",
"platform_monitoring": "Platform Monitoring",
"platform_settings": "Platform Settings",
"customers": "Customers",
"account_settings": "Account Settings",
"messages": "Messages",
"notifications": "Notifications",
"email_templates": "Email Templates"
}
}
}

View File

@@ -1,54 +1,64 @@
{
"notifications": {
"title": "Notifications",
"mark_read": "Marquer comme lu",
"mark_all_read": "Tout marquer comme lu",
"no_notifications": "Aucune notification",
"new_order": "Nouvelle commande",
"order_updated": "Commande mise à jour",
"low_stock": "Alerte stock faible",
"import_complete": "Importation terminée",
"import_failed": "Échec de l'importation"
},
"messages": {
"failed_to_load_template": "Failed to load template",
"template_saved_successfully": "Template saved successfully",
"reverted_to_platform_default": "Reverted to platform default",
"failed_to_load_preview": "Failed to load preview",
"failed_to_send_test_email": "Failed to send test email",
"failed_to_load_conversations": "Failed to load conversations",
"failed_to_load_conversation": "Failed to load conversation",
"conversation_closed": "Conversation closed",
"failed_to_close_conversation": "Failed to close conversation",
"conversation_reopened": "Conversation reopened",
"failed_to_reopen_conversation": "Failed to reopen conversation",
"conversation_created": "Conversation created",
"notification_marked_as_read": "Notification marked as read",
"all_notifications_marked_as_read": "All notifications marked as read",
"notification_deleted": "Notification deleted",
"notification_settings_saved": "Notification settings saved",
"failed_to_load_templates": "Failed to load templates",
"failed_to_load_recipients": "Failed to load recipients",
"failed_to_load_notifications": "Failed to load notifications",
"failed_to_mark_notification_as_read": "Failed to mark notification as read",
"failed_to_mark_all_as_read": "Failed to mark all as read",
"failed_to_delete_notification": "Failed to delete notification",
"failed_to_load_alerts": "Failed to load alerts",
"alert_resolved_successfully": "Alert resolved successfully",
"failed_to_resolve_alert": "Failed to resolve alert"
},
"features": {
"messaging_basic": {
"name": "Messagerie de base",
"description": "Fonctionnalité de messagerie de base"
"notifications": {
"title": "Notifications",
"mark_read": "Marquer comme lu",
"mark_all_read": "Tout marquer comme lu",
"no_notifications": "Aucune notification",
"new_order": "Nouvelle commande",
"order_updated": "Commande mise à jour",
"low_stock": "Alerte stock faible",
"import_complete": "Importation terminée",
"import_failed": "Échec de l'importation"
},
"email_templates": {
"name": "Modèles d'e-mail",
"description": "Modèles d'e-mail personnalisables"
"messages": {
"failed_to_load_template": "Failed to load template",
"template_saved_successfully": "Template saved successfully",
"reverted_to_platform_default": "Reverted to platform default",
"failed_to_load_preview": "Failed to load preview",
"failed_to_send_test_email": "Failed to send test email",
"failed_to_load_conversations": "Failed to load conversations",
"failed_to_load_conversation": "Failed to load conversation",
"conversation_closed": "Conversation closed",
"failed_to_close_conversation": "Failed to close conversation",
"conversation_reopened": "Conversation reopened",
"failed_to_reopen_conversation": "Failed to reopen conversation",
"conversation_created": "Conversation created",
"notification_marked_as_read": "Notification marked as read",
"all_notifications_marked_as_read": "All notifications marked as read",
"notification_deleted": "Notification deleted",
"notification_settings_saved": "Notification settings saved",
"failed_to_load_templates": "Failed to load templates",
"failed_to_load_recipients": "Failed to load recipients",
"failed_to_load_notifications": "Failed to load notifications",
"failed_to_mark_notification_as_read": "Failed to mark notification as read",
"failed_to_mark_all_as_read": "Failed to mark all as read",
"failed_to_delete_notification": "Failed to delete notification",
"failed_to_load_alerts": "Failed to load alerts",
"alert_resolved_successfully": "Alert resolved successfully",
"failed_to_resolve_alert": "Failed to resolve alert"
},
"bulk_messaging": {
"name": "Messagerie en masse",
"description": "Envoyer des messages en masse aux clients"
"features": {
"messaging_basic": {
"name": "Messagerie de base",
"description": "Fonctionnalité de messagerie de base"
},
"email_templates": {
"name": "Modèles d'e-mail",
"description": "Modèles d'e-mail personnalisables"
},
"bulk_messaging": {
"name": "Messagerie en masse",
"description": "Envoyer des messages en masse aux clients"
}
},
"menu": {
"platform_admin": "Administration de la plateforme",
"platform_monitoring": "Surveillance de la plateforme",
"platform_settings": "Paramètres de la plateforme",
"customers": "Clients",
"account_settings": "Paramètres du compte",
"messages": "Messages",
"notifications": "Notifications",
"email_templates": "Modèles d'e-mail"
}
}
}

View File

@@ -1,54 +1,64 @@
{
"notifications": {
"title": "Notifikatiounen",
"mark_read": "Als gelies markéieren",
"mark_all_read": "Alles als gelies markéieren",
"no_notifications": "Keng Notifikatiounen",
"new_order": "Nei Bestellung",
"order_updated": "Bestellung aktualiséiert",
"low_stock": "Niddreg Lager Alarm",
"import_complete": "Import fäerdeg",
"import_failed": "Import feelgeschloen"
},
"messages": {
"failed_to_load_template": "Failed to load template",
"template_saved_successfully": "Template saved successfully",
"reverted_to_platform_default": "Reverted to platform default",
"failed_to_load_preview": "Failed to load preview",
"failed_to_send_test_email": "Failed to send test email",
"failed_to_load_conversations": "Failed to load conversations",
"failed_to_load_conversation": "Failed to load conversation",
"conversation_closed": "Conversation closed",
"failed_to_close_conversation": "Failed to close conversation",
"conversation_reopened": "Conversation reopened",
"failed_to_reopen_conversation": "Failed to reopen conversation",
"conversation_created": "Conversation created",
"notification_marked_as_read": "Notification marked as read",
"all_notifications_marked_as_read": "All notifications marked as read",
"notification_deleted": "Notification deleted",
"notification_settings_saved": "Notification settings saved",
"failed_to_load_templates": "Failed to load templates",
"failed_to_load_recipients": "Failed to load recipients",
"failed_to_load_notifications": "Failed to load notifications",
"failed_to_mark_notification_as_read": "Failed to mark notification as read",
"failed_to_mark_all_as_read": "Failed to mark all as read",
"failed_to_delete_notification": "Failed to delete notification",
"failed_to_load_alerts": "Failed to load alerts",
"alert_resolved_successfully": "Alert resolved successfully",
"failed_to_resolve_alert": "Failed to resolve alert"
},
"features": {
"messaging_basic": {
"name": "Basis-Noriichten",
"description": "Grondleeënd Noriichtenfunktiounalitéit"
"notifications": {
"title": "Notifikatiounen",
"mark_read": "Als gelies markéieren",
"mark_all_read": "Alles als gelies markéieren",
"no_notifications": "Keng Notifikatiounen",
"new_order": "Nei Bestellung",
"order_updated": "Bestellung aktualiséiert",
"low_stock": "Niddreg Lager Alarm",
"import_complete": "Import fäerdeg",
"import_failed": "Import feelgeschloen"
},
"email_templates": {
"name": "E-Mail-Virlagen",
"description": "Upassbar E-Mail-Virlagen"
"messages": {
"failed_to_load_template": "Failed to load template",
"template_saved_successfully": "Template saved successfully",
"reverted_to_platform_default": "Reverted to platform default",
"failed_to_load_preview": "Failed to load preview",
"failed_to_send_test_email": "Failed to send test email",
"failed_to_load_conversations": "Failed to load conversations",
"failed_to_load_conversation": "Failed to load conversation",
"conversation_closed": "Conversation closed",
"failed_to_close_conversation": "Failed to close conversation",
"conversation_reopened": "Conversation reopened",
"failed_to_reopen_conversation": "Failed to reopen conversation",
"conversation_created": "Conversation created",
"notification_marked_as_read": "Notification marked as read",
"all_notifications_marked_as_read": "All notifications marked as read",
"notification_deleted": "Notification deleted",
"notification_settings_saved": "Notification settings saved",
"failed_to_load_templates": "Failed to load templates",
"failed_to_load_recipients": "Failed to load recipients",
"failed_to_load_notifications": "Failed to load notifications",
"failed_to_mark_notification_as_read": "Failed to mark notification as read",
"failed_to_mark_all_as_read": "Failed to mark all as read",
"failed_to_delete_notification": "Failed to delete notification",
"failed_to_load_alerts": "Failed to load alerts",
"alert_resolved_successfully": "Alert resolved successfully",
"failed_to_resolve_alert": "Failed to resolve alert"
},
"bulk_messaging": {
"name": "Massennoriichten",
"description": "Massennoriichten u Clienten schécken"
"features": {
"messaging_basic": {
"name": "Basis-Noriichten",
"description": "Grondleeënd Noriichtenfunktiounalitéit"
},
"email_templates": {
"name": "E-Mail-Virlagen",
"description": "Upassbar E-Mail-Virlagen"
},
"bulk_messaging": {
"name": "Massennoriichten",
"description": "Massennoriichten u Clienten schécken"
}
},
"menu": {
"platform_admin": "Plattform-Administratioun",
"platform_monitoring": "Plattform-Iwwerwaachung",
"platform_settings": "Plattform-Astellungen",
"customers": "Clienten",
"account_settings": "Kont-Astellungen",
"messages": "Messagen",
"notifications": "Notifikatiounen",
"email_templates": "E-Mail-Virlagen"
}
}
}

View File

@@ -1 +1,12 @@
{}
{
"menu": {
"platform_health": "Plattform-Gesundheit",
"platform_monitoring": "Plattform-Überwachung",
"capacity_monitor": "Kapazitätsmonitor",
"testing_hub": "Test-Center",
"code_quality": "Code-Qualität",
"import_jobs": "Import-Aufträge",
"background_tasks": "Hintergrundaufgaben",
"application_logs": "Anwendungsprotokolle"
}
}

View File

@@ -1 +1,12 @@
{}
{
"menu": {
"platform_health": "Platform Health",
"platform_monitoring": "Platform Monitoring",
"capacity_monitor": "Capacity Monitor",
"testing_hub": "Testing Hub",
"code_quality": "Code Quality",
"import_jobs": "Import Jobs",
"background_tasks": "Background Tasks",
"application_logs": "Application Logs"
}
}

View File

@@ -1 +1,12 @@
{}
{
"menu": {
"platform_health": "Santé de la plateforme",
"platform_monitoring": "Surveillance de la plateforme",
"capacity_monitor": "Moniteur de capacité",
"testing_hub": "Centre de tests",
"code_quality": "Qualité du code",
"import_jobs": "Tâches d'import",
"background_tasks": "Tâches de fond",
"application_logs": "Journaux applicatifs"
}
}

View File

@@ -1 +1,12 @@
{}
{
"menu": {
"platform_health": "Plattform-Gesondheet",
"platform_monitoring": "Plattform-Iwwerwaachung",
"capacity_monitor": "Kapazitéitsmonitor",
"testing_hub": "Test-Center",
"code_quality": "Code-Qualitéit",
"import_jobs": "Import-Aufträg",
"background_tasks": "Hannergrondaufgaben",
"application_logs": "Applikatiounsprotokoller"
}
}

View File

@@ -1,78 +1,83 @@
{
"orders": {
"title": "Bestellungen",
"order": "Bestellung",
"order_id": "Bestellnummer",
"order_number": "Bestellnummer",
"order_date": "Bestelldatum",
"order_status": "Bestellstatus",
"order_details": "Bestelldetails",
"order_items": "Bestellartikel",
"order_total": "Bestellsumme",
"subtotal": "Zwischensumme",
"shipping": "Versand",
"tax": "Steuer",
"discount": "Rabatt",
"customer": "Kunde",
"shipping_address": "Lieferadresse",
"billing_address": "Rechnungsadresse",
"payment_method": "Zahlungsmethode",
"payment_status": "Zahlungsstatus",
"tracking": "Sendungsverfolgung",
"tracking_number": "Sendungsnummer",
"carrier": "Versanddienstleister",
"no_orders": "Keine Bestellungen gefunden",
"search_orders": "Bestellungen suchen...",
"filter_by_status": "Nach Status filtern",
"status_pending": "Ausstehend",
"status_processing": "In Bearbeitung",
"status_shipped": "Versendet",
"status_delivered": "Zugestellt",
"status_cancelled": "Storniert",
"status_refunded": "Erstattet",
"status_confirmed": "Bestätigt",
"status_rejected": "Abgelehnt",
"confirm_order": "Bestellung bestätigen",
"reject_order": "Bestellung ablehnen",
"set_tracking": "Sendungsverfolgung setzen",
"view_details": "Details ansehen"
},
"messages": {
"order_status_updated": "Order status updated",
"item_shipped_successfully": "Item shipped successfully",
"all_items_shipped": "All items shipped",
"invoice_downloaded": "Invoice downloaded",
"failed_to_load_order_details": "Failed to load order details.",
"order_status_updated_successfully": "Order status updated successfully.",
"order_marked_as_shipped_successfully": "Order marked as shipped successfully.",
"no_shipping_label_url_available_for_this": "No shipping label URL available for this order."
},
"features": {
"orders_per_month": {
"name": "Monatliche Bestellungen",
"description": "Maximale Bestellungen pro Monat",
"unit": "Bestellungen/Monat"
"orders": {
"title": "Bestellungen",
"order": "Bestellung",
"order_id": "Bestellnummer",
"order_number": "Bestellnummer",
"order_date": "Bestelldatum",
"order_status": "Bestellstatus",
"order_details": "Bestelldetails",
"order_items": "Bestellartikel",
"order_total": "Bestellsumme",
"subtotal": "Zwischensumme",
"shipping": "Versand",
"tax": "Steuer",
"discount": "Rabatt",
"customer": "Kunde",
"shipping_address": "Lieferadresse",
"billing_address": "Rechnungsadresse",
"payment_method": "Zahlungsmethode",
"payment_status": "Zahlungsstatus",
"tracking": "Sendungsverfolgung",
"tracking_number": "Sendungsnummer",
"carrier": "Versanddienstleister",
"no_orders": "Keine Bestellungen gefunden",
"search_orders": "Bestellungen suchen...",
"filter_by_status": "Nach Status filtern",
"status_pending": "Ausstehend",
"status_processing": "In Bearbeitung",
"status_shipped": "Versendet",
"status_delivered": "Zugestellt",
"status_cancelled": "Storniert",
"status_refunded": "Erstattet",
"status_confirmed": "Bestätigt",
"status_rejected": "Abgelehnt",
"confirm_order": "Bestellung bestätigen",
"reject_order": "Bestellung ablehnen",
"set_tracking": "Sendungsverfolgung setzen",
"view_details": "Details ansehen"
},
"order_history_months": {
"name": "Bestellverlauf",
"description": "Monate des aufbewahrten Bestellverlaufs",
"unit": "Monate"
"messages": {
"order_status_updated": "Order status updated",
"item_shipped_successfully": "Item shipped successfully",
"all_items_shipped": "All items shipped",
"invoice_downloaded": "Invoice downloaded",
"failed_to_load_order_details": "Failed to load order details.",
"order_status_updated_successfully": "Order status updated successfully.",
"order_marked_as_shipped_successfully": "Order marked as shipped successfully.",
"no_shipping_label_url_available_for_this": "No shipping label URL available for this order."
},
"order_management": {
"name": "Bestellverwaltung",
"description": "Vollständige Bestellverwaltungsfunktionen"
"features": {
"orders_per_month": {
"name": "Monatliche Bestellungen",
"description": "Maximale Bestellungen pro Monat",
"unit": "Bestellungen/Monat"
},
"order_history_months": {
"name": "Bestellverlauf",
"description": "Monate des aufbewahrten Bestellverlaufs",
"unit": "Monate"
},
"order_management": {
"name": "Bestellverwaltung",
"description": "Vollständige Bestellverwaltungsfunktionen"
},
"order_bulk_actions": {
"name": "Massenaktionen",
"description": "Massenaktionen für Bestellungen durchführen"
},
"order_export": {
"name": "Bestellexport",
"description": "Bestelldaten exportieren"
},
"automation_rules": {
"name": "Automatisierungsregeln",
"description": "Automatisierte Bestellverarbeitungsregeln"
}
},
"order_bulk_actions": {
"name": "Massenaktionen",
"description": "Massenaktionen für Bestellungen durchführen"
},
"order_export": {
"name": "Bestellexport",
"description": "Bestelldaten exportieren"
},
"automation_rules": {
"name": "Automatisierungsregeln",
"description": "Automatisierte Bestellverarbeitungsregeln"
"menu": {
"store_operations": "Shop-Betrieb",
"sales_orders": "Verkäufe & Bestellungen",
"orders": "Bestellungen"
}
}
}

View File

@@ -1,78 +1,83 @@
{
"orders": {
"title": "Orders",
"order": "Order",
"order_id": "Order ID",
"order_number": "Order Number",
"order_date": "Order Date",
"order_status": "Order Status",
"order_details": "Order Details",
"order_items": "Order Items",
"order_total": "Order Total",
"subtotal": "Subtotal",
"shipping": "Shipping",
"tax": "Tax",
"discount": "Discount",
"customer": "Customer",
"shipping_address": "Shipping Address",
"billing_address": "Billing Address",
"payment_method": "Payment Method",
"payment_status": "Payment Status",
"tracking": "Tracking",
"tracking_number": "Tracking Number",
"carrier": "Carrier",
"no_orders": "No orders found",
"search_orders": "Search orders...",
"filter_by_status": "Filter by status",
"status_pending": "Pending",
"status_processing": "Processing",
"status_shipped": "Shipped",
"status_delivered": "Delivered",
"status_cancelled": "Cancelled",
"status_refunded": "Refunded",
"status_confirmed": "Confirmed",
"status_rejected": "Rejected",
"confirm_order": "Confirm Order",
"reject_order": "Reject Order",
"set_tracking": "Set Tracking",
"view_details": "View Details"
},
"messages": {
"order_status_updated": "Order status updated",
"item_shipped_successfully": "Item shipped successfully",
"all_items_shipped": "All items shipped",
"invoice_downloaded": "Invoice downloaded",
"failed_to_load_order_details": "Failed to load order details.",
"order_status_updated_successfully": "Order status updated successfully.",
"order_marked_as_shipped_successfully": "Order marked as shipped successfully.",
"no_shipping_label_url_available_for_this": "No shipping label URL available for this order."
},
"features": {
"orders_per_month": {
"name": "Monthly Orders",
"description": "Maximum orders per month",
"unit": "orders/month"
"orders": {
"title": "Orders",
"order": "Order",
"order_id": "Order ID",
"order_number": "Order Number",
"order_date": "Order Date",
"order_status": "Order Status",
"order_details": "Order Details",
"order_items": "Order Items",
"order_total": "Order Total",
"subtotal": "Subtotal",
"shipping": "Shipping",
"tax": "Tax",
"discount": "Discount",
"customer": "Customer",
"shipping_address": "Shipping Address",
"billing_address": "Billing Address",
"payment_method": "Payment Method",
"payment_status": "Payment Status",
"tracking": "Tracking",
"tracking_number": "Tracking Number",
"carrier": "Carrier",
"no_orders": "No orders found",
"search_orders": "Search orders...",
"filter_by_status": "Filter by status",
"status_pending": "Pending",
"status_processing": "Processing",
"status_shipped": "Shipped",
"status_delivered": "Delivered",
"status_cancelled": "Cancelled",
"status_refunded": "Refunded",
"status_confirmed": "Confirmed",
"status_rejected": "Rejected",
"confirm_order": "Confirm Order",
"reject_order": "Reject Order",
"set_tracking": "Set Tracking",
"view_details": "View Details"
},
"order_history_months": {
"name": "Order History",
"description": "Months of order history retained",
"unit": "months"
"messages": {
"order_status_updated": "Order status updated",
"item_shipped_successfully": "Item shipped successfully",
"all_items_shipped": "All items shipped",
"invoice_downloaded": "Invoice downloaded",
"failed_to_load_order_details": "Failed to load order details.",
"order_status_updated_successfully": "Order status updated successfully.",
"order_marked_as_shipped_successfully": "Order marked as shipped successfully.",
"no_shipping_label_url_available_for_this": "No shipping label URL available for this order."
},
"order_management": {
"name": "Order Management",
"description": "Full order management capabilities"
"features": {
"orders_per_month": {
"name": "Monthly Orders",
"description": "Maximum orders per month",
"unit": "orders/month"
},
"order_history_months": {
"name": "Order History",
"description": "Months of order history retained",
"unit": "months"
},
"order_management": {
"name": "Order Management",
"description": "Full order management capabilities"
},
"order_bulk_actions": {
"name": "Bulk Actions",
"description": "Perform bulk actions on orders"
},
"order_export": {
"name": "Order Export",
"description": "Export order data"
},
"automation_rules": {
"name": "Automation Rules",
"description": "Automated order processing rules"
}
},
"order_bulk_actions": {
"name": "Bulk Actions",
"description": "Perform bulk actions on orders"
},
"order_export": {
"name": "Order Export",
"description": "Export order data"
},
"automation_rules": {
"name": "Automation Rules",
"description": "Automated order processing rules"
"menu": {
"store_operations": "Store Operations",
"sales_orders": "Sales & Orders",
"orders": "Orders"
}
}
}

View File

@@ -1,78 +1,83 @@
{
"orders": {
"title": "Commandes",
"order": "Commande",
"order_id": "ID de commande",
"order_number": "Numéro de commande",
"order_date": "Date de commande",
"order_status": "Statut de la commande",
"order_details": "Détails de la commande",
"order_items": "Articles de la commande",
"order_total": "Total de la commande",
"subtotal": "Sous-total",
"shipping": "Livraison",
"tax": "Taxe",
"discount": "Remise",
"customer": "Client",
"shipping_address": "Adresse de livraison",
"billing_address": "Adresse de facturation",
"payment_method": "Mode de paiement",
"payment_status": "Statut du paiement",
"tracking": "Suivi",
"tracking_number": "Numéro de suivi",
"carrier": "Transporteur",
"no_orders": "Aucune commande trouvée",
"search_orders": "Rechercher des commandes...",
"filter_by_status": "Filtrer par statut",
"status_pending": "En attente",
"status_processing": "En cours",
"status_shipped": "Expédiée",
"status_delivered": "Livrée",
"status_cancelled": "Annulée",
"status_refunded": "Remboursée",
"status_confirmed": "Confirmée",
"status_rejected": "Rejetée",
"confirm_order": "Confirmer la commande",
"reject_order": "Rejeter la commande",
"set_tracking": "Définir le suivi",
"view_details": "Voir les détails"
},
"messages": {
"order_status_updated": "Order status updated",
"item_shipped_successfully": "Item shipped successfully",
"all_items_shipped": "All items shipped",
"invoice_downloaded": "Invoice downloaded",
"failed_to_load_order_details": "Failed to load order details.",
"order_status_updated_successfully": "Order status updated successfully.",
"order_marked_as_shipped_successfully": "Order marked as shipped successfully.",
"no_shipping_label_url_available_for_this": "No shipping label URL available for this order."
},
"features": {
"orders_per_month": {
"name": "Commandes mensuelles",
"description": "Nombre maximum de commandes par mois",
"unit": "commandes/mois"
"orders": {
"title": "Commandes",
"order": "Commande",
"order_id": "ID de commande",
"order_number": "Numéro de commande",
"order_date": "Date de commande",
"order_status": "Statut de la commande",
"order_details": "Détails de la commande",
"order_items": "Articles de la commande",
"order_total": "Total de la commande",
"subtotal": "Sous-total",
"shipping": "Livraison",
"tax": "Taxe",
"discount": "Remise",
"customer": "Client",
"shipping_address": "Adresse de livraison",
"billing_address": "Adresse de facturation",
"payment_method": "Mode de paiement",
"payment_status": "Statut du paiement",
"tracking": "Suivi",
"tracking_number": "Numéro de suivi",
"carrier": "Transporteur",
"no_orders": "Aucune commande trouvée",
"search_orders": "Rechercher des commandes...",
"filter_by_status": "Filtrer par statut",
"status_pending": "En attente",
"status_processing": "En cours",
"status_shipped": "Expédiée",
"status_delivered": "Livrée",
"status_cancelled": "Annulée",
"status_refunded": "Remboursée",
"status_confirmed": "Confirmée",
"status_rejected": "Rejetée",
"confirm_order": "Confirmer la commande",
"reject_order": "Rejeter la commande",
"set_tracking": "Définir le suivi",
"view_details": "Voir les détails"
},
"order_history_months": {
"name": "Historique des commandes",
"description": "Mois d'historique des commandes conservés",
"unit": "mois"
"messages": {
"order_status_updated": "Order status updated",
"item_shipped_successfully": "Item shipped successfully",
"all_items_shipped": "All items shipped",
"invoice_downloaded": "Invoice downloaded",
"failed_to_load_order_details": "Failed to load order details.",
"order_status_updated_successfully": "Order status updated successfully.",
"order_marked_as_shipped_successfully": "Order marked as shipped successfully.",
"no_shipping_label_url_available_for_this": "No shipping label URL available for this order."
},
"order_management": {
"name": "Gestion des commandes",
"description": "Fonctionnalités complètes de gestion des commandes"
"features": {
"orders_per_month": {
"name": "Commandes mensuelles",
"description": "Nombre maximum de commandes par mois",
"unit": "commandes/mois"
},
"order_history_months": {
"name": "Historique des commandes",
"description": "Mois d'historique des commandes conservés",
"unit": "mois"
},
"order_management": {
"name": "Gestion des commandes",
"description": "Fonctionnalités complètes de gestion des commandes"
},
"order_bulk_actions": {
"name": "Actions en masse",
"description": "Effectuer des actions en masse sur les commandes"
},
"order_export": {
"name": "Export de commandes",
"description": "Exporter les données de commandes"
},
"automation_rules": {
"name": "Règles d'automatisation",
"description": "Règles de traitement automatique des commandes"
}
},
"order_bulk_actions": {
"name": "Actions en masse",
"description": "Effectuer des actions en masse sur les commandes"
},
"order_export": {
"name": "Export de commandes",
"description": "Exporter les données de commandes"
},
"automation_rules": {
"name": "Règles d'automatisation",
"description": "Règles de traitement automatique des commandes"
"menu": {
"store_operations": "Opérations du magasin",
"sales_orders": "Ventes et Commandes",
"orders": "Commandes"
}
}
}

View File

@@ -1,78 +1,83 @@
{
"orders": {
"title": "Bestellungen",
"order": "Bestellung",
"order_id": "Bestellungs-ID",
"order_number": "Bestellungsnummer",
"order_date": "Bestellungsdatum",
"order_status": "Bestellungsstatus",
"order_details": "Bestellungsdetailer",
"order_items": "Bestellungsartikelen",
"order_total": "Bestellungstotal",
"subtotal": "Subtotal",
"shipping": "Versand",
"tax": "Steier",
"discount": "Rabatt",
"customer": "Client",
"shipping_address": "Liwweradress",
"billing_address": "Rechnungsadress",
"payment_method": "Bezuelmethod",
"payment_status": "Bezuelstatus",
"tracking": "Tracking",
"tracking_number": "Trackingnummer",
"carrier": "Transporteur",
"no_orders": "Keng Bestellunge fonnt",
"search_orders": "Bestellunge sichen...",
"filter_by_status": "No Status filteren",
"status_pending": "Aussteesend",
"status_processing": "A Veraarbechtung",
"status_shipped": "Verschéckt",
"status_delivered": "Geliwwert",
"status_cancelled": "Annuléiert",
"status_refunded": "Rembourséiert",
"status_confirmed": "Bestätegt",
"status_rejected": "Ofgeleent",
"confirm_order": "Bestellung bestätegen",
"reject_order": "Bestellung oflehnen",
"set_tracking": "Tracking setzen",
"view_details": "Detailer kucken"
},
"messages": {
"order_status_updated": "Order status updated",
"item_shipped_successfully": "Item shipped successfully",
"all_items_shipped": "All items shipped",
"invoice_downloaded": "Invoice downloaded",
"failed_to_load_order_details": "Failed to load order details.",
"order_status_updated_successfully": "Order status updated successfully.",
"order_marked_as_shipped_successfully": "Order marked as shipped successfully.",
"no_shipping_label_url_available_for_this": "No shipping label URL available for this order."
},
"features": {
"orders_per_month": {
"name": "Monatslech Bestellungen",
"description": "Maximal Bestellungen pro Mount",
"unit": "Bestellungen/Mount"
"orders": {
"title": "Bestellungen",
"order": "Bestellung",
"order_id": "Bestellungs-ID",
"order_number": "Bestellungsnummer",
"order_date": "Bestellungsdatum",
"order_status": "Bestellungsstatus",
"order_details": "Bestellungsdetailer",
"order_items": "Bestellungsartikelen",
"order_total": "Bestellungstotal",
"subtotal": "Subtotal",
"shipping": "Versand",
"tax": "Steier",
"discount": "Rabatt",
"customer": "Client",
"shipping_address": "Liwweradress",
"billing_address": "Rechnungsadress",
"payment_method": "Bezuelmethod",
"payment_status": "Bezuelstatus",
"tracking": "Tracking",
"tracking_number": "Trackingnummer",
"carrier": "Transporteur",
"no_orders": "Keng Bestellunge fonnt",
"search_orders": "Bestellunge sichen...",
"filter_by_status": "No Status filteren",
"status_pending": "Aussteesend",
"status_processing": "A Veraarbechtung",
"status_shipped": "Verschéckt",
"status_delivered": "Geliwwert",
"status_cancelled": "Annuléiert",
"status_refunded": "Rembourséiert",
"status_confirmed": "Bestätegt",
"status_rejected": "Ofgeleent",
"confirm_order": "Bestellung bestätegen",
"reject_order": "Bestellung oflehnen",
"set_tracking": "Tracking setzen",
"view_details": "Detailer kucken"
},
"order_history_months": {
"name": "Bestellverlaf",
"description": "Méint vum opbewaartene Bestellverlaf",
"unit": "Méint"
"messages": {
"order_status_updated": "Order status updated",
"item_shipped_successfully": "Item shipped successfully",
"all_items_shipped": "All items shipped",
"invoice_downloaded": "Invoice downloaded",
"failed_to_load_order_details": "Failed to load order details.",
"order_status_updated_successfully": "Order status updated successfully.",
"order_marked_as_shipped_successfully": "Order marked as shipped successfully.",
"no_shipping_label_url_available_for_this": "No shipping label URL available for this order."
},
"order_management": {
"name": "Bestellverwaltung",
"description": "Vollstänneg Bestellverwaltungsfunktiounen"
"features": {
"orders_per_month": {
"name": "Monatslech Bestellungen",
"description": "Maximal Bestellungen pro Mount",
"unit": "Bestellungen/Mount"
},
"order_history_months": {
"name": "Bestellverlaf",
"description": "Méint vum opbewaartene Bestellverlaf",
"unit": "Méint"
},
"order_management": {
"name": "Bestellverwaltung",
"description": "Vollstänneg Bestellverwaltungsfunktiounen"
},
"order_bulk_actions": {
"name": "Massenaktiounen",
"description": "Massenaktiounen fir Bestellungen duerchféieren"
},
"order_export": {
"name": "Bestellexport",
"description": "Bestelldaten exportéieren"
},
"automation_rules": {
"name": "Automatiséierungsreegelen",
"description": "Automatiséiert Bestellveraarbechtungsreegelen"
}
},
"order_bulk_actions": {
"name": "Massenaktiounen",
"description": "Massenaktiounen fir Bestellungen duerchféieren"
},
"order_export": {
"name": "Bestellexport",
"description": "Bestelldaten exportéieren"
},
"automation_rules": {
"name": "Automatiséierungsreegelen",
"description": "Automatiséiert Bestellveraarbechtungsreegelen"
"menu": {
"store_operations": "Buttek-Operatiounen",
"sales_orders": "Verkaf & Bestellungen",
"orders": "Bestellungen"
}
}
}

View File

@@ -1,108 +1,116 @@
{
"menu": {
"user_management": "Benutzerverwaltung",
"merchant_users": "Händler-Benutzer"
},
"team": {
"title": "Team",
"members": "Mitglieder",
"add_member": "Mitglied hinzufügen",
"invite_member": "Mitglied einladen",
"remove_member": "Mitglied entfernen",
"role": "Rolle",
"owner": "Inhaber",
"manager": "Manager",
"editor": "Bearbeiter",
"viewer": "Betrachter",
"permissions": "Berechtigungen",
"pending_invitations": "Ausstehende Einladungen",
"invitation_sent": "Einladung gesendet",
"invitation_accepted": "Einladung angenommen"
},
"messages": {
"business_info_saved": "Business info saved",
"marketplace_settings_saved": "Marketplace settings saved",
"please_enter_a_url_first": "Please enter a URL first",
"could_not_validate_url_it_may_still_work": "Could not validate URL - it may still work",
"localization_settings_saved": "Localization settings saved",
"failed_to_load_email_settings": "Failed to load email settings",
"from_email_and_from_name_are_required": "From Email and From Name are required",
"email_settings_saved": "Email settings saved",
"please_enter_a_test_email_address": "Please enter a test email address",
"please_save_your_email_settings_first": "Please save your email settings first",
"test_email_sent_check_your_inbox": "Test email sent! Check your inbox.",
"please_fix_the_errors_before_saving": "Please fix the errors before saving",
"profile_updated_successfully": "Profile updated successfully",
"email_is_required": "Email is required",
"invitation_sent_successfully": "Invitation sent successfully",
"team_member_updated": "Team member updated",
"team_member_removed": "Team member removed",
"invalid_merchant_url": "Invalid merchant URL",
"failed_to_load_merchant_details": "Failed to load merchant details",
"merchant_deleted_successfully": "Merchant deleted successfully",
"merchant_details_refreshed": "Merchant details refreshed",
"invalid_admin_user_url": "Invalid admin user URL",
"failed_to_load_admin_user_details": "Failed to load admin user details",
"you_cannot_deactivate_your_own_account": "You cannot deactivate your own account",
"you_cannot_delete_your_own_account": "You cannot delete your own account",
"admin_user_deleted_successfully": "Admin user deleted successfully",
"admin_user_details_refreshed": "Admin user details refreshed",
"failed_to_initialize_page": "Failed to initialize page",
"failed_to_load_merchant": "Failed to load merchant",
"merchant_updated_successfully": "Merchant updated successfully",
"ownership_transferred_successfully": "Ownership transferred successfully",
"theme_saved_successfully": "Theme saved successfully",
"failed_to_apply_preset": "Failed to apply preset",
"theme_reset_to_default": "Theme reset to default",
"failed_to_reset_theme": "Failed to reset theme",
"failed_to_load_stores": "Failed to load stores",
"store_deleted_successfully": "Store deleted successfully",
"stores_list_refreshed": "Stores list refreshed",
"invalid_user_url": "Invalid user URL",
"failed_to_load_user_details": "Failed to load user details",
"user_deleted_successfully": "User deleted successfully",
"user_details_refreshed": "User details refreshed",
"invalid_store_url": "Invalid store URL",
"failed_to_load_store_details": "Failed to load store details",
"no_store_loaded": "No store loaded",
"subscription_created_successfully": "Subscription created successfully",
"store_details_refreshed": "Store details refreshed",
"failed_to_load_users": "Failed to load users",
"failed_to_delete_user": "Failed to delete user",
"failed_to_load_admin_users": "Failed to load admin users",
"failed_to_load_admin_user": "Failed to load admin user",
"you_cannot_demote_yourself_from_super_ad": "You cannot demote yourself from super admin",
"platform_assigned_successfully": "Platform assigned successfully",
"platform_admin_must_be_assigned_to_at_le": "Platform admin must be assigned to at least one platform",
"platform_removed_successfully": "Platform removed successfully",
"please_fix_the_errors_before_submitting": "Please fix the errors before submitting",
"failed_to_load_store": "Failed to load store",
"store_updated_successfully": "Store updated successfully",
"all_contact_fields_reset_to_merchant_defa": "All contact fields reset to merchant defaults",
"failed_to_load_user": "Failed to load user",
"user_updated_successfully": "User updated successfully"
},
"features": {
"team_members": {
"name": "Teammitglieder",
"description": "Maximale Anzahl an Teammitgliedern",
"unit": "Mitglieder"
"menu": {
"user_management": "Benutzerverwaltung",
"merchant_users": "Händler-Benutzer",
"platform_admin": "Plattform-Administration",
"content_management": "Inhaltsverwaltung",
"account_settings": "Kontoeinstellungen",
"admin_users": "Admin-Benutzer",
"merchants": "Händler",
"stores": "Shops",
"platforms": "Plattformen",
"team": "Team"
},
"single_user": {
"name": "Einzelbenutzer",
"description": "Einzelbenutzerzugang"
"team": {
"title": "Team",
"members": "Mitglieder",
"add_member": "Mitglied hinzufügen",
"invite_member": "Mitglied einladen",
"remove_member": "Mitglied entfernen",
"role": "Rolle",
"owner": "Inhaber",
"manager": "Manager",
"editor": "Bearbeiter",
"viewer": "Betrachter",
"permissions": "Berechtigungen",
"pending_invitations": "Ausstehende Einladungen",
"invitation_sent": "Einladung gesendet",
"invitation_accepted": "Einladung angenommen"
},
"team_basic": {
"name": "Basis-Team",
"description": "Grundlegende Team-Zusammenarbeit"
"messages": {
"business_info_saved": "Business info saved",
"marketplace_settings_saved": "Marketplace settings saved",
"please_enter_a_url_first": "Please enter a URL first",
"could_not_validate_url_it_may_still_work": "Could not validate URL - it may still work",
"localization_settings_saved": "Localization settings saved",
"failed_to_load_email_settings": "Failed to load email settings",
"from_email_and_from_name_are_required": "From Email and From Name are required",
"email_settings_saved": "Email settings saved",
"please_enter_a_test_email_address": "Please enter a test email address",
"please_save_your_email_settings_first": "Please save your email settings first",
"test_email_sent_check_your_inbox": "Test email sent! Check your inbox.",
"please_fix_the_errors_before_saving": "Please fix the errors before saving",
"profile_updated_successfully": "Profile updated successfully",
"email_is_required": "Email is required",
"invitation_sent_successfully": "Invitation sent successfully",
"team_member_updated": "Team member updated",
"team_member_removed": "Team member removed",
"invalid_merchant_url": "Invalid merchant URL",
"failed_to_load_merchant_details": "Failed to load merchant details",
"merchant_deleted_successfully": "Merchant deleted successfully",
"merchant_details_refreshed": "Merchant details refreshed",
"invalid_admin_user_url": "Invalid admin user URL",
"failed_to_load_admin_user_details": "Failed to load admin user details",
"you_cannot_deactivate_your_own_account": "You cannot deactivate your own account",
"you_cannot_delete_your_own_account": "You cannot delete your own account",
"admin_user_deleted_successfully": "Admin user deleted successfully",
"admin_user_details_refreshed": "Admin user details refreshed",
"failed_to_initialize_page": "Failed to initialize page",
"failed_to_load_merchant": "Failed to load merchant",
"merchant_updated_successfully": "Merchant updated successfully",
"ownership_transferred_successfully": "Ownership transferred successfully",
"theme_saved_successfully": "Theme saved successfully",
"failed_to_apply_preset": "Failed to apply preset",
"theme_reset_to_default": "Theme reset to default",
"failed_to_reset_theme": "Failed to reset theme",
"failed_to_load_stores": "Failed to load stores",
"store_deleted_successfully": "Store deleted successfully",
"stores_list_refreshed": "Stores list refreshed",
"invalid_user_url": "Invalid user URL",
"failed_to_load_user_details": "Failed to load user details",
"user_deleted_successfully": "User deleted successfully",
"user_details_refreshed": "User details refreshed",
"invalid_store_url": "Invalid store URL",
"failed_to_load_store_details": "Failed to load store details",
"no_store_loaded": "No store loaded",
"subscription_created_successfully": "Subscription created successfully",
"store_details_refreshed": "Store details refreshed",
"failed_to_load_users": "Failed to load users",
"failed_to_delete_user": "Failed to delete user",
"failed_to_load_admin_users": "Failed to load admin users",
"failed_to_load_admin_user": "Failed to load admin user",
"you_cannot_demote_yourself_from_super_ad": "You cannot demote yourself from super admin",
"platform_assigned_successfully": "Platform assigned successfully",
"platform_admin_must_be_assigned_to_at_le": "Platform admin must be assigned to at least one platform",
"platform_removed_successfully": "Platform removed successfully",
"please_fix_the_errors_before_submitting": "Please fix the errors before submitting",
"failed_to_load_store": "Failed to load store",
"store_updated_successfully": "Store updated successfully",
"all_contact_fields_reset_to_merchant_defa": "All contact fields reset to merchant defaults",
"failed_to_load_user": "Failed to load user",
"user_updated_successfully": "User updated successfully"
},
"team_roles": {
"name": "Team-Rollen",
"description": "Rollenbasierte Zugriffskontrolle für Teammitglieder"
},
"audit_log": {
"name": "Audit-Protokoll",
"description": "Alle Benutzeraktionen und Änderungen nachverfolgen"
"features": {
"team_members": {
"name": "Teammitglieder",
"description": "Maximale Anzahl an Teammitgliedern",
"unit": "Mitglieder"
},
"single_user": {
"name": "Einzelbenutzer",
"description": "Einzelbenutzerzugang"
},
"team_basic": {
"name": "Basis-Team",
"description": "Grundlegende Team-Zusammenarbeit"
},
"team_roles": {
"name": "Team-Rollen",
"description": "Rollenbasierte Zugriffskontrolle für Teammitglieder"
},
"audit_log": {
"name": "Audit-Protokoll",
"description": "Alle Benutzeraktionen und Änderungen nachverfolgen"
}
}
}
}

View File

@@ -1,115 +1,123 @@
{
"menu": {
"user_management": "User Management",
"merchant_users": "Merchant Users"
},
"team": {
"title": "Team",
"members": "Members",
"add_member": "Add Member",
"invite_member": "Invite Member",
"remove_member": "Remove Member",
"role": "Role",
"owner": "Owner",
"manager": "Manager",
"editor": "Editor",
"viewer": "Viewer",
"permissions": "Permissions",
"pending_invitations": "Pending Invitations",
"invitation_sent": "Invitation Sent",
"invitation_accepted": "Invitation Accepted"
},
"messages": {
"business_info_saved": "Business info saved",
"marketplace_settings_saved": "Marketplace settings saved",
"please_enter_a_url_first": "Please enter a URL first",
"could_not_validate_url_it_may_still_work": "Could not validate URL - it may still work",
"localization_settings_saved": "Localization settings saved",
"failed_to_load_email_settings": "Failed to load email settings",
"from_email_and_from_name_are_required": "From Email and From Name are required",
"email_settings_saved": "Email settings saved",
"please_enter_a_test_email_address": "Please enter a test email address",
"please_save_your_email_settings_first": "Please save your email settings first",
"test_email_sent_check_your_inbox": "Test email sent! Check your inbox.",
"please_fix_the_errors_before_saving": "Please fix the errors before saving",
"profile_updated_successfully": "Profile updated successfully",
"email_is_required": "Email is required",
"invitation_sent_successfully": "Invitation sent successfully",
"team_member_updated": "Team member updated",
"team_member_removed": "Team member removed",
"invalid_merchant_url": "Invalid merchant URL",
"failed_to_load_merchant_details": "Failed to load merchant details",
"merchant_deleted_successfully": "Merchant deleted successfully",
"merchant_details_refreshed": "Merchant details refreshed",
"invalid_admin_user_url": "Invalid admin user URL",
"failed_to_load_admin_user_details": "Failed to load admin user details",
"you_cannot_deactivate_your_own_account": "You cannot deactivate your own account",
"you_cannot_delete_your_own_account": "You cannot delete your own account",
"admin_user_deleted_successfully": "Admin user deleted successfully",
"admin_user_details_refreshed": "Admin user details refreshed",
"failed_to_initialize_page": "Failed to initialize page",
"failed_to_load_merchant": "Failed to load merchant",
"merchant_updated_successfully": "Merchant updated successfully",
"ownership_transferred_successfully": "Ownership transferred successfully",
"theme_saved_successfully": "Theme saved successfully",
"failed_to_apply_preset": "Failed to apply preset",
"theme_reset_to_default": "Theme reset to default",
"failed_to_reset_theme": "Failed to reset theme",
"failed_to_load_stores": "Failed to load stores",
"store_deleted_successfully": "Store deleted successfully",
"stores_list_refreshed": "Stores list refreshed",
"invalid_user_url": "Invalid user URL",
"failed_to_load_user_details": "Failed to load user details",
"user_deleted_successfully": "User deleted successfully",
"user_details_refreshed": "User details refreshed",
"invalid_store_url": "Invalid store URL",
"failed_to_load_store_details": "Failed to load store details",
"no_store_loaded": "No store loaded",
"subscription_created_successfully": "Subscription created successfully",
"store_details_refreshed": "Store details refreshed",
"failed_to_load_users": "Failed to load users",
"failed_to_delete_user": "Failed to delete user",
"failed_to_load_admin_users": "Failed to load admin users",
"failed_to_load_admin_user": "Failed to load admin user",
"you_cannot_demote_yourself_from_super_ad": "You cannot demote yourself from super admin",
"platform_assigned_successfully": "Platform assigned successfully",
"platform_admin_must_be_assigned_to_at_le": "Platform admin must be assigned to at least one platform",
"platform_removed_successfully": "Platform removed successfully",
"please_fix_the_errors_before_submitting": "Please fix the errors before submitting",
"failed_to_load_store": "Failed to load store",
"store_updated_successfully": "Store updated successfully",
"all_contact_fields_reset_to_merchant_defa": "All contact fields reset to merchant defaults",
"failed_to_load_user": "Failed to load user",
"user_updated_successfully": "User updated successfully"
},
"confirmations": {
"enable_all_modules": "This will enable all modules. Continue?",
"disable_optional_modules": "This will disable all optional modules, keeping only core modules. Continue?",
"reset_theme": "Reset theme to default? This cannot be undone.",
"show_all_menu_items": "This will show all menu items. Continue?",
"hide_all_menu_items": "This will hide all menu items (except mandatory ones). You can then enable the ones you want. Continue?"
},
"features": {
"team_members": {
"name": "Team Members",
"description": "Maximum number of team members",
"unit": "members"
"menu": {
"user_management": "User Management",
"merchant_users": "Merchant Users",
"platform_admin": "Platform Admin",
"content_management": "Content Management",
"account_settings": "Account Settings",
"admin_users": "Admin Users",
"merchants": "Merchants",
"stores": "Stores",
"platforms": "Platforms",
"team": "Team"
},
"single_user": {
"name": "Single User",
"description": "Single user access"
"team": {
"title": "Team",
"members": "Members",
"add_member": "Add Member",
"invite_member": "Invite Member",
"remove_member": "Remove Member",
"role": "Role",
"owner": "Owner",
"manager": "Manager",
"editor": "Editor",
"viewer": "Viewer",
"permissions": "Permissions",
"pending_invitations": "Pending Invitations",
"invitation_sent": "Invitation Sent",
"invitation_accepted": "Invitation Accepted"
},
"team_basic": {
"name": "Basic Team",
"description": "Basic team collaboration features"
"messages": {
"business_info_saved": "Business info saved",
"marketplace_settings_saved": "Marketplace settings saved",
"please_enter_a_url_first": "Please enter a URL first",
"could_not_validate_url_it_may_still_work": "Could not validate URL - it may still work",
"localization_settings_saved": "Localization settings saved",
"failed_to_load_email_settings": "Failed to load email settings",
"from_email_and_from_name_are_required": "From Email and From Name are required",
"email_settings_saved": "Email settings saved",
"please_enter_a_test_email_address": "Please enter a test email address",
"please_save_your_email_settings_first": "Please save your email settings first",
"test_email_sent_check_your_inbox": "Test email sent! Check your inbox.",
"please_fix_the_errors_before_saving": "Please fix the errors before saving",
"profile_updated_successfully": "Profile updated successfully",
"email_is_required": "Email is required",
"invitation_sent_successfully": "Invitation sent successfully",
"team_member_updated": "Team member updated",
"team_member_removed": "Team member removed",
"invalid_merchant_url": "Invalid merchant URL",
"failed_to_load_merchant_details": "Failed to load merchant details",
"merchant_deleted_successfully": "Merchant deleted successfully",
"merchant_details_refreshed": "Merchant details refreshed",
"invalid_admin_user_url": "Invalid admin user URL",
"failed_to_load_admin_user_details": "Failed to load admin user details",
"you_cannot_deactivate_your_own_account": "You cannot deactivate your own account",
"you_cannot_delete_your_own_account": "You cannot delete your own account",
"admin_user_deleted_successfully": "Admin user deleted successfully",
"admin_user_details_refreshed": "Admin user details refreshed",
"failed_to_initialize_page": "Failed to initialize page",
"failed_to_load_merchant": "Failed to load merchant",
"merchant_updated_successfully": "Merchant updated successfully",
"ownership_transferred_successfully": "Ownership transferred successfully",
"theme_saved_successfully": "Theme saved successfully",
"failed_to_apply_preset": "Failed to apply preset",
"theme_reset_to_default": "Theme reset to default",
"failed_to_reset_theme": "Failed to reset theme",
"failed_to_load_stores": "Failed to load stores",
"store_deleted_successfully": "Store deleted successfully",
"stores_list_refreshed": "Stores list refreshed",
"invalid_user_url": "Invalid user URL",
"failed_to_load_user_details": "Failed to load user details",
"user_deleted_successfully": "User deleted successfully",
"user_details_refreshed": "User details refreshed",
"invalid_store_url": "Invalid store URL",
"failed_to_load_store_details": "Failed to load store details",
"no_store_loaded": "No store loaded",
"subscription_created_successfully": "Subscription created successfully",
"store_details_refreshed": "Store details refreshed",
"failed_to_load_users": "Failed to load users",
"failed_to_delete_user": "Failed to delete user",
"failed_to_load_admin_users": "Failed to load admin users",
"failed_to_load_admin_user": "Failed to load admin user",
"you_cannot_demote_yourself_from_super_ad": "You cannot demote yourself from super admin",
"platform_assigned_successfully": "Platform assigned successfully",
"platform_admin_must_be_assigned_to_at_le": "Platform admin must be assigned to at least one platform",
"platform_removed_successfully": "Platform removed successfully",
"please_fix_the_errors_before_submitting": "Please fix the errors before submitting",
"failed_to_load_store": "Failed to load store",
"store_updated_successfully": "Store updated successfully",
"all_contact_fields_reset_to_merchant_defa": "All contact fields reset to merchant defaults",
"failed_to_load_user": "Failed to load user",
"user_updated_successfully": "User updated successfully"
},
"team_roles": {
"name": "Team Roles",
"description": "Role-based access control for team members"
"confirmations": {
"enable_all_modules": "This will enable all modules. Continue?",
"disable_optional_modules": "This will disable all optional modules, keeping only core modules. Continue?",
"reset_theme": "Reset theme to default? This cannot be undone.",
"show_all_menu_items": "This will show all menu items. Continue?",
"hide_all_menu_items": "This will hide all menu items (except mandatory ones). You can then enable the ones you want. Continue?"
},
"audit_log": {
"name": "Audit Log",
"description": "Track all user actions and changes"
"features": {
"team_members": {
"name": "Team Members",
"description": "Maximum number of team members",
"unit": "members"
},
"single_user": {
"name": "Single User",
"description": "Single user access"
},
"team_basic": {
"name": "Basic Team",
"description": "Basic team collaboration features"
},
"team_roles": {
"name": "Team Roles",
"description": "Role-based access control for team members"
},
"audit_log": {
"name": "Audit Log",
"description": "Track all user actions and changes"
}
}
}
}

View File

@@ -1,108 +1,116 @@
{
"menu": {
"user_management": "Gestion des utilisateurs",
"merchant_users": "Utilisateurs marchands"
},
"team": {
"title": "Équipe",
"members": "Membres",
"add_member": "Ajouter un membre",
"invite_member": "Inviter un membre",
"remove_member": "Retirer un membre",
"role": "Rôle",
"owner": "Propriétaire",
"manager": "Gestionnaire",
"editor": "Éditeur",
"viewer": "Lecteur",
"permissions": "Permissions",
"pending_invitations": "Invitations en attente",
"invitation_sent": "Invitation envoyée",
"invitation_accepted": "Invitation acceptée"
},
"messages": {
"business_info_saved": "Business info saved",
"marketplace_settings_saved": "Marketplace settings saved",
"please_enter_a_url_first": "Please enter a URL first",
"could_not_validate_url_it_may_still_work": "Could not validate URL - it may still work",
"localization_settings_saved": "Localization settings saved",
"failed_to_load_email_settings": "Failed to load email settings",
"from_email_and_from_name_are_required": "From Email and From Name are required",
"email_settings_saved": "Email settings saved",
"please_enter_a_test_email_address": "Please enter a test email address",
"please_save_your_email_settings_first": "Please save your email settings first",
"test_email_sent_check_your_inbox": "Test email sent! Check your inbox.",
"please_fix_the_errors_before_saving": "Please fix the errors before saving",
"profile_updated_successfully": "Profile updated successfully",
"email_is_required": "Email is required",
"invitation_sent_successfully": "Invitation sent successfully",
"team_member_updated": "Team member updated",
"team_member_removed": "Team member removed",
"invalid_merchant_url": "Invalid merchant URL",
"failed_to_load_merchant_details": "Failed to load merchant details",
"merchant_deleted_successfully": "Merchant deleted successfully",
"merchant_details_refreshed": "Merchant details refreshed",
"invalid_admin_user_url": "Invalid admin user URL",
"failed_to_load_admin_user_details": "Failed to load admin user details",
"you_cannot_deactivate_your_own_account": "You cannot deactivate your own account",
"you_cannot_delete_your_own_account": "You cannot delete your own account",
"admin_user_deleted_successfully": "Admin user deleted successfully",
"admin_user_details_refreshed": "Admin user details refreshed",
"failed_to_initialize_page": "Failed to initialize page",
"failed_to_load_merchant": "Failed to load merchant",
"merchant_updated_successfully": "Merchant updated successfully",
"ownership_transferred_successfully": "Ownership transferred successfully",
"theme_saved_successfully": "Theme saved successfully",
"failed_to_apply_preset": "Failed to apply preset",
"theme_reset_to_default": "Theme reset to default",
"failed_to_reset_theme": "Failed to reset theme",
"failed_to_load_stores": "Failed to load stores",
"store_deleted_successfully": "Store deleted successfully",
"stores_list_refreshed": "Stores list refreshed",
"invalid_user_url": "Invalid user URL",
"failed_to_load_user_details": "Failed to load user details",
"user_deleted_successfully": "User deleted successfully",
"user_details_refreshed": "User details refreshed",
"invalid_store_url": "Invalid store URL",
"failed_to_load_store_details": "Failed to load store details",
"no_store_loaded": "No store loaded",
"subscription_created_successfully": "Subscription created successfully",
"store_details_refreshed": "Store details refreshed",
"failed_to_load_users": "Failed to load users",
"failed_to_delete_user": "Failed to delete user",
"failed_to_load_admin_users": "Failed to load admin users",
"failed_to_load_admin_user": "Failed to load admin user",
"you_cannot_demote_yourself_from_super_ad": "You cannot demote yourself from super admin",
"platform_assigned_successfully": "Platform assigned successfully",
"platform_admin_must_be_assigned_to_at_le": "Platform admin must be assigned to at least one platform",
"platform_removed_successfully": "Platform removed successfully",
"please_fix_the_errors_before_submitting": "Please fix the errors before submitting",
"failed_to_load_store": "Failed to load store",
"store_updated_successfully": "Store updated successfully",
"all_contact_fields_reset_to_merchant_defa": "All contact fields reset to merchant defaults",
"failed_to_load_user": "Failed to load user",
"user_updated_successfully": "User updated successfully"
},
"features": {
"team_members": {
"name": "Membres de l'équipe",
"description": "Nombre maximum de membres d'équipe",
"unit": "membres"
"menu": {
"user_management": "Gestion des utilisateurs",
"merchant_users": "Utilisateurs marchands",
"platform_admin": "Administration de la plateforme",
"content_management": "Gestion du contenu",
"account_settings": "Paramètres du compte",
"admin_users": "Utilisateurs administrateurs",
"merchants": "Marchands",
"stores": "Magasins",
"platforms": "Plateformes",
"team": "Équipe"
},
"single_user": {
"name": "Utilisateur unique",
"description": "Accès utilisateur unique"
"team": {
"title": "Équipe",
"members": "Membres",
"add_member": "Ajouter un membre",
"invite_member": "Inviter un membre",
"remove_member": "Retirer un membre",
"role": "Rôle",
"owner": "Propriétaire",
"manager": "Gestionnaire",
"editor": "Éditeur",
"viewer": "Lecteur",
"permissions": "Permissions",
"pending_invitations": "Invitations en attente",
"invitation_sent": "Invitation envoyée",
"invitation_accepted": "Invitation acceptée"
},
"team_basic": {
"name": "Équipe de base",
"description": "Fonctionnalités de collaboration d'équipe de base"
"messages": {
"business_info_saved": "Business info saved",
"marketplace_settings_saved": "Marketplace settings saved",
"please_enter_a_url_first": "Please enter a URL first",
"could_not_validate_url_it_may_still_work": "Could not validate URL - it may still work",
"localization_settings_saved": "Localization settings saved",
"failed_to_load_email_settings": "Failed to load email settings",
"from_email_and_from_name_are_required": "From Email and From Name are required",
"email_settings_saved": "Email settings saved",
"please_enter_a_test_email_address": "Please enter a test email address",
"please_save_your_email_settings_first": "Please save your email settings first",
"test_email_sent_check_your_inbox": "Test email sent! Check your inbox.",
"please_fix_the_errors_before_saving": "Please fix the errors before saving",
"profile_updated_successfully": "Profile updated successfully",
"email_is_required": "Email is required",
"invitation_sent_successfully": "Invitation sent successfully",
"team_member_updated": "Team member updated",
"team_member_removed": "Team member removed",
"invalid_merchant_url": "Invalid merchant URL",
"failed_to_load_merchant_details": "Failed to load merchant details",
"merchant_deleted_successfully": "Merchant deleted successfully",
"merchant_details_refreshed": "Merchant details refreshed",
"invalid_admin_user_url": "Invalid admin user URL",
"failed_to_load_admin_user_details": "Failed to load admin user details",
"you_cannot_deactivate_your_own_account": "You cannot deactivate your own account",
"you_cannot_delete_your_own_account": "You cannot delete your own account",
"admin_user_deleted_successfully": "Admin user deleted successfully",
"admin_user_details_refreshed": "Admin user details refreshed",
"failed_to_initialize_page": "Failed to initialize page",
"failed_to_load_merchant": "Failed to load merchant",
"merchant_updated_successfully": "Merchant updated successfully",
"ownership_transferred_successfully": "Ownership transferred successfully",
"theme_saved_successfully": "Theme saved successfully",
"failed_to_apply_preset": "Failed to apply preset",
"theme_reset_to_default": "Theme reset to default",
"failed_to_reset_theme": "Failed to reset theme",
"failed_to_load_stores": "Failed to load stores",
"store_deleted_successfully": "Store deleted successfully",
"stores_list_refreshed": "Stores list refreshed",
"invalid_user_url": "Invalid user URL",
"failed_to_load_user_details": "Failed to load user details",
"user_deleted_successfully": "User deleted successfully",
"user_details_refreshed": "User details refreshed",
"invalid_store_url": "Invalid store URL",
"failed_to_load_store_details": "Failed to load store details",
"no_store_loaded": "No store loaded",
"subscription_created_successfully": "Subscription created successfully",
"store_details_refreshed": "Store details refreshed",
"failed_to_load_users": "Failed to load users",
"failed_to_delete_user": "Failed to delete user",
"failed_to_load_admin_users": "Failed to load admin users",
"failed_to_load_admin_user": "Failed to load admin user",
"you_cannot_demote_yourself_from_super_ad": "You cannot demote yourself from super admin",
"platform_assigned_successfully": "Platform assigned successfully",
"platform_admin_must_be_assigned_to_at_le": "Platform admin must be assigned to at least one platform",
"platform_removed_successfully": "Platform removed successfully",
"please_fix_the_errors_before_submitting": "Please fix the errors before submitting",
"failed_to_load_store": "Failed to load store",
"store_updated_successfully": "Store updated successfully",
"all_contact_fields_reset_to_merchant_defa": "All contact fields reset to merchant defaults",
"failed_to_load_user": "Failed to load user",
"user_updated_successfully": "User updated successfully"
},
"team_roles": {
"name": "Rôles d'équipe",
"description": "Contrôle d'accès basé sur les rôles"
},
"audit_log": {
"name": "Journal d'audit",
"description": "Suivre toutes les actions et modifications"
"features": {
"team_members": {
"name": "Membres de l'équipe",
"description": "Nombre maximum de membres d'équipe",
"unit": "membres"
},
"single_user": {
"name": "Utilisateur unique",
"description": "Accès utilisateur unique"
},
"team_basic": {
"name": "Équipe de base",
"description": "Fonctionnalités de collaboration d'équipe de base"
},
"team_roles": {
"name": "Rôles d'équipe",
"description": "Contrôle d'accès basé sur les rôles"
},
"audit_log": {
"name": "Journal d'audit",
"description": "Suivre toutes les actions et modifications"
}
}
}
}

View File

@@ -1,108 +1,116 @@
{
"menu": {
"user_management": "Benotzerverwaltung",
"merchant_users": "Händler-Benotzer"
},
"team": {
"title": "Team",
"members": "Memberen",
"add_member": "Member derbäisetzen",
"invite_member": "Member invitéieren",
"remove_member": "Member ewechhuelen",
"role": "Roll",
"owner": "Proprietär",
"manager": "Manager",
"editor": "Editeur",
"viewer": "Betruechter",
"permissions": "Rechter",
"pending_invitations": "Aussteesend Invitatiounen",
"invitation_sent": "Invitatioun geschéckt",
"invitation_accepted": "Invitatioun ugeholl"
},
"messages": {
"business_info_saved": "Business info saved",
"marketplace_settings_saved": "Marketplace settings saved",
"please_enter_a_url_first": "Please enter a URL first",
"could_not_validate_url_it_may_still_work": "Could not validate URL - it may still work",
"localization_settings_saved": "Localization settings saved",
"failed_to_load_email_settings": "Failed to load email settings",
"from_email_and_from_name_are_required": "From Email and From Name are required",
"email_settings_saved": "Email settings saved",
"please_enter_a_test_email_address": "Please enter a test email address",
"please_save_your_email_settings_first": "Please save your email settings first",
"test_email_sent_check_your_inbox": "Test email sent! Check your inbox.",
"please_fix_the_errors_before_saving": "Please fix the errors before saving",
"profile_updated_successfully": "Profile updated successfully",
"email_is_required": "Email is required",
"invitation_sent_successfully": "Invitation sent successfully",
"team_member_updated": "Team member updated",
"team_member_removed": "Team member removed",
"invalid_merchant_url": "Invalid merchant URL",
"failed_to_load_merchant_details": "Failed to load merchant details",
"merchant_deleted_successfully": "Merchant deleted successfully",
"merchant_details_refreshed": "Merchant details refreshed",
"invalid_admin_user_url": "Invalid admin user URL",
"failed_to_load_admin_user_details": "Failed to load admin user details",
"you_cannot_deactivate_your_own_account": "You cannot deactivate your own account",
"you_cannot_delete_your_own_account": "You cannot delete your own account",
"admin_user_deleted_successfully": "Admin user deleted successfully",
"admin_user_details_refreshed": "Admin user details refreshed",
"failed_to_initialize_page": "Failed to initialize page",
"failed_to_load_merchant": "Failed to load merchant",
"merchant_updated_successfully": "Merchant updated successfully",
"ownership_transferred_successfully": "Ownership transferred successfully",
"theme_saved_successfully": "Theme saved successfully",
"failed_to_apply_preset": "Failed to apply preset",
"theme_reset_to_default": "Theme reset to default",
"failed_to_reset_theme": "Failed to reset theme",
"failed_to_load_stores": "Failed to load stores",
"store_deleted_successfully": "Store deleted successfully",
"stores_list_refreshed": "Stores list refreshed",
"invalid_user_url": "Invalid user URL",
"failed_to_load_user_details": "Failed to load user details",
"user_deleted_successfully": "User deleted successfully",
"user_details_refreshed": "User details refreshed",
"invalid_store_url": "Invalid store URL",
"failed_to_load_store_details": "Failed to load store details",
"no_store_loaded": "No store loaded",
"subscription_created_successfully": "Subscription created successfully",
"store_details_refreshed": "Store details refreshed",
"failed_to_load_users": "Failed to load users",
"failed_to_delete_user": "Failed to delete user",
"failed_to_load_admin_users": "Failed to load admin users",
"failed_to_load_admin_user": "Failed to load admin user",
"you_cannot_demote_yourself_from_super_ad": "You cannot demote yourself from super admin",
"platform_assigned_successfully": "Platform assigned successfully",
"platform_admin_must_be_assigned_to_at_le": "Platform admin must be assigned to at least one platform",
"platform_removed_successfully": "Platform removed successfully",
"please_fix_the_errors_before_submitting": "Please fix the errors before submitting",
"failed_to_load_store": "Failed to load store",
"store_updated_successfully": "Store updated successfully",
"all_contact_fields_reset_to_merchant_defa": "All contact fields reset to merchant defaults",
"failed_to_load_user": "Failed to load user",
"user_updated_successfully": "User updated successfully"
},
"features": {
"team_members": {
"name": "Team-Memberen",
"description": "Maximal Unzuel vu Team-Memberen",
"unit": "Memberen"
"menu": {
"user_management": "Benotzerverwaltung",
"merchant_users": "Händler-Benotzer",
"platform_admin": "Plattform-Administratioun",
"content_management": "Inhaltsverwaltung",
"account_settings": "Kont-Astellungen",
"admin_users": "Admin-Benotzer",
"merchants": "Händler",
"stores": "Butteker",
"platforms": "Plattformen",
"team": "Team"
},
"single_user": {
"name": "Eenzel-Benotzer",
"description": "Eenzel-Benotzer Zougang"
"team": {
"title": "Team",
"members": "Memberen",
"add_member": "Member derbäisetzen",
"invite_member": "Member invitéieren",
"remove_member": "Member ewechhuelen",
"role": "Roll",
"owner": "Proprietär",
"manager": "Manager",
"editor": "Editeur",
"viewer": "Betruechter",
"permissions": "Rechter",
"pending_invitations": "Aussteesend Invitatiounen",
"invitation_sent": "Invitatioun geschéckt",
"invitation_accepted": "Invitatioun ugeholl"
},
"team_basic": {
"name": "Basis-Team",
"description": "Grondfunktiounen fir Team-Zesummenaarbecht"
"messages": {
"business_info_saved": "Business info saved",
"marketplace_settings_saved": "Marketplace settings saved",
"please_enter_a_url_first": "Please enter a URL first",
"could_not_validate_url_it_may_still_work": "Could not validate URL - it may still work",
"localization_settings_saved": "Localization settings saved",
"failed_to_load_email_settings": "Failed to load email settings",
"from_email_and_from_name_are_required": "From Email and From Name are required",
"email_settings_saved": "Email settings saved",
"please_enter_a_test_email_address": "Please enter a test email address",
"please_save_your_email_settings_first": "Please save your email settings first",
"test_email_sent_check_your_inbox": "Test email sent! Check your inbox.",
"please_fix_the_errors_before_saving": "Please fix the errors before saving",
"profile_updated_successfully": "Profile updated successfully",
"email_is_required": "Email is required",
"invitation_sent_successfully": "Invitation sent successfully",
"team_member_updated": "Team member updated",
"team_member_removed": "Team member removed",
"invalid_merchant_url": "Invalid merchant URL",
"failed_to_load_merchant_details": "Failed to load merchant details",
"merchant_deleted_successfully": "Merchant deleted successfully",
"merchant_details_refreshed": "Merchant details refreshed",
"invalid_admin_user_url": "Invalid admin user URL",
"failed_to_load_admin_user_details": "Failed to load admin user details",
"you_cannot_deactivate_your_own_account": "You cannot deactivate your own account",
"you_cannot_delete_your_own_account": "You cannot delete your own account",
"admin_user_deleted_successfully": "Admin user deleted successfully",
"admin_user_details_refreshed": "Admin user details refreshed",
"failed_to_initialize_page": "Failed to initialize page",
"failed_to_load_merchant": "Failed to load merchant",
"merchant_updated_successfully": "Merchant updated successfully",
"ownership_transferred_successfully": "Ownership transferred successfully",
"theme_saved_successfully": "Theme saved successfully",
"failed_to_apply_preset": "Failed to apply preset",
"theme_reset_to_default": "Theme reset to default",
"failed_to_reset_theme": "Failed to reset theme",
"failed_to_load_stores": "Failed to load stores",
"store_deleted_successfully": "Store deleted successfully",
"stores_list_refreshed": "Stores list refreshed",
"invalid_user_url": "Invalid user URL",
"failed_to_load_user_details": "Failed to load user details",
"user_deleted_successfully": "User deleted successfully",
"user_details_refreshed": "User details refreshed",
"invalid_store_url": "Invalid store URL",
"failed_to_load_store_details": "Failed to load store details",
"no_store_loaded": "No store loaded",
"subscription_created_successfully": "Subscription created successfully",
"store_details_refreshed": "Store details refreshed",
"failed_to_load_users": "Failed to load users",
"failed_to_delete_user": "Failed to delete user",
"failed_to_load_admin_users": "Failed to load admin users",
"failed_to_load_admin_user": "Failed to load admin user",
"you_cannot_demote_yourself_from_super_ad": "You cannot demote yourself from super admin",
"platform_assigned_successfully": "Platform assigned successfully",
"platform_admin_must_be_assigned_to_at_le": "Platform admin must be assigned to at least one platform",
"platform_removed_successfully": "Platform removed successfully",
"please_fix_the_errors_before_submitting": "Please fix the errors before submitting",
"failed_to_load_store": "Failed to load store",
"store_updated_successfully": "Store updated successfully",
"all_contact_fields_reset_to_merchant_defa": "All contact fields reset to merchant defaults",
"failed_to_load_user": "Failed to load user",
"user_updated_successfully": "User updated successfully"
},
"team_roles": {
"name": "Team-Rollen",
"description": "Rollebaséiert Zougangskontroll fir Team-Memberen"
},
"audit_log": {
"name": "Audit-Protokoll",
"description": "All Benotzeraktiounen an Ännerungen nospueren"
"features": {
"team_members": {
"name": "Team-Memberen",
"description": "Maximal Unzuel vu Team-Memberen",
"unit": "Memberen"
},
"single_user": {
"name": "Eenzel-Benotzer",
"description": "Eenzel-Benotzer Zougang"
},
"team_basic": {
"name": "Basis-Team",
"description": "Grondfunktiounen fir Team-Zesummenaarbecht"
},
"team_roles": {
"name": "Team-Rollen",
"description": "Rollebaséiert Zougangskontroll fir Team-Memberen"
},
"audit_log": {
"name": "Audit-Protokoll",
"description": "All Benotzeraktiounen an Ännerungen nospueren"
}
}
}
}

View File

@@ -61,9 +61,9 @@ class LanguageMiddleware(BaseHTTPMiddleware):
# Resolve language based on frontend type
if frontend_type == FrontendType.ADMIN:
# Admin dashboard: English only (for now)
# TODO: Implement admin language support later
language = "en"
# Admin dashboard: respect user's preferred language
user_preferred = self._get_user_language_from_token(request)
language = user_preferred or "en"
elif frontend_type == FrontendType.STORE:
# Store dashboard