Willkommen im neuen Forum von concrete5.de.
Die Anmeldung ist ab dem 15.10.2020 nur noch mit E-Mail Adresse und Passwort möglich. Eine Anmeldung mit Benutzername ist nicht mehr möglich.

Diese Nachricht löschen.
Anhang entfernen?
Zurück zur Themenliste
R
Remo 0.png 15.10.2011 18:59

Zeit/Datum Format -> php.ini?

Bei Mac OS kann ich dir leider nicht wirklich helfen. Ausser vielleicht wenn Apple das BSD unter der Haube nicht zu stark abgespeckt hat. In der Konsole / Terminal oder wie das Ding bei Apple heisst, solltest du mittels "locale" eine entsprechende Ausgabe der Konfiguration erhalten. Bez. Tophoster kann ich dir natürlich ebenfalls keine Auskunft geben, aber wie gesagt, php.ini sollte gehen wenn die Sprachfiles installiert sind.
T
toddihh 0.png 17.10.2011 11:14
Hallo Remo, danke für die Tipps -beim OSX Terminal ist alles auf de_DE.UTF-8 gestellt, die C5 Monatsanzeige aber auf englisch. Ich hab C5 bei einem anderen Hoster geladen - gleiches Problem. Meinst du wirklich es liegt an der PHP Konfiguration? Wenn ich den Blog als RSS-Feed anzeigen lasse, wird das Datumsformat korrekt (deutsch) angezeigt. Leider hab ich nicht so wirklich Ahnung wie ich PHP-Settings beim Server umstelle oder herausbekomme, glaube aber eher das da bei C5 etwas falsch läuft. Hast du schon einmal die Blog-Funktionalität bzw die Date-Navigation bei C5 genutzt bzw. auf deutsch angezeigt bekommen ? Vielen Dank für die Hilfe
R
Remo 0.png 17.10.2011 11:45
Wie gesagt, bei OSX kann ich dir nicht wirklich helfen. Gut möglich dass hier die System Libraries nicht auf diese Einstellung zurückgreifen. Apple erfindet oft Dinge neu, da hilft mein Unix Wissen nicht viel.. Kann mir nicht erklären wieso das eine korrekt angezeigt wird und das andere nicht, ausser hier hätte jemand den Code manuell erweitert so dass hier nicht auf die PHP Funktion date zurückgegriffen wird. Ja, ich hab sämtlich Einstellungen auf Deutsch hinbekommen! Sorry, ich fürchte ich kann dir hier nicht mehr wirklich weiterhelfen, da musst du wohl selber suchen!
T
toddihh 0.png 17.10.2011 18:14
Ok der Provider hats umgestellt - keine Änderung... In diesem thread: http://www.concrete5.org/index.php?cID=156511 hab ich ansatzweise noch Hilfe bekommen.
R
Remo 0.png 17.10.2011 21:03
Ja, aber was in dem Thread beschrieben wird ist ja genau das was hier auch schon vorgeschlagen wurde. Die erste Meldung von Marius enthält ja ebenfalls einen setlocale Befehl der genau das bewirkt wie du bei concrete5.org auch beschrieben hast oder hab ich da etwas übersehen?!
T
toddihh 0.png 19.10.2011 15:25
Hallo Remo - ich hätte jetzt nicht gedacht, dass es so schwierig ist (für einen Nicht-PHP Experten) auf das europäische Datumsformat in C5 umzustellen. Ich habe jetzt mal C5 auf einen virtuellen (dedizierten) Server installiert, wo ich auf alle Einstellungen Zugriff habe. Läuft auf Ubuntu. Übers Terminal die lokale abgefragt: LANG=de_DE.UTF-8 LC_CTYPE="de_DE.UTF-8" LC_NUMERIC="de_DE.UTF-8" LC_TIME="de_DE.UTF-8" LC_COLLATE="de_DE.UTF-8" LC_MONETARY="de_DE.UTF-8" LC_MESSAGES="de_DE.UTF-8" LC_PAPER="de_DE.UTF-8" LC_NAME="de_DE.UTF-8" LC_ADDRESS="de_DE.UTF-8" LC_TELEPHONE="de_DE.UTF-8" LC_MEASUREMENT="de_DE.UTF-8" LC_IDENTIFICATION="de_DE.UTF-8" LC_ALL= Servereinstellungen hab ich (Parallels Plesk) auch auf deutsch (Sprache und Zeit), deutsche Sprachdatei bei C5 installiert, in den Einstellungen dann auf deutsch umgeschaltet, cache deaktiviert und gelöscht... Datumsformat=amerikanisch. Ich werd noch wahnsinnig. hab ich da irgend etwas übersehen, bin ich zu blöd oder was mach ich falsch?
R
Remo 0.png 19.10.2011 16:11
Ne, ich glaub da müsste man wirklich was an concrete5 ändern. Hab mich mal schlau gemacht. Als erstes immer concrete5 ausklammern, deswegen hab ich sowas erstellt: <?php header('Content-type: text/plain'); setlocale(LC_ALL, 'de_DE'); echo date('d.M.Y') . "\n"; setlocale(LC_ALL, 'de'); echo date('d.M.Y') . "\n"; setlocale(LC_ALL, 'de_DE.UTF8'); echo date('d.M.Y') . "\n"; setlocale(LC_ALL, 'de_DE.UTF-8'); echo date('d.M.Y') . "\n"; ?> Als das nie was deutsches ausgegeben hat, hab ich mal strftime eingebaut. Das verwende ich aus Gewohnheit. Also Script umgebaut und siehe da! <?php header('Content-type: text/plain'); setlocale(LC_ALL, 'de_DE'); echo strftime('%d.%B %Y') . "\n"; setlocale(LC_ALL, 'de'); echo strftime('%d.%B %Y') . "\n"; setlocale(LC_ALL, 'de_DE.UTF8'); echo strftime('%d.%B %Y') . "\n"; setlocale(LC_ALL, 'de_DE.UTF-8'); echo strftime('%d.%B %Y') . "\n"; ?> Übrigens hat Marius dies bereits im zweiten Beitrag geschrieben ;-) Hab ich aber auch überlesen. Man könnte ev. auch prüfen ob das passende Sprachfile installiert ist, indem man sowas ausführt: var_dump(setlocale(LC_TIME, 'de_DE.UTF8', 'de_DE.UTF8', 'de_DE.UTF-8', 'de_DE.UTF-8')); Wie auch immer, es hat sich gezeigt, dass date wohl immer Englisch ist und nur strftime die Sprach von setlocale übernimmt. Wird übrigens auch hier beschrieben: http://www.php.net/manual/de/function.date.php "Um Datumsangaben in anderen Sprachen auszugeben, sollten Sie die Funktionen setlocale() und strftime() statt date() verwendet werden." Ich fürchte die concrete5 Programmierer sind oder waren sich dessen nicht bewusst und haben nun etwas eingebaut, was zu diesem Zeitpunkt lästig zu ändern ist. In deime Fall würde ich einfach empfehlen dies mit custom templates anzupassen und jeweils date mit strftime zu ersetzen.
T
toddihh 0.png 19.10.2011 17:46
Was ich noch nicht ganz verstehe, wie ich das Script einbaue bzw wie ich C5 dazu bringe das Datum so auszugeben. Mit dem Definieren der Konstanten in der site.php klappt es für den größten Teil im Dashboard und beim einfügen von Seiten (Datepicker) Den Rest sollte man dann wohl in der jeweiligen .php Seite des Temples selbst programmieren? Wenn ich das jetzt z-B. bei der blog_entry.php machen will steht dort ja: <?php echo $c->getCollectionDatePublic('d.M.o'); ?> Muss ich jetzt in der Datei die Datumsausgabe vorher neu definieren und dann echo strftime ???
R
Remo 0.png 19.10.2011 18:25
In diesem Fall ist's hässlich aber nicht unmöglich. * getCollectionDatePublic * dann zurück in ein Datum mit strtotime * dann wieder zurück zum String mit strftime Uhm..

Nachricht hinzufügen