Wie wirkt sich die Standard-Sprache bei den Storefront-Grundeinstellungen aus? > SW 6.4.8.2

Wir haben einen Test-Shop mit SW 6.4.8.2 umgesetzt (Standard-System-Sprache bei Installation ausgewählt: Deutsch). Nun hätten wir für die Übersetzungen in der Storefront gern die Fallback-Sprache Englisch definiert statt Deutsch. D.h. wenn für ein Produkt / Kategorie / o.ä. keine passende Übersetzung existiert, sollte nach Möglichkeit die Englische Übersetzung ausgegeben werden (z.B. in der Navigation). Wir dachten dies sei über die Standard-Sprache möglich, die man einer Storefront bei den Grundeinstellungen der Storefront zuweisen kann. Eine Änderung der Standard-Sprache an der Stelle wirkt sich aber offenbar nirgendwo aus.
D.h. wenn wir auf der Website über den Language-Switcher die Sprache „Tschechisch“ auswählen, werden uns die Produkt Kategorien in der Navigation auf Deutsch angezeigt, obwohl passende Englische Übersetzungen hinterlegt sind.
Es scheint als Fallback also immer die System-Sprache genommen zu werden statt der für die Storefront eingestellte Standard-Sprache.

Klar wir könnten den Shop nochmal neu installieren und „Englisch“ als System-Sprache wählen, aber das kann ja nicht Sinn der Sache sein. Der Fallback für inhaltliche Übersetzungen eines Shops sollte nicht zwangsweise mit einer System-Sprache zusammenhängen, die man bei einer Installation auswählt - zumal sich Kundenanforderungen ja auch nachträglich ändern können und dann keine Neuinstallation erfordern sollten nur wenn man eine Fallback-Sprache ändern will. Es sollte ja auch für jede Storefront möglich sein eine andere Standard-Sprache / Fallback-Sprache zu definieren.

Daher ist für uns die Frage, was eigentlich von dieser Einstellung beeinflusst wird bzw. wofür sie da ist? Und wie können wir die gewünschet Fallback-Sprache beeinflussen?

Fallback ist immer die Systemsprache. Die Systemsprache kann über das Front-/Backend nicht mehr geändert werden. Nur manuell über die Datenbank. Gibt im Forum einige Beiträge dazu.

Danke für die Antwort. Das hatte ich befürchtet :frowning: Das klingt ein bisschen nach „Konzept-Fehler“. Ist das für später mal angedacht dies zu ändern? (Wenn es schon Beiträge / Anleitungen gibt, wie man das durch Anpassung von Dateien / Datenbank-Einträgen lösen kann, kann man so etwas ja auch automatisiert direkt in Shopware einbauen)

Wozu dient dann die Standard-Sprache bei der Storefront? Ich habe hier keine Auswirkungen feststellen können im Frontend.

Die Standard-Sprache ist die Hauptsprache des Verkaufskanals. Man kann Verkaufskanäle mit unterschiedlichen Hauptsprachen erstellen.

Ich glaube ich stehe auf der Leitung. Ich sehe nämlich leider nicht, wo sich die Hauptsprache im Verkaufskanal auswirkt (ich finde auch nirgendwo eine Info dazu wie sich die Hauptsprache überhaupt auswirken sollte). Egal ob ich Deutsch oder Englisch als Hauptsprache für einen Verkaufskanal einstelle - es gibt hier keine Auswirkung wenn ich den Verkaufskanal im Frontend aufrufe. Meine Erwartung wäre, dass wenn ich den Shop zum ersten Mal aufrufe (also Cookies etc. gelöscht) mir der Shop zunächst in der für die Storefront eingestellten Hauptsprache angezeigt wird - bis ich eine andere Sprache über den Language-Switcher wähle. Das passiert aber nicht - ich sehe alles in Deutsch, obwohl ich Englisch als Hauptsprache eingestellt habe und alle Seiten auf Englisch existieren.

Ich weiß ja nicht, ob es einfach daran liegt, dass wir für jede Sprache eine Domain-URL in der Storefront hinterlegt haben (eben domain.de/e, domain.de/cz usw.). Die „Domain ohne Anhängsel“ ist logischerweise für deutsch eingestellt, weshalb mir vermutlich auch Deutsch angezeitg wird - unabhängig von der eingestellten Hauptsprache. Allerdings muss ja zwangsweise eine Sprache für die „Domain ohne Anhängsel“ angegeben werden, da sonst der Shop nicht funktioniert.

Deshalb frage ich mich, an welcher Stelle im Shop-Frontend sich die Hauptsprache auswirkt. Ich habe auch geschaut, ob im generierten HTML-Code irgendwo eine andere Sprache angegeben ist (z.B. im lang-Attribut des HTML-Tags), aber auch hier gibt es keinen Unterschied - es ist immer „de-DE“ angegeben.

Das mit dem Fallback auf die System-Sprache kann ich ja verstehen, aber die Hauptsprache für den Verkaufskanal ist für mich noch ein Rätsel, weil sie sich scheinbar nirgendwo auswirkt. Ist das ein Bug, übersehe ich hier etwas oder verstehe ich hier etwas grundsätzlich falsch?
Kannst du mir bitte ein Beispiel nennen, wo ich den Unterschied sehen müsste und ob man ggf. eine bestimmte Konfiguration bzgl. der Sprachen und Domain-URLs für die Storefront benötigt?
Ich würde es wirklich gern verstehen :slight_smile:

Die Standard-Sprache ist die Fallback-Sprache. Wenn du unter Domains eine andere Sprache oder Textbaustein-Set eingetragen hast, dann ändert sich natürlich nichts im Frontend.

Fallback ist das, was greift, wenn keine Übersetzung vorhanden ist.

Was vielleicht missverständlich war: „Fallback ist immer die Systemsprache. Die Systemsprache kann über das Front-/Backend nicht mehr geändert werden. Nur manuell über die Datenbank. Gibt im Forum einige Beiträge dazu.“ bezieht sich auf das Backend.

Bitte entschuldige mein erneutes Nachhaken.

Das mit der System-Sprache als Fallback ist mir - wie gesagt - schon klar. Das kenne ich selbst aus Symfony. Daher verstehe ich auch einigermaßen den Grund, weshalb sich diese nicht ganz so einfach ändern lässt.

Was mir nicht klar ist, ist die Standard-Sprache bei der Grundeinstellung der Storefront (sie wird dort auch wirklich als „Standard-Sprache“ betitelt). Es klingt nach deiner Erklärung so, als ob sich diese aufgrund eines Konfigurationsfehlers meinerseits nicht auswirkt, weil ich allen Domain-URLs eine Sprache zugewiesen habe. Aber ich MUSS doch zumindest die Hauptdomain unter „Domains“ für die Storefront anlegen und dort MUSS ich auch zwangsweise eine Sprache und einen Textbaustein wählen, sonst kann ich nicht speichern. Wenn ich das nicht mache, geht der ganze Shop nicht mehr.

Ich habe zum Testen auch einfach mal alle Domains für die Storefront gelöscht (bis auf die Hauptdomain, der ich zwangsweisen eine Sprache zuweisen muss, wobei ich hier - wie gesagt - Deutsch genommen habe). Das führte 1. dazu dass mir der Language-Switcher nicht mehr angezeigt wurde und 2. dazu dass mir - mit eingestellter Standard-Sprache „Englisch“ - immernoch alles auf Deutsch angezeigt wurde.

Wenn man - entsprechend deiner Aussage - die Standard-Sprache der Storefront mit der Domain-Einstellung überschreibt, dann kann sich die Standard-Sprache im logischen Umkehrschluss eigentlich NIE auswirken, weil sie ja zwangsweise IMMER mit der Domain-Einstellung überschrieben wird (da man die Domain-Einstellung ja braucht, damit der Shop überhaupt funktioniert). Wenn ich das richtig verstehe, muss man im Grunde über die Domain-Einstellung die Standard-Sprache für die Storefront steuern, womit das Feld „Standard-Sprache“ also eigentlich nutzlos/wirkungslos ist - ist das so richtig? Oder übersehe ich hier einen wesentlichen Punkt?

Für alle, die ebenfalls an dem Problem hängen, wie sie eine Fallback-Sprache hinterlegen - hier die Lösung (auf die ich nur zufällig gestoßen bin):
Man kann im Adminbereich bei „Einstellungen > Sprachen“ die installierten Sprachen bearbeiten. Wenn ich die Sprache „Tschechisch“ bearbeite und im Feld „Erbt von“ die Sprache „Englisch“ auswähle, wird im Frontend alles, was nicht als tschechische Übersetzung vorliegt auf Englisch angezeigt (sofern eine englische Übersetzung vorhanden ist).
Die Fallback-Sprache kann somit für jede Sprache individuell festgelegt werden.