我正在做一个基于codeigniter的项目。我可以通过
设置语言$this->lang->load('file', 'french');
$this->lang->load('file', 'german');
现在我的问题是如何检测要加载的语言文件?例如,如果我在检测ip或浏览器后加载语言,如果来自英国的用户去法国并从咖啡馆打开网站,那么他将看到法语网站..
我怎样才能做到这一点?有人知道吗?
$_SERVER['HTTP_ACCEPT_LANGUAGE']
是语言(例如en或fr)
用户将选择他想在本网站看到的语言。他将从下拉菜单或其他地方选择它,然后你将存储相同的cookie/会话,因此可以显示所选的语言文件。
在企业网络等特殊情况下,使用ips也有一点不方便。
Codeigniter在会话数组开始时保存默认语言的文件。解决方法是用新的语言文件重新加载这个数组。
我做了一个小的包,可以很容易地实现这个解决方案https://github.com/oleurud/Codeigniter_Multi-language_Package