Yii submitButton i18n

时间:2012-06-26 02:58:25

标签: javascript internationalization yii

我发现了如何提交提交按钮的消息,如:

echo CHtml::submitButton(Yii::t('tr','Print'),array('confirm'=>Yii::t('tr','Please confirm printing'),));

然后设置语言也可以很好地翻译系统消息 但如何翻译提交确认弹出消息框的CANCEL / OK按钮?

1 个答案:

答案 0 :(得分:3)

使用CJuiDialog的替代解决方案:

  1. jqueryui dialog的代码(CJuiDialog是一个包含其他yii细节的包装器):

    <?php
        $this->beginWidget('zii.widgets.jui.CJuiDialog', array(
            'id'=>'mydialog',
            // additional javascript options for the dialog plugin
            'options'=>array(
                'title'=>Yii::t('tr', 'Title'),
                'autoOpen'=>false,
                'modal'=>true,
                'closeOnEscape'=>true,
                'closeText'=>Yii::t('tr', 'Cancel'),
                'resizable'=>false,
                'buttons'=>array(
                    Yii::t('tr', 'Ok')=>'js:function(){$("#myform-id").submit();$(this).dialog("close");}',
                    Yii::t('tr', 'Cancel')=>'js:function(){$(this).dialog("close");}'
                )
            ),
        ));
    
        echo Yii::t('tr','Please confirm printing');
    
        $this->endWidget('zii.widgets.jui.CJuiDialog');
    ?>
    
  2. 为提交按钮的onclick事件显示此对话框:

    echo CHtml::submitButton(Yii::t('tr','Print'),array('onclick'=>'$("#mydialog").dialog("open"); return false;'));
    
  3. 当然,此对话框看起来不像默认的浏览器/ js确认对话框,但如果需要可以使用它。正如评论中已经提到的那样,无法更改默认确认对话框,本地化浏览器应该有本地化消息。

    在此示例中,我刚刚提交了一个标识为myform-id的表单,但是可以在ok按钮的功能中完成任何操作。