我想在cakePHP运行时更改语言...
我在appController中试过这个
public function c(){
Configure::write('Config.language', 'de');
I18n::locale('de_DE');
$this->Session->write('Config.language', 'de_DE');
$this->Session->write('Config.language', 'de');
$this->redirect($this->here);
}
以上都没有改变我的语言......
默认我有
'defaultLocale' => env('APP_DEFAULT_LOCALE', 'en_EN')
所以我试着打电话给http://www.example.com/app/c但它不起作用
答案 0 :(得分:1)
use Cake\I18n\I18n;
I18n::locale('de_DE');
这实际上应该改变cookbook中所述的语言环境
但我在你的方法中看到你有一个重定向。您意识到您的方法更改了acual请求的语言?
如果您重定向,则再次设置app.php的默认语言环境。
如果您动态想要设置语言环境,则必须设置在每个请求中调用的地方,例如bootstrap.php或AppController beforeFilter方法。在那里你可以实现一个逻辑,根据例如,设置语言环境。网址等。