Englische Browser Erkennung unterbinden

  • Hallo Zusammen,

    leider kann ich nicht genug php um sicher zu gehen.
    Unser Shop soll immer deutsch angezeigt werden, egal welche Sprache der Browser hat.

    Ich habe im web zwei Ansätze gefunden wie man angeblich die Erkennung englischer Browser unterbindet und damit nicht die englischen Platzhalter-Texte angezeigt bekommt.

    Ansatz 1:
    in der application_top.php einfach diesen code einbauen:
    $_SESSION['language'] = 'german';
    damit soll dann alles erledigt sein. Immer deutsche Shoptexte und Mails.

    Ansatz 2:
    in der application_top.php diese Passage löschen:
    if (!isset ($_GET[‘language’])) {
    $lng->get_browser_language();

    und durch diesen Code ersetzen:
    $lng->language = $lng->catalog_languages[DEFAULT_LANGUAGE];

    Nun die Frage an Euch: Welchen Ansatz kann man als saubere Lösung verwenden? Oder gibt es noch eine einfachere Lösung? (das deinstallieren der englischen Sprache im Shop hilft jedenfalls nicht).

    Über Eure Meinung würde ich mich sehr freuen!
    Marc

    • Offizieller Beitrag

    Warum deinstallierst Du nicht einfach das english im Admin unter Sprachen? Da musst Du nix umprogrammieren.

    <p>Wir geben nur Anregungen und Hilfestellung auf Basis unserer Erfahrung, keine Rechtshilfe!<br>\m/('_')\m/</p>

  • Warum deinstallierst Du nicht einfach das english im Admin unter Sprachen? Da musst Du nix umprogrammieren.



    Danke für die schnelle Antwort, aber das löst leider nicht vollständig den Effekt, siehe:
    https://support.commerce-seo.de/threads/51-Tem…+deinstallieren

    Und die Antwort in diesem Thread ist eine Variante meiner gefundenen Lösungen.
    Ich will aber die bessere der beiden Varianten wählen, daher hoffe ich auf Eure PHP-Expertise welche Lösung die bessere ist!


  • $lng->language = $lng->catalog_languages[DEFAULT_LANGUAGE];



    Das sollte ne Funktion aus dem oc:Commerce sein. Geht also nicht bei Dir.

    Mach mal die application_top.php auf und suche:

    PHP
    if(($data['language_id'] != $_SESSION['languages_id']) && !empty($data['language_id'])

    Mache um diesen ganzen Block

    PHP
    /*if(($data['language_id'] != $_SESSION['languages_id']) && !empty($data['language_id'])) {..}*/

    Füge danach ein:

    PHP
    $_GET['language'] = 'de';