setlocale ("LC_TIME", "ge") funktioniert nicht
christian
- php
hallo ihr
um eine zeitausgabe nicht mühsam auf deutsch zu übersetzen, habe ich den befehl setlocale ("LC_TIME", "ge") gefunden. leider bekomme ich immer noch statt einer deutschen, eine englische ausgabe der zeitformatierungen.
in meinem php3 buch steht, dass es teilweise fehlerhafte umsetzungen des befehls gibt, aber eine aenderung des "ge" parameters in "d", "gw", "g" usw. brachte keine besserung.
ich benutze php3.12 als apache modul eingebunden.
wer weiss rat ???
christian
Welche Werte statt "ge" Wirkung zeigen habe ich auch
nicht rausbekommen. (de, de_DE ... nix, noch nicht
mal ne Liste der sinnvollen Werte gefunden).
Aber setlocale("LC_TIME", ""); hat dann das gewünschte
Ergebnis gebracht. Da es laut Beschreibung auf den
default Wert setzt, ist es wohl dummerweise von der
Installation abhängig.
Ach ja: erlebt mit PHP 4 Beta 4 unter Windows.
Welche Werte statt "ge" Wirkung zeigen habe ich auch
nicht rausbekommen. (de, de_DE ... nix, noch nicht
mal ne Liste der sinnvollen Werte gefunden).
Aber setlocale("LC_TIME", ""); hat dann das gewünschte
Ergebnis gebracht. Da es laut Beschreibung auf den
default Wert setzt, ist es wohl dummerweise von der
Installation abhängig.
Ach ja: erlebt mit PHP 4 Beta 4 unter Windows.
hat leider nicht geklappt....danke trotzdem. vielleicht finde ich den fehler noch
christian
Hallo Christian,
hat leider nicht geklappt....
sowas hatte ich befürchtet. Mich hat es erwischt, als ich mein Script auf
den Linux Server getan habe. Also rumsuchen, mit folgendem Resultat:
setlocale() scheint sich durchs gesammte (Linu)X zu ziehen (in Pearl, in C,
als Kommando), dabei ist der zweite Parameter praktisch Nirgendwo
spezifziert, weil er wohl total Versions(Mondphasen?)abhängig ist. (Die
Linux-Gemeinde liegt bestimmt schon gröhlend aufm Boden). Irgendwo hab ich
dann eine Liste mit ein paar Beispielen gefunden, ein paar geratene
dazugetan, und damit etwas rumgespielt:
<table border=1 cellspacing=0 cellpadding=3>
<?
$TestWerte=array( "","C", // =>Standard aus Systemumgebung nehmen
"english","german","french","italian",
"en_US","de_DE","en_GB","fr_CA","en_CA");
while ($lang = each($TestWerte))
if($result=setlocale(LC_TIME,$lang[value]))
echo "<tr><td>"$lang[value]"</td><td>$result</td><td>".strftime("%A, %d. %B")."</td></tr>\n";
else
echo "<tr><td>"$lang[value]"</td><td> </td><td>wird nicht unterstützt </td></tr>\n";
?>
</table>
Mein Windows (php 4.0b4pl1) mag mit "","C" oder "german" deutsch sprechen,
meine Suse 6.2 (php 3.0.7) mit "german" oder "de_DE" (<-- da war ich
gestern wohl etwas vorschnell).
Vielleicht funktioniert ja einer der beiden bei dir.
Carsten