使用 CodeIgniter 动态设置语言


Dynamically set language with CodeIgniter

我想将默认应用程序语言设置为我的访问者国家语言。我有一个 API 来获取 IP 前缀习语,根据这些信息,我想设置语言。

最好的方法是什么?我想制作一个 cookie 来存储语言标识符,但我必须在哪里设置它?

谢谢。

你看过CodeIgniter的语言库吗?

语言类提供用于检索语言文件和文本行以实现国际化的函数。

在您的 CodeIgniter 系统文件夹中,您会找到一个名为包含语言文件集的语言。您可以根据需要创建自己的语言文件,以便以其他语言显示错误和其他消息。

语言

文件通常存储在系统/语言目录中。或者,您可以在应用程序文件夹中创建一个名为语言的文件夹,并将它们存储在那里。CodeIgniter 将首先在您的应用程序/语言目录中查找。如果该目录不存在或指定的语言不在那里,CI 将改为查找您的全局系统/语言文件夹。

在您的情况下...

  • 您需要在应用程序/语言/波兰语中创建polish_lang.phpenglish_lang.php
  • 然后在该文件中创建密钥(例如 $lang['hello'] = "Witaj" ;
  • 然后将其加载到控制器中,就像$this->lang->load('polish_lang', 'polish');
  • 然后像$this->lang->line('hello');一样获取该行 只需将此函数的返回值存储在变量中,以便您可以在视图中使用它。

对英语和您需要的所有其他语言重复这些步骤。