如何在CodeIgniter中的一个视图中使用多种语言?

时间:2013-03-26 20:26:23

标签: php codeigniter

E.g。我将加载像(顺便说一句。我认为只有这两个中的第一个,英语将加载其他忽略的语言):

$this->lang->load('module_messages', 'english');
$this->lang->load('module_messages', 'czech');

但我只能使用这样的东西:

echo $this->lang->line('language_key');

这不起作用:

echo $this->lang->line('language_key', 'english');

任何想法如何在同一视图中同时回显两种语言翻译,如:

echo $this->lang->line('language_key', 'english');
echo $this->lang->line('language_key', 'czech');

如何实现这样的目标?

1 个答案:

答案 0 :(得分:6)

不幸的是,目前没办法为一个语言文件加载密钥。加载多个文件并不典型。

然而,有一种解决方法,那就是使用这样的前缀:

$this->lang->load('en_module_messages', 'english');
$this->lang->load('cs_module_messages', 'czech');

echo $this->lang->line('en_language_key');
echo $this->lang->line('cs_language_key');

如果您将语言文件和密钥命名为相同,则会发生冲突。因此,我们在语言文件和行键中添加ISO语言前缀。这样两种语言保持分离,允许您同时使用它们。