Bonjour à tous!

J'ai bien suivi le tutoriel sur Grafikart qui m'a beaucoup aidé sur l'initialisation sur mon Cakephp de la gestion Multi-Langue.

Je me trouve face à quelques problèmes dont j'espère que vous m'aiderez à trouver les solutions.

En ce qui concerne le passage entre les deux langues, j'ai développé ça simplement en utilisant les Sessions, pas de routing /fre ou /eng, je n'en ai pas besoin.

----------------------------

Routing et i18n.

Dans mon fichier route.php, j'ai ajouté un connect pour la page contact.

Router::connect('/'.__('contactez-nous'), array('controller' => 'contacts', 'action' => 'index'));

Ensuite, j'ai les différentes traduction dans mes fichiers PO et les URL fonctionnent très bien. La où ça pose problème est la cas suivant :
Si dans ma session, la langue utilisé est "ENG" et que j'appel le lien /contactez-nous , je me retrouve face à une erreur " Missing Controller". Si j'appel le lien /contact-us , tout fonctionne.
Par contre, vis versa, si je me met en "FRE" et que j'appel /contact-us , je tombe sur l'erreur Missing Controller.

-----------------------------

Base de donnée et i18n

J'ai bien initialisé la table i18n et ajouter le behavior "Translate" aux tables qui ont besoin d'être traduites.
Tout fonctionne, par contre, j'aimerai savoir s'il est possible de faire un sorte de "fallback" si par exemple, je suis en "ENG" et que le système ne trouve pas de donnée pour le titre d'un Article, qu'il aille chercher le titre dans la table "posts" original.

Toujours dans la base de donnée, j'aimerai que lorsque "$this->Post->locale" est en anglais, qu'il ajoute les champs dans la table i18n normalement mais que par contre, il fasse un update de la table "posts" seulement si le $this->Post->locale est en Français, de façon à avoir toujours les données dans la table "posts" exclusivement en français.

Tous ça dans le but de créer un site où l'adminitrateur pourrais activer/desactiver la gestion multi-langue.

Voilà voilà, j'espère avoir été assez clair bien que ça soit pas évident à expliquer par écrit.
Merci d'avance pour votre aide.

Ilan

1 réponse


Ilan
Auteur

Je n'ai toujours pas trouvé de solution. Si quelqu'un pouvait m'aider... ;)