2012-03-28 40 views
2

我有一个CakePHP __()函数的问题。CakePHP语言翻译不打印值

请参阅下面的代码:

$options = array('1'=>__('SMS | Email'),'2'=>__('Favourite Them')); 
echo $form->input('action', array('options' => $options,'empty'=>__('Please select'),'div'=>false,'label'=>false,'class'=>'Srch_fld_comb')); 

这将不打印任何值,只是我可以看到空值。

但下面的工作完美:

$options = array('1'=>'SMS | Email','2'=>'Favourite Them'); 
echo $form->input('action', array('options' => $options,'empty'=>'Please select','div'=>false,'label'=>false,'class'=>'Srch_fld_comb')); 

请告诉我。我正在使用CAKEPHP 1.3.X

+0

请注意,这将是罚款与CakePHP的2.x的对于CakePHP 1.3,请参阅Duke的答案。 – nIcO 2012-03-28 10:27:24

+0

@nlcO感谢您的信息 – user1297865 2012-03-28 10:31:27

回答

2

问题不在于__()函数,您忘记在代码中添加false/true参数。

默认情况下,它将是假的,它和普通回声一样工作。但是,如果你在另一个字符串中使用它,它必须是真的,所以它只是返回值。

请参见下面的例子:

$options = array('1'=>__('SMS | Email',true),'2'=>__('Favourite Them',true)); 
echo $form->input('action', array('options' => $options, 'empty'=>__('Please select',true),'div'=>false,'label'=>false,'class'=>'Srch_fld_comb'));