我想将默认应用程序语言设置为我的访客国家语言。我有一个API来获得IP前缀成语,并基于这些信息,我想设置语言。使用CodeIgniter动态设置语言
这样做的最好方法是什么?我想创建一个cookie来存储语言标识符,但我必须在哪里设置?
谢谢。
我想将默认应用程序语言设置为我的访客国家语言。我有一个API来获得IP前缀成语,并基于这些信息,我想设置语言。使用CodeIgniter动态设置语言
这样做的最好方法是什么?我想创建一个cookie来存储语言标识符,但我必须在哪里设置?
谢谢。
你见过CodeIgniter's Language library?
语言类提供了检索语言文件和文本行以实现国际化目的的功能。
在你的CodeIgniter系统文件夹中,你会发现一个叫做language的语言文件集。您可以根据需要创建自己的语言文件,以显示其他语言的错误和其他消息。
语言文件通常存储在您的系统/语言目录中。或者,您可以在应用程序文件夹内创建一个名为language的文件夹并将它们存储在那里。 CodeIgniter将首先在您的应用程序/语言目录中查看。如果该目录不存在或者指定的语言不在那里,CI将会在您的全局系统/语言文件夹中查找。
在你的情况......
polish_lang.php
和english_lang.php
内部应用程序/语言/抛光$lang['hello'] = "Witaj"
;$this->lang->load('polish_lang', 'polish');
$this->lang->line('hello');
那样获取这行就把这个函数的返回值存储在一个变量中,这样你就可以使用它在你看来。对英语和您需要的所有其他语言重复上述步骤。
我已经这样做了。我可以阅读视图/控制器中的语言键。问题是:如何动态地做到这一点? – 2012-08-13 15:56:56
ok看到这个网址: - http://codeigniter.com/forums/viewthread/64118/#315142 – 2012-08-13 16:00:09
并参见: - http://stackoverflow.com/questions/2018755/loading-multiple-language-files-in -codeigniter – 2012-08-13 16:03:10
您可以使用Javascript阅读浏览器的语言,并使用Ajax调用您自己的函数来设置语言(不使用cookie)。 – 2012-08-13 15:36:10
我不认为这是一个好主意,基于IP设置。他们可能正在使用代理服务器,以及如果他们不会说母语?另外,一个国家可能有多种通用语言。例如加拿大。你选择哪种语言? – conor 2012-08-13 15:39:31
我同意@conor,我会用'$ _SERVER [“HTTP_ACCEPT_LANGUAGE”]'来使用浏览器的语言。不是100%可靠,但比IP地址更好。 – jeroen 2012-08-13 15:44:53