2

我对 Codeigniter 和语言类感到困惑。我正在使用 Jerome Jaglale 开发的关于国际化的库。这个问题可能听起来很傻,但如果我有一个存储在语言文件中的多维数组,我如何在我的视图中加载特定的数组值?在我的控制器中说我有

class Statics extends CI_Controller {

 public function index($page = 'home')
 { 
  // load language file
  $this->lang->load($page);
  $this->load->view($page);
 }
}

然后在我的语言文件中

$lang = array(   
 'description'   => array(     
    'main'  => 'Convallis habitant ultrices torquent consectetur sagittis eget metus magna elit fermentum diam tortor ad viverra nec consectetur id ac aliquam hac lobortis malesuada elit, elementum mollis tempor aliquam per nulla ipsum. Molestie non elit nec ante leo nam hendrerit aenean mauris aenean iaculis fringilla.',
    'secondary'  => 'Convallis habitant ultrices torquent consectetur sagittis eget metus magna elit fermentum diam tortor ad viverra nec consectetur id ac aliquam hac lobortis malesuada elit, elementum mollis tempor aliquam per nulla ipsum. Molestie non elit nec ante leo nam hendrerit aenean mauris aenean iaculis fringilla.',
)

 );

我怎样才能回显“主要”?我试过以下无济于事。

<p><?php echo lang('description.main')?></p>

<!-- I know this is wrong but tried it anyway -->
<p><?php echo lang('home.description.main')?></p> 
<p><?php echo lang('lang.description.main')?></p> 

请注意,如果我有类似 $lang['description.main'] = 'text here...' 之类的内容,我的程序已经成功测试。对我来说,最好将我的所有数据放在一个多维数组中,类似于上面的数组。

谢谢你的帮助。

4

1 回答 1

2

很好的问题,但这可能会有所帮助:在您的 lang 文件中:

$lang['description']['main'] = 'Convallis habitant ultrices torquent consectetur sagittis eget metus magna elit fermentum diam tortor ad viverra nec consectetur id ac aliquam hac lobortis malesuada elit, elementum mollis tempor aliquam per nulla ipsum. Molestie non elit nec ante leo nam hendrerit aenean mauris aenean iaculis fringilla.';
$lang['description']['secondary'] = 'Convallis habitant ultrices torquent consectetur sagittis eget metus magna elit fermentum diam tortor ad viverra nec consectetur id ac aliquam hac lobortis malesuada elit, elementum mollis tempor aliquam per nulla ipsum. Molestie non elit nec ante leo nam hendrerit aenean mauris aenean iaculis fringilla.';

或者 :

$lang = array(   
   'description'   => array(     
      'main'  => 'Convallis habitant ultrices torquent consectetur sagittis eget metus magna elit fermentum diam tortor ad viverra nec consectetur id ac aliquam hac lobortis malesuada elit, elementum mollis tempor aliquam per nulla ipsum. Molestie non elit nec ante leo nam hendrerit aenean mauris aenean iaculis fringilla.',
      'secondary'  => 'Convallis habitant ultrices torquent consectetur sagittis eget metus magna elit fermentum diam tortor ad viverra nec consectetur id ac aliquam hac lobortis malesuada elit, elementum mollis tempor aliquam per nulla ipsum. Molestie non elit nec ante leo nam hendrerit aenean mauris aenean iaculis fringilla.',
   )  
);

并访问其中任何一个:

foreach ($this->lang->line('description') as $desc => $val)
{
    echo $desc . " : " . $val . "<br />";
}

但是下面的 for not 数组类型可以正常工作!

echo $this->lang->line('description')['main'];
于 2013-06-13T04:55:02.937 回答