2016-03-29 21 views
0

私は、私は2つの言語src/Locale/jpを持っているとonotherがあるcakephpの3:ローカライズルーティング

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

下のようにルートを追加し、私はそれだURL

project/jp/tests/index 

の下にしようとした追加のルート設定後src/Locale/fr

私にエラーJpControllerが見つかりません。私はコードの下に追加しましたが、言語が近い外観を持って

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

答えて

1

を変更していない

フィルタの前に:どのように私は、CakePHPに局在化のためのルートを設定することができます。3.

更新

あなたが渡しているところで、jp、それは2つの文字です、あなたの正規表現を見て、それはちょうど{3}文字を必要とする - その結果、ルートは一致しません。

なお、フォルダ名は、ではなく、Localeである必要があります。

+0

私はちょうど私の質問を更新し、私はConfigure :: write( 'Config.language'、 'jp');を追加します。アプリケーションコントローラのフィルタ前のメソッドしかし、言語は変化していません。 しかし、私がbootstrap.phpをデフォルトで試してみると、それは変化しています。 –

+1

@AlimonKarimそれはあなたがCakePHP 2.xを使用していないからです。 3.xには 'Config.language'はありません。 ** http://book.cakephp.org/3.0/ja/appendices/3-0-migration-guide.html#i18n**。 ** http://book.cakephp.org/3.0/ja/development/routing.html#creating-persistent-url-parameters**もチェックしてください。 – ndm

+0

ありがとうございました。 I18n :: locale( 'jp')になります。ケーキで3。 –