【问题标题】:Multilanguage in CodeigniterCodeigniter 中的多语言
【发布时间】:2014-12-04 23:17:05
【问题描述】:

我使用框架 Codeigniter。 我写了一个库(类)用四种语言的数组单词翻译。

class Translate
{

public function __construct(){

        $this->CI =& get_instance();
        $this->CI->load->library("countrylang");
        $this->settings = $this->CI->countrylang->GetSettings();
        $this->words = array(

        'news feed' => array(20 => 'Leunta', 153 => 'Laita', 3 => 'News feed', 109 => 'Leuita'));

}
}

在控制器中我加载了这个库:

$this->data['lang'] = $this->load->library('translate');

在我可以访问来自view 的单词后,例如:

<?=$lang['news feed']?>

问题是在帮助文件中有一个词也必须翻译成选定的语言:

function Calendar($type = 'articles'){
      $number =  ($daysRepeat[$i] > 0) ? ' data-original-title = "'.count($daysRepeat[$i]).' записей"' : '';
}

所以在助手 Codeigniter 中有一个词必须在所选语言上替换并返回查看。

我该怎么做?

【问题讨论】:

  • 这一行:$this-&gt;data['lang'] = $this-&gt;load-&gt;library('translate'); 真的没有意义。加载器的库方法只返回 false 或 null

标签: php codeigniter


【解决方案1】:

如果您想从帮助文件访问模型、库等,只需像在其他任何地方一样创建对全局 CI 对象的引用:

function someHelperFunction() 
{
  $CI =& get_instance();
  $CI->load->library('somelibrary');
  $CI->somelibrary->doSomething();

  //  ....
}

【讨论】:

  • 是的,这是一个很好的解决方案。真的没有很好的替代方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
  • 2013-11-04
  • 2017-02-25
  • 1970-01-01
相关资源
最近更新 更多