Sprachumschalter Frontend fehlt

Hallo,

wir haben unserem Frontend-Verkaufskanal 5 Sprachen (inkl. Deutsch) zugewiesen. Standardsprache ist Deutsch.

Aber wir finden im Frontend einfach keinen Sprachumschalter… wo ist der? Oder was muss man tun, damit man einen bekommt?

Du musst jeweils eine Domain dafür angeben.

Du kannst auch die gleiche nehmen und dann bspw. /en usw. anhängen.

Also es muss dann auch 5 Domains geben.

 

Beispiel:

meinedomain.de/ -> Deutsch

meinedomain.de/en -> Englisch

meinedomain.de/fr -> Französisch

Hallo [@Moritz Naczenski](http://forum.shopware.com/profile/14574/Moritz Naczenski „Moritz Naczenski“)‍,

danke für die Hilfe! Jetzt hab ich schon mal nen Schalter.

Leider fehlt bei einer Sprache (Tschechisch) die Flagge

für die anderen Sprachen gibts jeweils nen Eintrag im CSS

.language-flag.country-en {
    ...
}

.language-flag.country-es {
    ...
}

aber nicht für .language-flag.country-cs

Wir bringen natürlich nicht alle Flaggen der Welt mit (wie in SW5), die müsstest du dir dann selbst ins Theme bauen.

aber es gibt doch auch ein Plugin Sprachpaket Tschechisch… wenn es schon so ein Plugin gibt, sollte es auch die Flagge geben… ich verlange ja gar nicht, dass es Flaggen von Ghana, Indien oder anderen exotischen Ländern gibt… aber die EU? …

natürlich nicht alle Flaggen der Welt mit (wie in SW5)

wenn es in SW5 ging, wieso dann nicht auch in SW6? Verstehe ich nicht… schon gar nicht mit dem Zusatz „natürlich nicht“… wie wenn das selbstverständlich wäre, sowas einfaches wie ein paar Flaggen wegzulassen.

In Sw5 musstest du die auch selbst einbinden. So war das gemeint.

hab meine Domains jetzt angelegt und der Sprachumschalter ist auch im Frontend

allerdings erhalte ich beim Sprachwechsel 2 Fehler

Symfony\Component\HttpKernel\Exception\NotFoundHttpException:
No route found for "GET /en/" (from "http://..../")

  at vendor/symfony/http-kernel/EventListener/RouterListener.php:136

Symfony\Component\Routing\Exception\ResourceNotFoundException:
No routes found for "/en".

  at vendor/symfony/routing/Matcher/Dumper/CompiledUrlMatcherTrait.php:70
  at Symfony\Component\Routing\Matcher\CompiledUrlMatcher->match('/en')

 

kann denn keiner helfen? was mach ich bei der Config falsch?

Für http:// mit /en hast du ja aber auch nichts angelegt, sondern nur https://. Vielleicht liegt es schon daran?

 

 

Ja da hast du Recht, danke für den Hinweis… das hab ich jetzt ehrlich gesagt nicht bedacht. Dachte das System is so schlau und mappt das auf HTTP und HTTPS… 

Das war das Problem, man muss HTTP und HTTPS getrennt anlegen. Wird im Livebetrieb wohl nie passieren (weil immer HTTPS) aber so…

Danke!

Hallo,
in den Standardsprachpaketen fehlen Flaggen, wo kann ich die nachtragen oder hochladen? Gibt es da eine updatezeile oder einen ordner?

Normalerweise sollten die standardmäßig hinterlegt sein. Habt ihr vielleicht etwas am Theme geändert, so dass diese nicht angezeigt werden?

Nicht alle Flaggen sind im System hinterlegt. Um diese zuzufügen, muss man das Theme anpassen. Im aktuellen Theme-Ordner gibt es eine Datei „all.css“, in der sich alle Flaggen befinden (.language-flag.country-XX). Hier müssen die fehlende Flaggen zugefügt werden, z.B.:

.language-flag.country-xx {
background-size: 100%;
background-image: url(„bildpfad.png“);
}

Auch wenn’s kein brandaktuelles Thema mehr ist vielleicht hilft es ja noch jemandem.
Unter v6.4.20.2 habe ich es gelöst, indem ich unter ~/custom/plugins/DeinTheme/src/Resources/app/storefront/src/scss/components die „_flags.scss“ angelegt habe und dort die in meiner all.css stehenden Stylings für die benötigten Sprachen eingefügt habe. Also so bspw. für Französisch und Italienisch:

.language-flag.country-fr, .language-flag.country-fr.language-flag {
	background-image: linear-gradient(to right, #21468b 33%, #fff 33%, #fff 66%, #d00 66%);
}

.language-flag.country-it, .language-flag.country-it.language-flag {
	background-image: linear-gradient(to right, #009246 33%, #fff 33%, #fff 66%, #d00 66%);
}
1 Like