feat(i18n): complete post-launch i18n phases 5-8
Some checks failed
CI / dependency-scanning (push) Successful in 28s
CI / docs (push) Has been skipped
CI / deploy (push) Has been skipped
CI / ruff (push) Successful in 12s
CI / pytest (push) Failing after 47m21s
CI / validate (push) Successful in 25s

- Phase 5: Translate homepage-modern.html (~90 new locale keys, all
  hardcoded strings replaced with _() calls for dashboard mock,
  features, pricing tiers, testimonial sections)
- Phase 6: Translate homepage-minimal.html (17 new locale keys for
  fallback content, features, and CTA sections)
- Phase 7: Add multi-language page.title/content support with
  title_translations and content_translations JSON columns, Alembic
  migration cms_002, translated title/content resolution in templates,
  and seed script updates with tt() helper
- Phase 8: Complete lb.json audit — fill 6 missing keys (messages,
  confirmations), also backfill same keys in fr.json and de.json

All 4 locale files now have 340 keys with full parity.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-03 05:50:06 +01:00
parent 05c53e1865
commit b8aa484653
16 changed files with 965 additions and 235 deletions

View File

@@ -102,7 +102,8 @@
"signup_without": "Ohne Letzshop registrieren",
"looking_up": "Suche Ihren Shop...",
"found": "Gefunden:",
"claimed_badge": "Bereits beansprucht"
"claimed_badge": "Bereits beansprucht",
"error_lookup": "Suche fehlgeschlagen. Bitte versuchen Sie es erneut."
},
"signup": {
"step_plan": "Plan wählen",
@@ -130,7 +131,18 @@
"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..."
"creating_account": "Erstelle Ihr Konto...",
"page_title": "Starten Sie Ihre kostenlose Testversion",
"required_fields": "Pflichtfelder",
"trial_info_days": "-Tage kostenlose Testversion.",
"error_start": "Anmeldung konnte nicht gestartet werden. Bitte versuchen Sie es erneut.",
"error_account": "Konto konnte nicht erstellt werden. Bitte versuchen Sie es erneut.",
"error_payment_config": "Zahlung nicht konfiguriert. Bitte kontaktieren Sie den Support.",
"error_payment": "Zahlung fehlgeschlagen. Bitte versuchen Sie es erneut.",
"orders_per_month": "Bestellungen/Mo.",
"unlimited": "Unbegrenzt",
"team_members": "Benutzer",
"per_month_short": "/Mo."
},
"success": {
"title": "Willkommen bei Orion!",
@@ -152,6 +164,17 @@
"subtitle": "Schließen Sie sich Letzshop-Händlern an, die Orion für ihre Bestellverwaltung vertrauen. Starten Sie heute Ihre {trial_days}-tägige kostenlose Testversion.",
"button": "Kostenlos testen"
},
"content_page": {
"home": "Startseite",
"published": "Veröffentlicht am",
"last_updated": "Zuletzt aktualisiert:",
"cta_about_title": "Bereit loszulegen?",
"cta_contact_title": "Haben Sie Fragen?",
"cta_about_subtitle": "Schließen Sie sich Tausenden von Shops an, die bereits auf unserer Plattform verkaufen",
"cta_contact_subtitle": "Unser Team ist hier, um Ihnen zum Erfolg zu verhelfen",
"cta_about_button": "Vertrieb kontaktieren",
"cta_contact_button": "Senden Sie uns eine Nachricht"
},
"footer": {
"tagline": "Leichtes OMS für Letzshop-Verkäufer. Verwalten Sie Bestellungen, Lager und Rechnungen.",
"quick_links": "Schnelllinks",
@@ -162,7 +185,8 @@
"terms": "Nutzungsbedingungen",
"about": "Über uns",
"faq": "FAQ",
"contact_us": "Kontaktieren Sie uns"
"contact_us": "Kontaktieren Sie uns",
"all_rights_reserved": "Alle Rechte vorbehalten."
},
"modern": {
"badge_integration": "Offizielle Integration",
@@ -197,7 +221,115 @@
"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."
"cta_final_note": "Keine Kreditkarte erforderlich. Einrichtung in 5 Minuten. Volle Professional-Funktionen während der Testphase.",
"page_title": "Orion - Das Back-Office für Letzshop-Verkäufer",
"features_badge": "Funktionen",
"dashboard_title": "Orion Dashboard",
"todays_orders": "Heutige Bestellungen",
"revenue": "Umsatz",
"low_stock": "Geringer Bestand",
"items_need_restock": "Artikel nachbestellen",
"recent_orders": "Aktuelle Bestellungen von Letzshop",
"confirmed": "Bestätigt",
"shipped": "Versendet",
"feat_order_sync": "Automatische Bestellsynchronisation",
"feat_order_sync_desc": "Bestellungen von Letzshop erscheinen sofort. Bestätigen und Tracking-Nummern automatisch synchronisieren.",
"feat_order_sync_1": "Echtzeit-Synchronisation",
"feat_order_sync_2": "Bestätigung mit einem Klick",
"feat_order_sync_3": "Tracking-Nummern-Synchronisation",
"feat_inventory": "Echte Lagerverwaltung",
"feat_inventory_desc": "Eine einzige Wahrheitsquelle für alle Bestände. Lagerorte, Reservierungen und eingehende Bestandsverfolgung.",
"feat_inventory_1": "Produktlagerorte (Fächer)",
"feat_inventory_2": "Bestandsreservierungen",
"feat_inventory_3": "Niedrigbestand-Warnungen",
"feat_invoicing": "Intelligente MwSt-Rechnungsstellung",
"feat_invoicing_desc": "PDF-Rechnungen mit korrekten MwSt-Sätzen erstellen. Luxemburg, EU-Länder, B2B-Reverse-Charge.",
"feat_invoicing_1": "Luxemburg 17% MwSt",
"feat_invoicing_2": "EU-Bestimmungsland-MwSt (OSS)",
"feat_invoicing_3": "B2B-Reverse-Charge",
"feat_customers": "Besitzen Sie Ihre Kunden",
"feat_customers_desc": "Alle Kundendaten in Ihrer Datenbank. Export zu Mailchimp für Marketingkampagnen.",
"feat_customers_1": "Bestellhistorie pro Kunde",
"feat_customers_2": "Lebenszeitwert-Tracking",
"feat_customers_3": "CSV-Export für Marketing",
"feat_team": "Teamverwaltung",
"feat_team_desc": "Laden Sie Teammitglieder mit rollenbasierten Berechtigungen ein. Alle arbeiten von einem Dashboard.",
"feat_team_1": "Mehrere Benutzer",
"feat_team_2": "Rollenbasierter Zugang",
"feat_team_3": "Aktivitätsprotokoll",
"feat_purchase_orders": "Bestellungen",
"feat_purchase_orders_desc": "Verfolgen Sie eingehende Bestände von Lieferanten. Wissen Sie, was bestellt ist und wann es ankommt.",
"feat_purchase_orders_1": "Lieferantenbestellungen verfolgen",
"feat_purchase_orders_2": "Voraussichtliche Ankunftsdaten",
"feat_purchase_orders_3": "Empfang und Bestandsaktualisierung",
"pricing_badge": "Preise",
"pricing_title": "Einfache, transparente Preisgestaltung",
"pricing_subtitle": "Keine Gebühren pro Bestellung. Keine versteckten Kosten. Fester Monatstarif.",
"pricing_per_month": "/Monat",
"pricing_trial_note": "Alle Pläne beinhalten eine 14-tägige kostenlose Testphase. Keine Kreditkarte erforderlich.",
"tier_essential": "Essential",
"tier_essential_desc": "Für Solo-Shops am Anfang",
"tier_essential_price": "49 EUR",
"tier_essential_feat_1": "100 Bestellungen/Monat",
"tier_essential_feat_2": "200 Produkte",
"tier_essential_feat_3": "Luxemburg MwSt-Rechnungen",
"tier_essential_feat_4": "1 Teammitglied",
"tier_essential_cta": "Kostenlos testen",
"tier_professional": "Professional",
"tier_professional_desc": "Für wachsende Multichannel-Verkäufer",
"tier_professional_price": "99 EUR",
"tier_professional_badge": "AM BELIEBTESTEN",
"tier_professional_feat_1": "500 Bestellungen/Monat",
"tier_professional_feat_2": "Unbegrenzte Produkte",
"tier_professional_feat_3": "EU MwSt-Rechnungen",
"tier_professional_feat_4": "Produktlagerorte",
"tier_professional_feat_5": "Bestellungen",
"tier_professional_feat_6": "Kundenexport",
"tier_professional_feat_7": "3 Teammitglieder",
"tier_professional_cta": "Kostenlos testen",
"tier_business": "Business",
"tier_business_desc": "Für Großvolumen-Betriebe",
"tier_business_price": "199 EUR",
"tier_business_feat_1": "2.000 Bestellungen/Monat",
"tier_business_feat_2": "Alles in Professional",
"tier_business_feat_3": "Analyse-Dashboard",
"tier_business_feat_4": "API-Zugang",
"tier_business_feat_5": "Buchhaltungsexport",
"tier_business_feat_6": "10 Teammitglieder",
"tier_business_cta": "Kostenlos testen",
"tier_enterprise": "Enterprise",
"tier_enterprise_desc": "Für große Betriebe und Agenturen",
"tier_enterprise_price": "399+ EUR",
"tier_enterprise_feat_1": "Unbegrenzte Bestellungen",
"tier_enterprise_feat_2": "Alles in Business",
"tier_enterprise_feat_3": "White-Label-Option",
"tier_enterprise_feat_4": "Individuelle Integrationen",
"tier_enterprise_feat_5": "99,9% SLA",
"tier_enterprise_feat_6": "Dedizierter Support",
"tier_enterprise_cta": "Vertrieb kontaktieren",
"testimonial_badge": "Für Luxemburg entwickelt",
"testimonial_quote": "Endlich ein Tool, das versteht, was Letzshop-Verkäufer wirklich brauchen. Keine Tabellenkalkulationen mehr, keine MwSt-Kopfschmerzen mehr.",
"testimonial_name": "Marie L.",
"testimonial_location": "Letzshop Store, Luxemburg-Stadt",
"cta_final_trial": "Starten Sie Ihre 14-tägige kostenlose Testphase"
},
"minimal": {
"page_title_fallback": "Startseite",
"marketplace_suffix": "Marktplatz",
"fallback_title_1": "Multi-Store",
"fallback_title_2": "Marktplatz",
"fallback_subtitle": "Der einfachste Weg, Ihren Online-Shop zu starten und sich mit Kunden weltweit zu verbinden.",
"get_started": "Loslegen",
"feat_fast": "Schnell",
"feat_fast_desc": "Blitzschnelle Leistung, optimiert für Conversions",
"feat_secure": "Sicher",
"feat_secure_desc": "Sicherheit auf Enterprise-Niveau für Ihre Sicherheit",
"feat_custom": "Individuell",
"feat_custom_desc": "Vollständig anpassbar an Ihre Markenidentität",
"cta_title": "Bereit zum Start?",
"cta_subtitle": "Treten Sie noch heute unserem Marktplatz bei",
"cta_contact": "Kontakt",
"cta_learn_more": "Mehr erfahren"
}
},
"features": {
@@ -246,5 +378,15 @@
"manage_media_desc": "Mediendateien hochladen, bearbeiten und löschen",
"manage_themes": "Themes verwalten",
"manage_themes_desc": "Shop-Themes konfigurieren und anpassen"
},
"messages": {
"failed_to_delete_page": "Seite konnte nicht gelöscht werden: {error}",
"media_updated_successfully": "Medium erfolgreich aktualisiert",
"media_deleted_successfully": "Medium erfolgreich gelöscht",
"url_copied_to_clipboard": "URL in die Zwischenablage kopiert",
"failed_to_copy_url": "URL konnte nicht kopiert werden"
},
"confirmations": {
"delete_file": "Sind Sie sicher, dass Sie diese Datei löschen möchten? Dies kann nicht rückgängig gemacht werden."
}
}