<?php
$loc_de = setlocale(LC_ALL, 'de_DE@euro', 'de_DE', 'deu_deu');
echo "Gewählte Locale-Einstellung: '$loc_de'";
?>
Wenn das scheinbar nichts (genauer: false) zurück gibt, dann fehlen schlicht und einfach Sprachbibliotheken auf dem System. PHP nutzt dafür keine eigenen. (Zitat aus dem Handbuch: "Es ist durchaus möglich, dass Ihre C-Bibliothek nicht alle angegebenen Formatierungszeichen erkennt.")
Um das zu beheben sollte durch einen Administrator auf dem Server das Paket locales-all
installiert werden. (eg. ~> sudo apt install locales-all
).
Das sind allerdings rund 127MB. Wie auf einem Server einzelne Locales generiert werden können beschreibt Thomas Krenn. Dort finden sich auch weitere Informationen.
Danach ergibt:
<?php
echo setlocale (LC_ALL, 'de_DE.UTF-8') . "\n";
echo strftime ('%B', time() ) . "\n";
wie folgt:
de_DE
März
Falls Du den Monat in ISO-8859-15 oder Windows-1252-Kodierung ausgeben möchtest:
setlocale (LC_ALL, 'de_DE@euro');