Sprachendatei in 'externes' Skript laden

  • Guten Morgen allerseits!

    Auf meiner Website ermögliche ich mit Sessions eine Sprachenauswahl.
    index.php:

    Nun will ich diese Sprachdateien auch in einem Mailing-Script verfügbar machen, welches nicht direkt in die Website eingebunden, sondern per Ajax angesprochen wird.

    Der Ajax-Teil:

    Und hier das aktuelle Mailing-Script, welches übersetzt werden soll:

    Wie mach ich die Übersetzung möglich?

    Vielen Dank für eure Unterstützung!

    Mir raucht der Gulliver :smilie085:

    • Offizieller Beitrag

    Zur Frage: Im Mailing-Skript einfach auch session_start(); verwenden und Du hast Zugriff auf die Session-Variablen.

    Nur mal als Anregung: Bevor ich mit IF-Ketten arbeite, nutze ich bspw. die Array-Funktionen von PHP:

    PHP
    $languages = array_filter([
        'de',
        $_GET['language'] ?? null,
        $_SESSION['language'] ?? null
      ]);
    
    
    $_SESSION['language'] = end( $languages );
    include_once '_include/lang/' . $_SESSION['language'] . '.php';

    Bei mir habe ich noch eine Routine drin, die anhand des User-Agent die primäre Sprache versucht herauszufinden. Das Ergebnis packe ich mit in das array_filter().
    Hinterher habe ich in $languages nur gültige Werte und übernehme den letzten Eintrag in die Session. Das setzt natürlich voraus, dass die Elemente im array_filter() nach Prio aufsteigend sortiert sind, damit der letzte die höchste hat.


    EDIT: Korrigiert von array_map() auf array_filter()

  • Hat geholfen, führt mich aber wieder zu einem anderen Thema.

    Deine Anregung werde ich nach dieser Odyssey umsetzen.
    Danke!

    Mir raucht der Gulliver :smilie085:

    Einmal editiert, zuletzt von Sysmatic (14. November 2018 um 14:29)