=> On peut s'arrêter à la première combinaison qui marche ... ou la retirer de la liste des locales à tester (ainsi que celles qui ont précédé et échoué).
Exemple :
CITATION
1)) Tests avec setlocale(LC_TIME, ...)
fr_FR == Tuesday 05 September, 2006
french == mardi 05 septembre, 2006
fr_CA == mardi 05 septembre, 2006
fr == mardi 05 septembre, 2006
fr.UTF8 == mardi 05 septembre, 2006
-------------------------
2)) Tests avec setlocale('LC_TIME', ...)
fr_FR == mardi 05 septembre, 2006
french == mardi 05 septembre, 2006
fr_CA == mardi 05 septembre, 2006
fr == mardi 05 septembre, 2006
fr.UTF8 == mardi 05 septembre, 2006
-------------------------
3)) Tests avec setlocale("LC_TIME", ...)
fr_FR == mardi 05 septembre, 2006
french == mardi 05 septembre, 2006
fr_CA == mardi 05 septembre, 2006
fr == mardi 05 septembre, 2006
fr.UTF8 == mardi 05 septembre, 2006
-------------------------
=> Je sais que (LC_TIME + fr_FR) ne marche pas
=> Je sais que (LC_TIME + french) marche
=> Le reste : c'est flou (cela peut marcher "parce que ca marche", et cela peut marcher parce que le setlocale n'est pas pris en compte ...)
Conclusion:
Je remplace
CODE
$output.= '1)) Tests avec setlocale(LC_TIME, ...) <br />';
$locales_array = array('fr_FR', 'french', 'fr_CA', 'fr', 'fr.UTF8');
par
CODE
$output.= '1)) Tests avec setlocale(LC_TIME, ...) <br />';
$locales_array = array('fr_CA', 'fr', 'fr.UTF8');
et j'y retourne ...

=>
CITATION
1)) Tests avec setlocale(LC_TIME, ...)
fr_CA == Tuesday 05 September, 2006
fr == mardi 05 septembre, 2006
fr.UTF8 == mardi 05 septembre, 2006
-------------------------
[...]
Idem, fr_CA + LC_TIME, pas bon, fr + LC_TIME, ok.
On retire et ainsi de suite
(mais à partir du moment une locale n'est pas reconnue ....)