frase wrote:Mann, Mann, Mann,
wieso weiß ich sowas nicht?
Weil's leider noch nicht gescheit dokumentiert ist. Sowohl in der
deutschen Doku als auch
im Wiki wird diese Einstellung nur kurz und etwas falsch beschrieben. Der Core verwendet eben seit XH 1.7 diese Einstellung (falls ext/intl vorhanden ist) und manche (zum Teil sehr alte) Plugins nutzen die Einstellung indirekt.
Gerade bezüglich solcher Plugins muss man etwas aufpassen, da die Einstellung eben dort Änderungen bewirken kann – in der Regel aber zum "besseren". Es ist allerdings so, dass für allgemeine Fälle das Locale auch auf dem Server installiert sein muss (sonst wird die Angabe ignoriert); ext/intl kennt aber wohl "alle" Locales.
Insgesamt sind aber solche Locales ohnehin problematisch; das beginnt schon damit, was genau eingestellt werden soll/kann. Unter Windows müssen es nämlich ganz andere Angaben sein (etwa German_Germany.1252), und auch unter Linux gibt es da wohl subtile Unterschiede. Immerhin kann in der Systemprüfung nachgeschaut werden, ob das eingestellte Locale unterstützt wird. Aber es gibt ein größeres Problem bezüglich der Locales: in multithreaded Umgebungen kommen sich u.U. verschiedene Threads in die Quere. Daher verzichte ich gerne auf Locale-abhängige Funktionen wie
strftime(). Und eigentlich wäre es mir am liebsten, wenn die Einstellung
nur für ext/intl gelten würde (und CMSimple_XH sonst strikt im C Locale arbeiten würde; also nur ASCII), da damit auch einige andere Probleme vom Tisch wären (z.B. Locale-abhängige Ausgabe von Fließkommazahlen, die eigentlich nicht zu verwendenden ctype_*() Funktionen usw.)