使用CodeIgniter在页面访问时设置语言cookie

时间:2011-12-26 18:27:43

标签: codeigniter cookies internationalization

我想在用户访问网页时设置Cookie,不仅是主页,还有通过Google查找网站的人。

在每个页面上我需要检查用户是否使用他的语言设置了cookie。 如果没有我设置的cookie,如果有的话,请不要做任何事情。

我可以创建一个可以在每个页面加载的功能吗?如果是这样,怎么样?

我正在使用带有i18n 2.1的codeIgniter框架来实现多语言。

我还有第二个问题: 我正在使用i18n用于多语言。我已将nl设置为数组中的第一种语言:

private $languages = array(
    'nl' => 'dutch',
    'en' => 'english',
    'de' => 'german',
    'fr' => 'french'        
);

但每次访问我的基本网址时,en,english都会被加载。我错过了什么吗?

编辑:我似乎无法加载正确的语言。 cookie设置为荷兰语,但当我转到基本网址并检查加载了哪些cookie时,它会忽略cookie并加载英文主页。

1 个答案:

答案 0 :(得分:2)

关于你的第一个问题:

要创建一个在每个页面上运行的函数,您需要扩展基本Controller类。这里有很好的指示:

http://codeigniter.com/wiki/MY_Controller_-_how_to_extend_the_CI_Controller

你将创建一个名为MY_controller.php的文件,并将其放入/ application / core /.

然后在扩展的构造函数方法中,您可以调用将在每个页面上运行的函数。

我不确定你的第二个问题。我一直只是单独构建语言系统,让用户选择他们的语言。