Bonjour à tous,

J'essaie actuellement de dynamiser l'utilisation des locales, et j'éprouve un problème assez... problématique ( )

Alors actuellement, j'ai un objet Language qui se fait instancier et qui contient les informations suivante:
Id, Abbreviation, Titre, Locale

Par exemple:
1, 'fr', 'Français', 'fr_CA'

Ensuite un peu plus loin dans mon code, j'ai ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
setlocale('LC_MONETARY', $lng->getLocale());
getLocale() retourne: string(5) =>'fr_CA' , donc une chaine de caractère, normal vu que la valeur est issue de MySQL.

Ce qui me donne l'erreur suivante:
Passing locale category name as string is deprecated. Use the LC_* -constants instead
Ma question est donc de savoir comment me sortir de cette situation infernale, sans utiliser un mega switch tel que :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
$locale = null;
switch($lng->getLocale())
{
      case 'fr_CA':
          $locale = LC_fr_CA; // Et je trouve pas de liste de constantes, alors je suis même pas certain.
          break;
      case '....':
          ...
}

Merci à tous pour vos éventuels éclairs de génis