Timestamp umwandeln in deutsche Wochentage (kein Setlocale)

Sprite

Mitglied
Tach,

ich habe ein freies Tool von jemandem übernommen, genannt phpRaid.

Dieses Tool hat eine Einstellung, um das Datum auszugeben. Es liest dazu aus der Datenbank einen Timestamp heraus, bestehend aus den Sekunden seit 1970, weil er von den Einstellungen so gespeichert wird.

Die Ausgabe des Timestamps kann man in der Konfig einstellen. d.m.Y gibt also überall in dem Tool den 14.03.2007 aus. Ein l, d.m.Y gibt demnach ein Wednesday, 14.03.2007 aus. Und da liegt mein Problem. Ich möchte diese Tage gerne in deutsch ausgeben lassen. Ein Setlocale kann mir allerdings insofern nicht helfen, da ich ja die Vorgaben des Tools benutzen muss.

Um das jeweilige Datum auszulesen, nutzt das Tools folgende Sachen: Es wird in einer While-Schleife das Datum ausgelesen


PHP:
	while($data = $db_raid->sql_fetchrow($result))
	{


$date = new_date($phpraid_config['date_format'],$data['timestamp'],$phpraid_config['timezone'] + $phpraid_config['dst']);


*edit2: Wenn ich hier drunter ein echo $date reinschreibe, gibt es 3x das Datum aus. "Tuesday, 06.03.2007Wednesday, 07.03.2007Wednesday, 07.03.2007"



Einige Zeilen tiefer wird das Datum ($date) in der gleichen offenen Schleife noch durch ein Array gescheucht.


PHP:
		array_push($announcements,
			array(
				'date'=>$date,

Ein Stück tiefer schließlich die letzte Ausgabe, wo der Wert in die HTML-Tabelle gesteckt wird ($phprlang['date'] wartet nur auf ein Wort aus einer Übersetzungs-Datei, in diesem Falle "Datum"):


PHP:
$report->addOutputColumn('date',$phprlang['date'],'','center');


So, anhand des $phpraid_config['date_format'] wird das Script also auslesen, dass es das Datum als l, d.m.Y ausgeben soll. Aber wie kann ich jetzt die Wochentage in diesem Script übersetzen lassen?

Leider übersteigt das meine momentane Fähigkeiten, darum ersuche ich um eure Hilfe für einen Anstoß.

MfG
Sprite


*edit1:

Das new_date hat übrigens diesen Code.

PHP:
function new_date($format, $timestamp, $tz) {
	$offset = (60 * 60) * ($tz / 100); // Seconds from GMT
    $timestamp = $timestamp + $offset;
    return gmdate($format, $timestamp);
}
 
Zuletzt bearbeitet:
Du könntest ganz einfach die englischen Wochentag- und Monatsnamen durch die deutschen ersetzen:
PHP:
$trans => array(
	'Monday'    => 'Montag',
	'Tuesday'   => 'Dienstag',
	'Wednesday' => 'Mittwoch',
	'Thursday'  => 'Donnerstag',
	'Friday'    => 'Freitag',
	'Saturday'  => 'Samstag',
	'Sunday'    => 'Sonntag',
	'Mon'       => 'Mo',
	'Tue'       => 'Di',
	'Wed'       => 'Mi',
	'Thu'       => 'Do',
	'Fri'       => 'Fr',
	'Sat'       => 'Sa',
	'Sun'       => 'So',
	'January'   => 'Januar',
	'February'  => 'Februar',
	'March'     => 'März',
	'May'       => 'Mai',
	'June'      => 'Juni',
	'July'      => 'Juli',
	'October'   => 'Oktober',
	'December'  => 'Dezember',
);
$string = strtr($string, $trans);
 
Ah, vielen Dank. An der letzten Zeile ist es bei mir immer gescheitert, weil bei mir bis auf den Tag dann immer der Rest des Datums fehlte... :)

Und auch Danke für die Übersetzung ;).
 
Zurück