我在 Codeigniter 框架中构建了一个应用程序。它具有多语言的功能。它可以正常工作以转换每一行。但是对于从控制器设置的警报消息,我尝试使用语言键但未能以多语言显示消息。
这是消息中的控制器代码已设置为在视图中显示:-
控制器设置消息的功能:
function serial_coupon()
{
$admin_session_data= $this->session->userdata('user_logged_in');
$key=$this->input->post('serial');
$res=explode("000",$key);
$key=$res[1];
$result['coupon']=$this->provider_model->get_coupon($key);
if(empty($result['coupon']))
{
$msg=$this->lang->line('language_srch_msg');
$this -> session -> set_flashdata('message',$msg);//if no search found than set the message.
redirect('/provider/');//provider is controller
}
else
{
$this->load->view('header',$admin_session_data);
$this->load->view('show_coupon',$result);
$this->load->view('footer',$admin_session_data);
}
}
因此,提供者控制器的索引函数在视图上发送消息:-
function index()
{
$msg=$this->session->flashdata('message');//get the message
$result['msg']=$msg;and set to the array to send in view
$result['rows']=$this->session->userdata('provider_detail');
$user_id=$result['rows'][0]['id'];
$result['coupons']=$this->provider_model->show_coupons($user_id);
$this->load->view('header');
$this->load->view('provider_interface',$result);
$this->load->view('footer');
}
所以消息应该显示在视图中:
<p><?php echo $msg; ?></p>
以及我使用语言键的其他行,例如:对于名称:
<?php echo $this->lang->line('language_name');?>
Now please Let me know how can i use the above language key for message in controller??
提前致谢,如有任何疑问,请随时提问。
简短描述:问题不在于显示 falshdata 消息。我希望消息应该是用户选择的特定语言。我的应用程序采用多语言,用户可以从下拉框中选择语言。以及整个转换为所选语言的内容。但是警报消息来自控制器,那么我如何将它们转换为所选语言?
我更改了函数 search_coupon 中的代码,但它仅适用于英语而不适用于葡萄牙语。这是我的提供程序控制器的构造函数代码:
public function __construct()
{
parent::__construct();
$this->load->helper('url');
$this->load->helper('form');
$this->load->library('session');
$this->load->model('provider_model');
$lng=$this->session->userdata('about_language');
if($lng=='' )
{
$this->load->language('language','english');
}
else
{
$this->load->language('language',$lng);
}
if($this->session->userdata('provider')=="")
{
redirect('/login/', 'refresh');
}
}
选择使用ajax的语言的代码:
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery('#port').click(function(){
var dummy = 2;
$.ajax({
type: "POST",
url: "<?php echo BASE_PATH; ?>/session/sessions",
data: "&ID="+dummy+ "&lang="+'portuguese',
success: function(response)
{
if (response == false)
{
location.reload();
}
}
});
});
jQuery('#eng').click(function(){
var dummy = 1;
$.ajax({
type: "POST",
url: "<?php echo BASE_PATH; ?>/session/sessions",
data: "&ID="+dummy+ "&lang="+'english',
success: function(response)
{
if (response == false)
{
location.reload();
}
}
});
});
});
</script>
这是会话控制器:
function sessions(){
$value= $this->input->post('ID');
$lang= $this->input->post('lang');
$lang=$this->session->set_userdata('about_language',$lang);
return $lang;
}