Datumsanzeige in der Bestätigungsmail

  • In der Bestätigungsmail steht das Bestelldatum in folgendem Format: Friday, 07. October 2016

    In habe es noch nicht geschafft, das Datum zu ändern in Freitag, 07. Oktober 2016

    In der send_order.php steht der Wert "xtc_date_long". Wenn ich diesen ändere in "xtc-date-short" erscheint zumindest: 07.10.2016.

    In der german.php im Verzeichnung html/lang/german/ steht folgendes:

    define('HTML_PARAMS','dir="ltr" xml:lang="de" lang="de"');

    @setlocale(LC_TIME, 'de_DE.UTF-8', 'de_DE@euro', 'de_DE', 'de-DE', 'de', 'ge', 'German');

    define('DATE_FORMAT_SHORT', '%d.%m.%Y'); // this is used for strftime()
    define('DATE_FORMAT_LONG', '%A, %d. %B %Y'); // this is used for strftime()
    define('DATE_FORMAT', 'd.m.Y'); // this is used for strftime()
    define('DATE_TIME_FORMAT', DATE_FORMAT_SHORT . '%H:%M:%S');
    define('DOB_FORMAT_STRING', 'tt.mm.jjjj');

    $monate = array(
    1=>"Januar",
    2=>"Februar",
    3=>"März",
    4=>"April",
    5=>"Mai",
    6=>"Juni",
    7=>"Juli",
    8=>"August",
    9=>"September",
    10=>"Oktober",
    11=>"November",
    12=>"Dezember");

    Liegt hier eventuell ein Problem vor, das der Wochentag und der Monat nicht in deutsch angezeigt werden?

    Oder gibt es noch woanders Einstellungsmöglichkeiten, z.B. beim Server?

  • Die Ursache lag beim Server.

    Die folgende Antwort bekam ich von meinem Hoster auf erneute Anfrage:

    Auf Ihrem derzeitigen Server fehlte tatsächlich das serverseitige Sprachpaket für die Funktion strftime().

    Vorher:setlocale(LC_TIME, 'de_DE.UTF-8', 'de_DE@euro', 'de_DE', 'de-DE', 'de', 'ge', 'German');
    strftime("%A %e %b %Y", mktime(13,58,30, 18, 10, 2016));

    ergab: Tuesday 18 Oct 2016
    Nachher:Dienstag 18 Okt 2016

    Normalerweise werden diese Sprachvarianten in PHP selbst realisiert, um die Shopsoftware unabhängig vom verwendeten System zu machen.

    Das Thema ist damit für mich erledigt.