Pentru a afisa luna sau numele zilei din saptamana in alta limba decat engleza, limba implicita pentru PHP folosim functiile setlocale() si strftime().
< ?php // Format text, pentru simplitate header('Content-type: text/plain'); // Data in limba engleza echo strftime('%A, %d %B %Y') . "\n"; // Posibilitatile de localizare $locales = array('ro.utf-8', 'ro_RO.UTF-8', 'ro_RO.utf-8', 'ro', 'ro_RO', 'ro_RO.ISO8859-2'); setlocale(LC_TIME, $locales); // Data localizata echo strftime('%A, %d %B %Y') . "\n"; ?>
Cu setlocale() mentionam categoria care dorim sa o localizam (ex. LC_TIME pentru data si ora) si fisierul de localizare care va contine traducerile pentru limba utilizata. Cum numele fisierului de localizare poate diferi in functie de sistemul de operare folosit, distributie sau charset folosit, setlocale() va primi ca parametru un array cu posibilitati de localizare din care va alege prima varianta disponibila in sistem.
Daca avem acces SSH pe serverul de hosting putem identifica fisierele de localizare instalate folosind comanda “locale -a“:
[root@lamp ~]# locale -a C POSIX de_DE.UTF-8 en_GB.UTF-8 en_US.US-ASCII en_US.UTF-8 fr_FR.UTF-8 hu_HU.UTF-8 is_IS.UTF-8 it_IT.UTF-8 ja_JP.UTF-8 ko_KR.UTF-8 ro_RO.ISO8859-2 ro_RO.UTF-8 [root@lamp ~]#
Cu strftime() functia se va aplica localizarea si vor face formatarile necesare, dupa caz, inainte de a afisa data in forma ceruta.
Popularity: 3% [?]



Il stiam deja si il folosesc de mult trick-ul asta! E mult mai OK decat sa stai sa traduci singur data in romana.. cum fac multi de altfel
Acum il stiu si eu, dar din pacate nu il stiam si acu’ aproape un an cand m-am apucat de tradus