我想知道CI最佳实践
我需要一些代码来检测浏览器的语言并分配相应的语言文件。
此类代码是否属于库或帮助程序? (如果我是正确的帮助者是PHP函数而不是类的库)
也是启动类的最佳方式,而不是仅加载它。
谢谢。答案 0 :(得分:3)
您可以通过以下方式从浏览器获取语言信息:
$this->input->server('HTTP_ACCEPT_LANGUAGE');
Mine返回en-US,en;q=0.8
,因此您需要进行一些解析,将其转换为对您有用的内容。
但是,您可以设置CI用于加载语言文件的语言
$config['language'] = 'english';
其中'英语'是application/languages
文件夹中包含语言文件的文件夹的名称。
您可以在代码运行之前的任何地方执行这些操作。我建议在{2.0}中创建application/libraries/MY_Lang.php
(application / core / MY_Lang.php)并将其放入构造函数中,然后在使用语言文件之前将其始终加载。
最后应阅读this。但基本上你从语言文件中检索一行:
$this->lang->line('language_key');
答案 1 :(得分:2)
PHP有一个名为get_browser的函数来检测用户的浏览器。我认为最佳做法是:
无论如何,在谷歌上我发现了几个片段:
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
从这里开始,在StackOverflow上:Checking browser's language by php