2016-03-29 19 views
0

ich hinzufügen Route wie unterCakePHP 3: Lokalisierung Routing

Router::connect('/:language/:controller/:action/*', 
         array(), 
         array('language' => '[a-z]{3}')); 

Ich habe zwei Sprache src/Locale/jp und onother ist src/Locale/fr

Nach Add Route Konfiguration habe ich versucht, unter URL

project/jp/tests/index 

Es ist gibt mir Fehler JpController nicht gefunden.

Wie kann ich Route für die Lokalisierung in cakephp konfigurieren 3.

Update:

In bevor Filter habe ich unten Code hinzugefügt, aber die Sprache nicht

ändert
if($this->request->params['language']=='jp'){ 
     Configure::write('Config.language','jp'); 
} 

Antwort

1

Haben Sie einen genauen Blick bei dem, was du passierst, , das sind zwei Zeichen, schau dir jetzt deine Regex an, sie benötigt genau {3} Zeichen - folglich stimmt die Route nicht überein.

Nebenbei sollte der Ordnername Locale, nicht local sein.

+0

Ich aktualisiere nur meine Frage, ich füge Configure :: write ('Config.language', 'jp'); in vor Filtermethode in App-Controller. Aber die Sprache ändert sich nicht. Aber wenn ich es in der bootstrap.php für Standard versucht, ändert es sich. –

+1

@AlimonKarim Das ist, weil Sie nicht CakePHP 2.x verwenden. Es gibt keine 'Config.language' mehr in 3.x. ** http: //book.cakephp.org/3.0/en/appendices/3-0-migration-guide.html#i18n**. Überprüfen Sie auch ** http: //book.cakephp.org/3.0/en/development/routing.html#creating-persistent-url-parameters**. – ndm

+0

Danke, ich habe es bekommen. Es wird I18n :: locale ('jp') sein; in CakePHP 3. –