| setlocale -- Modifie
les informations de localisation
string setlocale
( int category, string locale [, string
...] )
string setlocale
( int category, array locale )
setlocale() retourne la nouvelle configuration
locale, ou FALSE si la localisation
n'est pas implémentée
sur votre plate-forme, si la variable
de localisation n'existe pas, ou si
la catégorie spécifiée
n'est pas valide. Un nom de catégorie
invalide générera un
message d'alerte. La liste des noms
de locales/catégories peut
être trouvée en consultant
la RFC 1766 ainsi que l'ISO 639. Les
différentes plates-formes possèdent
des conventions de nommages différentes.
category est une constante (ou une
chaîne) qui spécifie
la catégorie de fonctions affectées
par la configuration de localisation
:
LC_ALL pour toutes les constantes
suivantes
LC_COLLATE pour la comparaison de
chaînes de caractères.
Voir strcoll()
LC_CTYPE pour la classification et
la conversion de caractères.
Voir strtoupper()
LC_MONETARY pour localeconv()
LC_NUMERIC pour le séparateur
décimal. Voir localeconv()
LC_TIME pour le format de date et
d'heure avec strftime()
LC_MESSAGES pour les réponses
système (disponible si PHP
a été compilé
avec libintl)
Note : Depuis PHP 4.2.0, passer
category en tant que chaîne
est déconseillé, utilisez
les constantes mentionnées
plus haut à la place. Les passer
en tant que chaînes (entre guillemets)
provoquera l'affichage d'un message
d'avertissement.
Si locale est NULL ou la chaîne
vide "", les noms de locales
seront pris dans l'environnement,
à partir des variables de même
nom que les catégories ci-dessus,
ou depuis "LANG".
Si locale est NULL ou vaut "0",
la configuration locale ne sera pas
modifiée, et la configuration
courante sera retournée.
Si locale est un tableau ou bien
est suivi par des paramètres
additionnels, alors chaque élément
du tableau ou chaque paramètre
tente d'être défini comme
nouvelle locale jusqu'à ce
qu'un réussisse. Cela est pratique
si la locale est connue sous différents
noms sur des systèmes différents
ou bien pour prévoir une autre
valeur en cas de non disponibilité
de la locale choisie.
Note : La possibilité de
passer plusieurs locales est disponible
depuis PHP 4.3.0.
Note : La valeur retournée
par setlocale() dépend du système
sur lequel PHP est installé.
setlocale() retourne exactement ce
que la fonction système setlocale()
retourne.
Avertissement : L'information locale
est maintenue par processus, non par
thread. Si vous faites fonctionner
PHP sur un serveur multi-threadé
comme IIS ou Apache sur Windows, vous
pourriez obtenir des changements soudains
des configurations locales pendant
qu'un script fonctionne, même
si celui-ci n'appelle jamais la fonction
setlocale(). Ceci survient à
cause des autres scripts qui fonctionnent
dans des threads différents
du même processus. Ces scripts
changent les configurations locales
dans le processus au complet en utilisant
la fonction setlocale().
Astuce : Les utilisateurs de Windows
trouverons des informations utiles
à propos du paramètre
locale sur le site web MSDN de Microsoft.
Les valeurs de locales supportées
peuvent être trouvées
ici et les chaînes de pays/région
ici. Les systèmes Windows supportent
les codes à trois lettres pour
les pays/régions spécifiés
par ISO 3166-Alpha-3, qui peut être
trouvé sur le site web Unicode
.
Exemple - Exemple avec setlocale()
<?php
/* Configure le script en hollandais
*/
setlocale (LC_ALL, 'nl_NL');
/* Affiche : vrijdag 22 december 1978
*/
echo strftime("%A %e %B %Y",
mktime(0, 0, 0, 12, 22, 1978));
/* Essai de différentes valeurs
possible pour l'allemand depuis &php;
4.3.0 */
$loc_de = setlocale(LC_ALL, 'de_DE@euro',
'de_DE', 'de', 'ge');
echo "L'identifiant de l'allemand
sur ce système est '$loc_de'";
?>
Exemple - Exemple avec setlocale()
pour Windows
<?php
/* Configure le script en hollandais
*/
setlocale(LC_ALL, 'nld_nld');
/* Affiche : vrijdag 22 december 1978
*/
echo strftime("%A %d %B %Y",
mktime(0, 0, 0, 12, 22, 1978));
/* Essai de différentes valeurs
possible pour l'allemand depuis &php;
4.3.0 */
$loc_de = setlocale(LC_ALL, 'de_DE@euro',
'de_DE', 'deu_deu');
echo "L'identifiant de l'allemand
sur ce système est '$loc_de'";
?>
Copyright © 2001-2006 The PHP
Group. All rights reserved.
|