Forum und email

setlocale

(PHP 4, PHP 5)

setlocale — Ρυθμίστε τις πληροφορίες του locale

Περιγραφή

string setlocale ( mixed $category , string $locale [, string $... ] )
string setlocale ( mixed $category , array $locale )

Η παράμετρος category είναι μία σταθερά (ή string) που ορίζει την κατηγορία των συναρτήσεων, οι οποίες επηρεάζονται από τη ρύθμιση του locale:

  • LC_ALL για όλες τις παρακάτω
  • LC_COLLATE για σύγκριση strings, ανατρέξτε στη συνάρτηση strcoll()
  • LC_CTYPE για κατάταξη χαρακτήρων και μετατροπή, για παράδειγμα η συνάρτηση strtoupper()
  • LC_MONETARY για τη συνάρτηση localeconv()
  • LC_NUMERIC για το διαχωριστή δεκαδικού μέρους (ανατρέξτε επίσης στη συνάρτηση localeconv())
  • LC_TIME για μορφοποίηση ημερομηνίας και ώρας με τη συνάρτηση strftime()

Εάν η παράμετρος locale είναι ένα κενό string "", τα ονόματα της θα τεθούν από τις τιμές των μεταβλητών περιβάλλοντος που έχουν τα ίδια ονόματα με τις παραπάνω κατηγορίες, ή από το "LANG".

Εάν η παράμετρος locale είναι NULL ή "0", η ρύθμιση του locale δεν επηρεάζεται, μόνο η τρέχουσα ρύθμιση επιστρέφεται.

Εάν η παράμετρος locale είναι ένας πίνακας ή ακολουθείται από επιπλέον παραμέτρους τότε γίνεται προσπάθεια, μέχρι να επιτευχθεί, ώστε κάθε στοιχείο του πίνακα ή παράμετρος να τεθεί ως νέο locale. Η λειτουργία αυτή είναι χρήσιμη εάν ένα locale είναι γνωστό με διάφορα ονόματα σε διαφορετικά συστήματα ή για να παράσχει λύση στην περίπτωση που δεν είναι διαθέσιμο.

Note: Το πέρασμα διαφορετικών locales δεν ήταν διαθέσιμο πριν την PHP 4.3.0

Η συνάρτηση setlocale επιστρέφει το νέο ισχύον locale, ή την τιμή FALSE εάν δεν έχει εγκατασταθεί λειτουργία locale στην πλατφόρμα σας ή το συγκεκριμένο locale δεν υπάρχει ή ακόμα κα αν το όνομα της κατηγορίας είναι λάθος. Ένα όνομα λάθος κατηγορίας μπορεί να προκαλέσει την εμφάνιση μηνύματος λάθους. Ονόματα κατηγοριών/locale μπορούν να βρεθούν στις ενότητες » RFC 1766 and » ISO 639.

Note: Η επιστρεφόμενη τιμή της συνάρτησης setlocale() εξαρτάται από το σύστημα στο οποίο τρέχει η PHP. Επιστρέφει ακριβώς ό,τι και η setlocale του συστήματος.

Tip

Η χρήστες των Windows θα βρουν χρήσιμες πληροφορίες για τα locale strings στο MSDN website της Microsoft. Τα υποσστηριζόμενα strings γλώσσας μπορούν να βρεθούν » εδώ και τα υποστηριζόμενα strings χώρας/περιοχής » εδώ. Τα συστήματα Windows υποστηρίζουν τους κώδικες τριών γραμμάτων για τις χώρες/περιοχές όπως αυτοί ορίζονται από το ISO 3166-Alpha-3, το οποίο μπορεί να βρεθεί στο website της » Unicode.

Example#1 Παραδείγματα χρήσης της setlocale()

<?php
/* Set locale to Dutch */
setlocale (LC_ALL'nl_NL');

/* Output: vrijdag 22 december 1978 */
echo strftime ("%A %e %B %Y"mktime (00012221978));

/* try different possible locale names for german as of PHP 4.3.0 */
$loc_de setlocale (LC_ALL'de_DE@euro''de_DE''de''ge');
echo 
"Preferred locale for german on this system is '$loc_de'";
?>

Example#2 Παράδειγμα χρήσης της setlocale() στα Windows

<?php
/* Set locale to Dutch */
setlocale (LC_ALL'nld_nld');

/* Output: vrijdag 22 december 1978 */
echo strftime ("%A %d %B %Y"mktime (00012221978));

/* try different possible locale names for german as of PHP 4.3.0 */
$loc_de setlocale (LC_ALL'de_DE@euro''de_DE''deu_deu');
echo 
"Preferred locale for german on this system is '$loc_de'";
?>