Salut !
Après avoir suivi le superbe tutoriel sur l'Internationalisation via gettext (php & lib)ici, je rencontre un petit souci.
Mes 'views' se traduisent tout fontionne bien... mais... je mets en place un système de message d'erreur. Dans mon controller, je fais des tests unitaires sur les données saisie ou plein d'autres trucs. Et j'ai un message d'erreur à afficher selon ce qui arrive. Par exemple j'ai :
class home extends controller{
...
$login->user = $_POST['user'];
$login->password = $_POST['password'];
//Test les données saisie
if($login->check_user($login->user) && $login->check_password($login->password)){
//Cherche l'utilisateur dans la DB et le met en session si possible
if($login->login_user()){
$this->redirect('home','index');
}else{
$msg = _('#1 Utilisateur n\'est pas enregistré');
$_SESSION['error_message'][count($_SESSION['error_message'])]['warning'] = $msg;
$this->redirect('home','login');
}
}else{
$msg = _('#1 Les informations saisies ne sont pas valide');
$_SESSION['error_message'][count($_SESSION['error_message'])]['warning'] = $msg;
$this->redirect('home','login');
}
...
}
Mon tableau de message d'erreurs est bien transmis et tout, mais jamais la traduction s'applique. Je pense bien que je devrais faire passer mon fichier 'localisation.php',qui est dans mon dispatcher (index), d'une façon ou d'une autre, mais j'ai essayé et je n'arrive pas a trouvé une solution qui marche. (include dans le controller, ou dans la class, ou je ne sais pas trop)
Maintenant je suis parti dans cette direction, qui est peut-être totalement fausse.
Ce que je souhaite c'est pouvoir afficher des messages d'erreur selon la langue en court, mais je n'arrive pas à trouver une logique pour avancer sur ce problème. N'importe quelle solution peut m'intéresser ^^
En tous les cas je vous remercie d'avance pour votre aide !