我是新来的。我想创建多语种网站。我创建了一个下拉列表
<?php echo Lang::get('Select Language'); ?>
<select id="language_dropdown" name="language_dropdown">
<option value="en">English</option>
<option value="de">German</option>
<option value="fr">French</option>
</select>jquery到cal控制器保存语言代码是:-
$(function() {
$('#language_dropdown').change(function() {
alert($(this).val());
var val = $(this).val();
$.ajax({
type: "POST",
url: "<?php echo Uri::base(false) ?>language",
data: { 'val' : val },
success: function(response){
location.reload();
},
error: function(response){
alert("There is some problem, please try again later");
}
});
});
});控制器以保存会话值:-
public function action_index()
{
$val = $_POST['val'];
Session::set('lang', $val);
}现在,我必须在每个模板文件中设置名为language.php的语言和加载语言文件。
Config::set('language', Session::get('lang'));
Lang::load('language');是否存在全局设置语言和加载语言文件的方法,从而无需在每个文件中写入以上两行。
发布于 2014-08-05 12:21:30
您可以在控制器中加载语言文件和配置设置。基本上,在调用任何其他函数之前都会加载一个在()之前的函数。您可以在这个函数中加载它,例如
public function before()
{
if(!Session::get('lang')){
Session::set('lang', 'en');
}
Config::set('language', Session::get('lang'));
Lang::load('lang');
}因此,您将在所有模板中获得语言文件和配置设置。
https://stackoverflow.com/questions/25031123
复制相似问题