2010-12-01 24 views
0

je dois lancer une application web en espagnol pour le moment et je dois traduire l'application ...comment utiliser i18n pour une langue CakePHP

je l'ai déjà modifié le default.po et configure ajouté :: write ('Config.language', 'es') au core.php ...

maintenant? Je ne veux pas ajouter le droit de routage maintenant. Aucune suggestion?

PD: fait tout comme il est dans le manuel et @ # $% ^% & $ @@ Je ne peux pas l'obtenir pour travailler

+0

Routing n'a rien directement à faire avec i18n, ignorez-le. Quel est le problème auquel vous faites face qui n'a pas été couvert par [votre autre question] (http://stackoverflow.com/questions/4318204/how-to-use-i18n-for-one-language-cakephp)? – deceze

Répondre

0

i18n est une question délicate à obtenir autour de votre tête. Si vous produisez un site Web qui sera juste en espagnol, il n'y a pas besoin de l'utiliser, mais j'utiliser des messages po comme une évidence, juste au cas où.

Il est un composant qui vous aidera beaucoup: http://bakery.cakephp.org/articles/p0windah/2007/09/12/p28n-the-top-to-bottom-persistent-internationalization-tutorial

Il a également utilisé comme un script qui permettrait la traduction de limaces de sorte que SEO voulez-vous diriger vers la bonne langue. La dernière fois que j'ai regardé, il avait disparu, mais je vais essayer de le reconstituer pour vous.

Pour le moment, c'est ce que j'ai utilisé dans router.php

//route to switch locale 
Router::connect('/lang/*', array('controller' => 'p28n', 'action' => 'change')); 

//forgiving routes that allow users to change the lang of any page 
Router::connect('/eng?/*', array(
    'controller' => "p28n", 
    'action' => "shuntRequest", 
    'lang' => 'en-gb' 
)); 

Router::connect('/ca?/*', array(
    'controller' => "p28n", 
    'action' => "shuntRequest", 
    'lang' => 'cat' 
)); 

Router::connect('/es?/*', array(
    'controller' => "p28n", 
    'action' => "shuntRequest", 
    'lang' => 'es_es' 
)); 

Je vais creuser pour trouver la traduction url, mais il peut prendre un certain temps ....