Ok, so habe ich jetzt Lokalisierung arbeiten auf Basis von URL (http://stackoverflow.com/questions/4550670/cakephp-choosing-language-by-url
), aber wie eine Verknüpfung zu erstellen, die die Sprache ändern? Ich habe versucht,cakephp Wahl Sprache url - Teil 2
<?php echo $html->link('English', array('language'=>'eng')); ?>
aber alle es tut, ist, dass es language:eng
am Ende der URL hinzufügt (www.example.com/blah/blah/language:eng
statt www.example.com/eng/blah/blah
) und schaltet nicht die Sprache überhaupt.
Die Routen sehen nun wie folgt aus:
Router::connect('/registered/:language/:controller',
array('prefix' => 'registered', 'registered' => true, 'layout'=> 'registered'),
array('language' => '[a-z]{3}'));
Router::connect('/registered/:language/:controller/:action/*',
array('prefix' => 'registered', 'registered' => true, 'layout'=> 'registered'),
array('language' => '[a-z]{3}'));
ich auch die URL-Methode in app_helper außer Kraft gesetzt haben:
function url($url = null, $full = false) {
if(!isset($url['language']) && isset($this->params['language'])) {
$url['language'] = $this->params['language'];
}
return parent::url($url, $full);
}
Wie Sie den Link, um den Weg zur Arbeit es sein sollte? Dank
gut, wenn ich die Sprache param von Router-URL zu entfernen, werden die URLs nicht so funktionieren, ich will. Ich ziemlich viel brauchen sie wie www.example.com/eng/blah/blah zu suchen, anstatt www.example.com/blah/blah/language:eng – Elwhis