Zum Inhalt springen

Einsprachige Seite, Datum in Englisch

Erstellt am 19. Juni 2006 · 9 Antworten · letzte Antwort am 10. Juni 2008

Tags: Frage

osch249 ·

Ich habe exakt das gleiche Problem wie es hier beschrieben wird:

#17042

Die Webseite hat nur eine Sprachversion (deutsch), zeigt aber sämtliche Datumsangaben (aktueller Wochentag, Monate im Archiv) in Englisch an.

Durchsucht habe ich jetzt schon so ziemlich alles was ich hier und im Web finden konnte und auch schon diverse Lösungsansätze ausprobiert, allein ein befriedigendes Ergebnis konnte noch nicht erzielt werden.

Das ist der relevante Typoscript-Teil (wie man sieht, finden sich Teile diverser Lösungsansätze):

config {
  doctype = xhtml_trans
  xhtml_cleaning = all
  xmlprologue = none
  sys_language_uid = 0
  sys_language_mode = content_fallback
  htmlTag_setParams = xml:lang="de" lang="de"
  htmlTag_langKey = de-DE
  language = de
  locale_all = german_Germany
}

In dieser Form geht es eigentlich ganz gut, wenn das Datum nicht willkürlich wechseln würde. Selbst die gleiche Seite zeigt bei 10 Reloads ca. 1-2x das Datum falsch an.

Was mich irritiert, ist die Tatsache, dass es willkürlich wechselt...

Hat irgendjemand eine Idee, die über die des obigen Threads hinausgeht?

Ich setze Typo3 auf einem Windows-Server ein, PHP-Version 4.4.2, getestet wurden die Seiten mit IE 6.0 und FF 1.5.0.4.

Vielen Dank im Vorraus! 🙂

steffenk ·

und wenn Du für locale_all einen gültigen Wert hast, kannst Du noch zusätzlich an den entscheidenen Stellen das Datum formatieren über

object.stdWrap.strftime = %d.%m.%Y
osch249 ·

Hallo,

danke erstmal für Deine Antwort.

miwolfram schrieb

Das Problem dürfte locale_all sein.

https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/TopLevelObjects/Config.html
http://at.php.net/manual/de/function.setlocale.php

Probier eines davon:
'de_DE@euro', 'de_DE', 'de', 'ge', 'German'

Ich hatte ja schon erwähnt, dass ich inzwischen eine recht hohe Testdichte habe.

Bis auf "ge" hatte ich alles selbst schon einmal getestet, hier das Verhalten im Detail:

"de_DE@euro", "de_DE", "de": Datum komplett in Englisch

"ge", "German": Datum nur teilweise in Englisch

Deshalb bin ich ja relativ ratlos, weil alle Lösungsansätze bisher nicht fruchteten.

Könnte es vielleicht auch ein PHP-Problem sein? Eigentlich nicht, denn ich überschreibe ja mit Typoscript all die Grundeinstellungen am Ende, oder?

osch249 ·
steffenk schrieb

und wenn Du für locale_all einen gültigen Wert hast, kannst Du noch zusätzlich an den entscheidenen Stellen das Datum formatieren über

object.stdWrap.strftime = %d.%m.%Y

Das ist mein Typoscript-Teil für die Ausgabe des Datums:

lib.date = COA_INT
lib.date  { 
  10 = TEXT 
  10.data = date:U 
  10.strftime = %A, %d.%m.%Y
}

Aber das stimmt ja soweit, das Problem ist eben, denke ich, der Teil davor...

steffenk ·

ja genau, daher steht auch in der Doku

stdWrap.strftime : Exactly like "date" above. See the PHP-manual (strftime) for the codes, or datatype "strftime-conf".

This formatting is useful if the locale is set in advance in the CONFIG-object.

osch249 ·

Sorry,

mein Fehler.

steffenk schrieb

ja genau, daher steht auch in der Doku

stdWrap.strftime : Exactly like "date" above. See the PHP-manual (strftime) for the codes, or datatype "strftime-conf".

This formatting is useful if the locale is set in advance in the CONFIG-object.

Ich hatte mich nicht klar genug ausgedrückt. Das Problem ist nicht das Datum, sondern der Wochentag, also strftime-Paramater "%A".

Der Wochentag wechselt ständig von z.b. "Montag" auf "Monday" und die Monate switchen zwischen z.b. "März" und "March".

Das Datum als solches habe ich natürlich schon so eingebaut, dass es im richtigen Format angezeigt wird (%d.%m.%Y -> Tag.Monat.Jahr).

Ich habe auch schon versucht in der Extension selbst direkte Eingaben für setlocale() zu machen - ohne Erfolg.

Vielleicht stehe ich aber auch nur auf dem Schlauch und kann die Lösung direkt vor meinen Augen nicht sehen... 🙂

steffenk ·
config.language = de
config.locale_all = de_DE@euro 

temp.pagedatum = TEXT
temp.pagedatum.data = date : U
temp.pagedatum.strftime = %A, %d.%m.%Y

funktioniert einwandfrei

Chuonrad ·

Hallo Comunity,

ich komm mir ziemlich bescheiden vor, weil ich das Problem trotz stundenlangen suchens und probierens nicht in Griff bekomme.
Alle in diversen Foren beschriebenen Lösungsansätze scheinen irgendwelche Extensions zu betreffen oder die Datumsanzeige in einem subpart.
Ich möchte eigentlich nur das Häkchen "Datum" über einem Inhaltselement anklicken können und so das Datum zB im Format: Donnerstag, 23. November 2006" angezeigt bekommen.
Im TS ObjectBrowser kann ich ja unter "date" das Format einstellen, aber dabei bleibt es, wie so oft erwähnt in englisch.(Bzw._ lib.stdheader.5.date =l, d. m. Y im setuo)
Im local_all habe ich nun schon sämtliche Varianten durchprobiert. Das alleine scheint noch nicht des Rätsels Lösung zu sein.

Ich bekomme nun eine Formatierung mit strftime nicht hin - weil ich nicht weiß, wie ich das "Häkchen-Datum" ansprechen kann. Oben gibt es ja nur Lösungen für subparts...
Kann mir bitte jemand auf die Sprünge helfen?

avithan ·

Sorry, dass ich den thread nochmal ausgrabe, habe aber nirgendwo eine klare Antwort gefunden und möchte sie daher hier verewigen. Einfach folgendes Snippet ins TS Setup stecken - und die Datumsheader werden lokalisiert.

# Header benutzen lokalisiertes Datum (obj.strftime beachtet config.locale_all, obj.date nicht)
lib.stdheader.5.date >
lib.stdheader.5.strftime = %A, %d %B %y

Beste Grüße,
avi