完成代码
使用印地语和英语的链接在网站中更改语言,也可以添加任何其他语言
<div class="navbar-brand pull-right" style='padding: 15px 0px;'>
<button class="btn btn-default dropdown-toggle pull-right" data-toggle="dropdown">
</button>
<ul class="dropdown-menu">
<li>
<?php
echo $this->Html->link("Hindi", array("controller" => "App", "action" => "changeLanguage",'hi'));
?>
</li>
<li class="divider"></li>
<li>
<?php
echo $this->Html->link("English", array("controller" => "App", "action" => "changeLanguage",'en'));
?>
</li>
</ul>
</div>
在 App Controller 中的初始化方法中添加以下代码
$language = $this->Cookie->read('website_language');
if (isset($language)) {
I18n::locale($language);
} else {
I18n::locale('en_US');
}
添加了一个新方法进行更改
public function changeLanguage($lang) {
if (!empty($lang)) {
if ($lang == 'hi') {
//$this->request->session()->write('website_language', 'hi_IN');
$this->Cookie->write('website_language', 'hi_IN');
} else if ($lang == 'en') {
//$this->request->session()->write('website_language', 'en_US');
$this->Cookie->write('website_language', 'en_US');
}
//in order to redirect the user to the page from which it was called
$this->redirect($this->referer());
}
}
创建文件夹和文件
/src
/Locale
/en_US
default.po
/hi_IN
default.po
default.po
希望对您有所帮助。
如果人们不知道问题的答案,那么至少不要记下这个问题:)