SET LOCALE

Impostazione dei formati in base alla lingua
Come impostare il formato di data, valuta, ecc. in base alla lingua scelta, per evitare noiosi script di traduzione.

Il comando setlocale permette di impostare i parametri di localizzazione che danno la possibilità di utilizzare date e valute in base alla lingua scelta.
Link al manuale
Il comando funziona in base al sistema operativo installato che interpreta in modo diverso il parametro category
Per rendere il comando utilizzabile sia su sistemi Windows che Linux ho cercato il maggior numero di stringhe riconoscibili da passare alla funzione come parametro category
Quindi ho creato un array delle lingue utilizzate da impiegare in fase di impostazione.

Questo è il codice di esempio che ho impiegato:


/*
 associazione della lingua scelta con le stringhe di identificazione 
 di LOCALE (setlocale) 
 tutte le stringhe specificate sono ricavate dal riferimento 
 ISO 639 e dal sito Microsoft 
 vedi http://www.w3.org/WAI/ER/IG/ert/iso639.htm e 
 http://msdn.microsoft.com/library/default.asp
      ?url=/library/en-us/vclib/html/_crt_language_strings.asp
*/
$lan_locale = array('ita'=>array('it_IT','ita','italian'),
           'spa'=>array('esp','spanish','es_ES','spa','esl'),
           'eng'=>array('eng','en_EN','eng','english'),
           'fra'=>array('fra','fre','fr','french'),
           'deu'=>array('deu','de_DE','german'),
           'por'=>array('por','pt','portuguese','ptg'),
           'chi'=>array('chi','zho','zh','chinese','chinese-simplified','chs')
);


/*
 LOCALE
 Imposta il formato delle stringhe in base alla lingua scelta 
*/
$lan = 'ita';
$loc_value = setlocale(LC_ALL, $lan_locale[$lan]);

// tenta i differenti nomi possibili per le impostazioni passate
setLocale(LC_ALL,$loc_value);

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *