date() in Deutsch umwandeln...

bernhardp

Mitglied
Hallo WWW-Gemeinde...

Ich will Sunday, 14 March 2004 in Deutsch ausgeben!
PHP:
$date = date("l, d F Y", $ds[date]);
setlocale() war mir dabei auch in keiner variation hilfreich...
Jetzt hab ich auf php.net folgendes Script gefunden:
PHP:
<?PHP
//    Translate Date to French - by KiSCiX

function DateToFrench($date){
   //REMPLACER LES MOIS
   $date = str_replace("January","Janvier",$date);
   $date = str_replace("February","Février",$date);
   $date = str_replace("March","Mars",$date);
   $date = str_replace("April","Avril",$date);
   $date = str_replace("May","Mai",$date);
   $date = str_replace("June","Juin",$date);
   $date = str_replace("July","Juillet",$date);
   $date = str_replace("August","Août",$date);
   $date = str_replace("September","Septembre",$date);
   $date = str_replace("October","Octobre",$date);
   $date = str_replace("November","Novembre",$date);
   $date = str_replace("December","Décembre",$date);
   
   //REMPLACER LES JOURS
   $date = str_replace("Sunday","Dimanche",$date);
   $date = str_replace("Monday","Lundi",$date);
   $date = str_replace("Tuesday","Mardi",$date);
   $date = str_replace("Wednesday","Mercredi",$date);
   $date = str_replace("Thursday","Jeudi",$date);
   $date = str_replace("Friday","Vendredi",$date);
   $date = str_replace("Saturday","Samedi",$date);
   return $date;
}
?>
das ganze verdeutscht und an oberste stelle meine _settings.php die auf jeder seite mitgeladen wird, eingefügt...
PHP:
<?PHP
//    Translate Date to German - by tutorials.de

function DateToGerman($date){
   //REMPLACER LES MOIS
   $date = str_replace("January","Jänner ",$date);
   $date = str_replace("February","Februar",$date);
   $date = str_replace("March","März",$date);
   $date = str_replace("April","April",$date);
   $date = str_replace("May","Mai",$date);
   $date = str_replace("June","Juni",$date);
   $date = str_replace("July","Juli",$date);
   $date = str_replace("August","August",$date);
   $date = str_replace("September","September",$date);
   $date = str_replace("October","Oktober",$date);
   $date = str_replace("November","November",$date);
   $date = str_replace("December","Dezember",$date);

   //REMPLACER LES JOURS
   $date = str_replace("Sunday","Sonntag",$date);
   $date = str_replace("Monday","Montag",$date);
   $date = str_replace("Tuesday","Dienstag",$date);
   $date = str_replace("Wednesday","Mittwoch",$date);
   $date = str_replace("Thursday","Donnerstag",$date);
   $date = str_replace("Friday","Freitag",$date);
   $date = str_replace("Saturday","Samstag",$date);
   return $date;
}
?>

Aber es wir immer noch nicht Deutsch ausgegeben Wie kann ich das problem lösen?
 
ämm... wie meinst du das? wenn ich statt
PHP:
$date = str_replace("January","Jänner ",$date); 
$date = str_replace("Jänner","January ",$date);
mache passiert wieder nichts
 
schau dir das mal an: http://www.schattenbaum.net/php/datum2.php

PHP:
$tage = array("Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
$monate = array(1=>"Januar",
                  2=>"Februar",
                  3=>"M&auml;rz",
                  4=>"April",
                  5=>"Mai",
                  6=>"Juni",
                  7=>"Juli",
                  8=>"August",
                  9=>"September",
                  10=>"Oktober",
                  11=>"November",
                  12=>"Dezember");

$tag = date("w", $ds[date]);
$monat = date("n", $ds[date]);
$mtag = date("d", $ds[date]);
$jahr = date("Y", $ds[date]);

echo $tage[$tag].', '.$mtag.'. '.$monate[$monat].' '.$jahr;
 
Und das ganze in ne Funktion gepackt:

PHP:
<?php
function deutsches_datum($format, $timestamp) {
    // c für Wochentag
    // C für Monatsnamen
    $wochentage = array("Sonntag",
                        "Montag",
                        "Dienstag",
                        "Mittwoch",
                        "Donnerstag",
                        "Freitag",
                        "Samstag");
    $monate = array("Januar",
                    "Februar",
                    "März",
                    "April",
                    "Mai",
                    "Juni",
                    "Juli",
                    "August",
                    "September",
                    "Oktober",
                    "November",
                    "Dezember");
    $wochentag = $wochentage[date("w", $timestamp)];
    $monat = $monate[date("n", $timestamp)-1];
    $datum = date($format, $timestamp);
    $datum = str_replace("c", $wochentag, $datum);
    $datum = str_replace("C", $monat, $datum);
    return $datum;
}
echo deutsches_datum("c, d. C Y", time());
?>
 
Je nach Webserver geht das hier auch:
PHP:
setlocale(LC_TIME, 'de_DE');
print(strftime('%A %B'));
 
Original geschrieben von Fabian Hofmann
Je nach Webserver geht das hier auch:
PHP:
setlocale(LC_TIME, 'de_DE');
print(strftime('%A %B'));
Genau so würd ich es auch machen. Wenn man jetzt nicht weiß, was man als zweiten Wert angeben sollt, so helfen folgende Zeilen:

PHP:
/* versuche verschiedene mögliche locale Namen für Deutsch ab PHP 4.3.0 */
$loc_de = setlocale (LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
echo "Preferred locale for german on this system is '$loc_de'";
Quelle: http://de.php.net/setlocale
 
Danke Leute, der Tipp von stanleyB hat funktioniert....

wie gesagt... setlocale(LC_TIME, 'de_DE'); hat in keiner variante funktioniert.
 
Zurück