2013-03-26 71 views
5

例如我将加载的语言,如(顺便说一句,我认为只有前两个的,英语将被加载其他忽略不计。):如何在CodeIgniter的一个视图中使用多种语言?

$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'); 

如何实现这样的事情?

回答

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语言前缀。因此,两种语言都保持分离,这样您就可以同时使用它们。

+0

好的,谢谢。我可能需要坚持这个解决方案。 – Derfder 2013-03-27 07:44:57