Skip to main content

Übersicht

In diesem Tab kannst du alle Sprachvariablen zentral an einem Ort verwalten. Sprachvariablen sind Platzhalter für Texte, die anpassbar sind und entweder von JTL oder von uns (wenn es um Plugins geht) vorkonfiguriert wurden. Dazu gehören beispielsweise Texte für Buttons, Hinweise oder Fehlermeldungen. Diese Sprachvariablen lassen sich in verschiedenen Sprachen anpassen. Außerdem kannst du hier neue Sprachvariablen anlegen und den Inhalt nach Belieben anpassen.
Was sind Sprachvariablen?Sprachvariablen (auch Language Variables oder Lang Vars) sind Platzhalter im Code, die zur Laufzeit durch tatsächliche Texte ersetzt werden. Der Vorteil: Texte können einfach angepasst und in mehreren Sprachen gepflegt werden, ohne den Code zu ändern.

Features

Zentrale Verwaltung

Verwalte alle Sprachvariablen (sowohl aus Plugins als auch alle JTL-Sprachvariablen) zentral an einem Ort.

Import & Export

Exportiere und importiere Sprachvariablen als JSON - ideal für Backups und Massenbearbeitung.

Neue Variablen anlegen

Erstelle eigene Sprachvariablen schnell und einfach über das Tool.

Mehrsprachig

Verwalte alle Sprachen deines Shops gleichzeitig - perfekt für internationale Shops.

Plugin-Sprachvariablen

Plugin Language Variables Hier findest du alle Sprachvariablen, die aus Plugins kommen - sowohl von DZM als auch von anderen Plugin-Entwicklern.

Interface-Bedienung

language_select
select
Wähle die Sprache der Sprachvariablen, die du bearbeiten möchtest.Verfügbare Sprachen:
  • Deutsch (Standard)
  • Englisch
  • Weitere Sprachen (abhängig von deiner Wawi-Konfiguration)
Die verfügbaren Sprachen werden in der JTL-Wawi definiert und dann in den Shop übertragen. Neue Sprachen müssen zuerst in der Wawi aktiviert werden.
Workflow für mehrsprachige Shops:
1

Deutsch bearbeiten

Beginne immer mit der Hauptsprache (meist Deutsch) und pflege alle Texte.
2

Andere Sprachen

Wechsle dann zur zweiten Sprache und übersetze/passe die Texte an.
3

Konsistenz prüfen

Stelle sicher, dass alle Sprachen vollständig gepflegt sind.

Wichtiger Hinweis zum Cache

Sprachvariablen-Änderungen nicht sichtbar?Manchmal werden Änderungen der Sprachvariablen im Frontend nicht sofort sichtbar, da diese noch im Shop-Cache hängen.Lösung: Leere deinen Shop-Cache im Backend unter System → Cache → Cache leeren.

JTL-Sprachvariablen

JTL Language Variables Hier findest du alle Sprachvariablen, die aus dem JTL-Shop Core kommen - also alle Standard-Texte des Shops.

Funktionsweise

Die Bedienung ist identisch zu den Plugin-Sprachvariablen:
Wähle die zu bearbeitende Sprache aus dem Dropdown.Tipp: Bearbeite zuerst die Hauptsprache komplett, bevor du zu anderen Sprachen wechselst.
Nutze die Suchfunktion um spezifische Variablen zu finden.Häufige Suchbegriffe:
  • “add to cart” → Warenkorb-Buttons
  • “checkout” → Checkout-Prozess-Texte
  • “shipping” → Versand-bezogene Texte
  • “error” → Fehlermeldungen
  • “success” → Erfolgsmeldungen
Ändere Werte und klicke auf “Speichern”.
JTL-Sprachvariablen beeinflussen das Core-Verhalten des Shops. Sei vorsichtig bei Änderungen!
Exportiere für Backups oder zum Übertragen auf andere Shops.
Für vollständige Backups: Exportiere sowohl Plugin- als auch JTL-Sprachvariablen!

Best Practices für JTL-Variablen

Unbedenklich:
  • Button-Beschriftungen anpassen
  • Hinweistexte optimieren
  • Fehlermeldungen kundiger formulieren
  • Marketing-Texte personalisieren
Beispiele:
"In den Warenkorb" → "Jetzt kaufen"
"Zur Kasse" → "Zur sicheren Kasse"
"Weiter einkaufen" → "Weiterstöbern"

Neue Sprachvariablen anlegen

Create Language Variable Erstelle eigene Sprachvariablen für Custom-Entwicklungen oder individuelle Texte.

Schritt für Schritt

1

Namen vergeben

name
string
required
Vergebe einen eindeutigen Namen für die Sprachvariable.Naming Conventions:
  • Kleinbuchstaben verwenden
  • Wörter mit Unterstrichen trennen
  • Aussagekräftig benennen
  • Präfix nutzen (z.B. custom_, dzm_)
Beispiele:
✅ dzm_custom_banner_text
✅ custom_checkout_note
✅ my_shop_welcome_message

❌ Banner1 (nicht aussagekräftig)
❌ CUSTOM TEXT (Leerzeichen, Großbuchstaben)
❌ customBannerText (CamelCase vermeiden)
2

Sektion wählen

section
select
Wähle eine Sektion zur Gruppierung und schnelleren Auffindbarkeit.Verfügbare Sektionen:
  • custom (empfohlen für eigene Variablen)
  • global
  • checkout
  • product
  • account
  • … (weitere system-spezifische Sektionen)
In der Regel ist “custom” die richtige Wahl für neue benutzerdefinierte Sprachvariablen.
3

Texte eintragen

translations
object
Trage den Text in allen verfügbaren Sprachen ein.Deutsch: Hauptsprache, sollte immer gepflegt werdenEnglisch: Fallback für internationale KundenWeitere Sprachen: Je nach Shop-Konfiguration
Wenn du eine Sprache nicht ausfüllst, bleibt das Feld leer oder zeigt den Variablen-Namen an.
4

Variable hinzufügen

Klicke auf “Variable hinzufügen”, um die neue Sprachvariable zu speichern.
Die Variable ist ab sofort in Templates, Plugins und Scripts verwendbar!

Verwendung in Templates

Nach dem Anlegen kannst du die Variable in Smarty-Templates verwenden:
{* In .tpl Dateien *}
{lang key="dzm_custom_banner_text" section="custom"}

{* Mit Fallback *}
{lang key="dzm_custom_banner_text" section="custom" default="Fallback Text"}

{* Mit Platzhaltern *}
{lang key="dzm_welcome_user" section="custom" printf=$userName}

Verwendung in PHP

In PHP-Code kannst du Sprachvariablen so nutzen:
// Einfache Verwendung
$text = Shop::Lang()->get('dzm_custom_banner_text', 'custom');

// Mit Platzhaltern
$text = Shop::Lang()->get('dzm_welcome_user', 'custom');
$text = sprintf($text, $userName);

// In der aktuellen Sprache
$currentLang = Shop::getLanguageID();
$text = Shop::Lang()->get('dzm_custom_banner_text', 'custom', $currentLang);

Export & Import

Backup erstellen

1

Plugin-Variablen exportieren

Gehe zum Tab “Plugin Sprachvariablen” → Klicke “Exportieren”Dateiname: plugin_langvars_de_2024-02-06.json
2

JTL-Variablen exportieren

Gehe zum Tab “JTL-Sprachvariablen” → Klicke “Exportieren”Dateiname: jtl_langvars_de_2024-02-06.json
3

Alle Sprachen wiederholen

Wiederhole für jede aktive Sprache (EN, FR, etc.)
4

Backup sicher aufbewahren

Speichere alle JSON-Dateien an einem sicheren Ort:
  • Cloud-Speicher (Dropbox, Google Drive)
  • Lokale Backup-Festplatte
  • Versionskontrolle (Git)
Vollständiges Backup:Wenn du alle Sprachvariablen als Backup sichern möchtest, achte unbedingt darauf sowohl die Plugin-Sprachvariablen als auch die JTL-Sprachvariablen zu exportieren!

Import durchführen

1

Backup-Datei vorbereiten

Stelle sicher, dass du die richtige JSON-Datei hast:
  • Richtige Sprache?
  • Richtiger Tab (Plugin vs. JTL)?
  • Aktuelles Backup?
2

Import starten

Klicke auf “Select Files” und wähle die JSON-Datei aus.
3

Import bestätigen

Bestätige, dass bestehende Werte überschrieben werden sollen.
Der Import überschreibt alle Werte in der JSON-Datei - aktuelle Änderungen gehen verloren!
4

Ergebnis prüfen

Prüfe stichprobenartig ob der Import erfolgreich war.Leere anschließend den Cache.

JSON-Datei-Struktur

Für Massenbearbeitung kannst du die JSON-Datei manuell bearbeiten:
{
  "dzm_custom_banner_text": {
    "name": "dzm_custom_banner_text",
    "section": "custom",
    "value": "Willkommen in unserem Shop!",
    "default": "Welcome to our shop!",
    "description": "Banner text on homepage"
  },
  "dzm_another_variable": {
    ...
  }
}
Nutze einen JSON-Editor oder VS Code mit JSON-Plugin für komfortables Bearbeiten großer Dateien.

Best Practices

Naming Convention festlegen:
[prefix]_[bereich]_[funktion]_[typ]

Beispiele:
custom_checkout_button_continue
custom_product_label_sale
custom_error_msg_invalid_email
dzm_banner_text_homepage
Vorteile:
  • Schnelles Auffinden
  • Klare Zuordnung
  • Keine Konflikte
  • Team-freundlich
Externe Dokumentation führen:Erstelle eine Tabelle mit allen Custom-Variablen:
VariableVerwendungGeändert amGeändert von
custom_banner_textHomepage Banner2024-02-06Max M.
custom_checkout_noteCheckout Hinweis2024-01-15Lisa S.
Oder nutze Kommentare im Code:
{* Custom Variable für Sommer-Aktion 2024 
   Angelegt: 2024-02-06
   Kontakt: marketing@firma.de *}
{lang key="custom_summer_banner" section="custom"}
Backup-Routine etablieren:Vor wichtigen Änderungen:
  • Immer ein Backup erstellen
  • Datiert und versioniert speichern
  • An sicheren Ort ablegen
Regelmäßig (monatlich):
  • Vollständiger Export aller Sprachen
  • Beide Tabs (Plugin + JTL)
  • Zusammen mit anderen Shop-Backups speichern
Nach großen Anpassungen:
  • Sofort neues Backup
  • Mit Changelog dokumentieren
  • Team informieren
Änderungen immer testen:
1

Staging-System nutzen

Teste Änderungen zuerst auf Test-/Staging-System
2

Alle Sprachen prüfen

Stelle sicher dass alle Sprachen korrekt sind
3

Frontend checken

Prüfe alle Stellen wo die Variable verwendet wird
4

Mobile testen

Teste auch auf mobilen Geräten
5

Nach Go-Live überwachen

Prüfe nach Live-Schaltung nochmal alle Stellen

Häufige Anwendungsfälle

Saisonale Anpassungen:
custom_banner_winter_sale
→ "❄️ Winter-Sale: Bis zu 50% Rabatt!"

custom_banner_summer_sale  
→ "☀️ Sommer-Aktion: Jetzt zugreifen!"
A/B-Testing:
  • Teste verschiedene Button-Texte
  • Optimiere Call-to-Actions
  • Verbessere Conversion
Vorteil: Schnelles Ändern ohne Code-Deployment

Troubleshooting

Problem: Sprachvariablen-Änderungen erscheinen nicht im FrontendLösung:
1

Cache leeren

Backend → System → Cache → Cache leeren
2

Hard Reload

Im Browser: Strg + Shift + R (Windows) oder Cmd + Shift + R (Mac)
3

Template-Cache

Lösche Template-Cache im Dateisystem: /templates_c/ Ordner leeren
4

Browser-Cache

Leere Browser-Cache oder teste im Incognito-Modus
Symptom: Variable zeigt Schlüssel statt Text: custom_my_variableUrsachen:
  1. Variable wurde nicht gespeichert
  2. Falsche Sektion angegeben
  3. Schreibfehler im Variablen-Namen
  4. Cache-Problem
Überprüfen:
{* Mit Fallback testen *}
{lang key="custom_my_variable" section="custom" default="Fallback Text"}

{* Wenn Fallback erscheint → Variable existiert nicht *}
{* Wenn Variablen-Name erscheint → Cache Problem *}
Mögliche Fehler:
  • Falsche Dateiformat (muss JSON sein)
  • Korrupte JSON-Struktur
  • Falsche Sprache gewählt
  • Datei zu groß
Debugging:
  1. JSON-Datei in Validator prüfen: jsonlint.com
  2. Datei in Text-Editor öffnen und Struktur prüfen
  3. Kleinere Test-Datei versuchen
  4. Browser-Console auf Fehler prüfen
JSON validieren:
# Mit Node.js
node -e "JSON.parse(require('fs').readFileSync('file.json', 'utf8'))"
Problem: {0}, {1} werden nicht ersetztIn Smarty:
{* Falsch *}
{lang key="welcome_user" section="custom"}

{* Richtig *}
{lang key="welcome_user" section="custom" printf=$userName}

{* Mehrere Platzhalter *}
{lang key="order_confirmation" section="custom" 
      printf=$orderNumber|cat:"|":$orderDate}
In PHP:
// Falsch
$text = Shop::Lang()->get('welcome_user', 'custom');

// Richtig
$text = Shop::Lang()->get('welcome_user', 'custom');
$text = sprintf($text, $userName);

Erweiterte Tipps

Zu viele Variablen vermeiden:
  • Gruppiere ähnliche Texte
  • Nutze Platzhalter statt separate Variablen
  • Lösche ungenutzte Custom-Variablen
Cache-Strategie:
  • Ändere Sprachvariablen in Batches
  • Leere Cache nur einmal am Ende
  • Plane Änderungen für wartungsarme Zeiten
Meta-Texte als Sprachvariablen:
custom_meta_title_home
custom_meta_description_home
custom_meta_keywords_category
Vorteile:
  • Schnelle A/B-Tests
  • Einfache Mehrsprachigkeit
  • Zentrale Verwaltung
Aber beachte: Individuelle Produkt-/Kategorie-Texte sollten besser in den Stammdaten gepflegt werden!
Versionskontrolle für Variablen:
  1. Exportiere regelmäßig als JSON
  2. Commite in Git-Repository
  3. Tracke Änderungen über Git
  4. Deploy mit CI/CD-Pipeline
Git-Workflow:
# Export
php -r "/* Export-Script */" > langvars.json

# Commit
git add langvars.json
git commit -m "Update language variables"

# Deploy
git push origin main
Erfolg! Du hast jetzt volle Kontrolle über alle Texte in deinem Shop. Nutze Sprachvariablen für professionelle, wartungsfreundliche und mehrsprachige Shop-Texte.

Weiterführende Ressourcen