Moh*_*aji 2 multilingual codeigniter-2
更清楚的是,默认语言中的这些行都general_lang.php不起作用:
$lang['general_welcome_message'] = 'Welcome, %s ( %s )';
Run Code Online (Sandbox Code Playgroud)
要么
$lang['general_welcome_message'] = 'Welcome, %1 ( %2 )';
Run Code Online (Sandbox Code Playgroud)
我希望输出像Welcome, FirstName ( user_name ).
我在/sf/answers/768156791/上跟踪了第二个(未接受的)答案.
我在视图中编写的代码是:
<div id="welcome-box">
<?php echo lang('general_welcome_message',
$this->session->userdata('user_firstname'),
$this->session->userdata('username')
);
?>
</div>
Run Code Online (Sandbox Code Playgroud)
我使用codeigniter 2.
Luc*_*Luc 12
你需要使用php的sprintf函数(http://php.net/manual/en/function.sprintf.php)
来自http://ellislab.com/forums/viewthread/145634/#749634的示例:
//in english
$lang['unread_messages'] = "You have %1$s unread messages, %2$s";
//in another language
$lang['unread_messages'] = "Hi %2$s, You have %1$s unread messages";
$message = sprintf($this->lang->line(‘unread_messages’), $number, $name);
Run Code Online (Sandbox Code Playgroud)