我找到了如何像这样提交按钮的消息:

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


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

最佳答案

使用CJuiDialog的替代解决方案:


jqueryui dialog的代码(CJuiDialog是一个包装器,其中包含一些其他的iii细节):

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

使该对话框显示为“提交”按钮的onclick事件:

echo CHtml::submitButton(Yii::t('tr','Print'),array('onclick'=>'$("#mydialog").dialog("open"); return false;'));



当然,该对话框看起来不会像默认的浏览器/ js确认对话框一样,但是可以根据需要使用。正如ors在评论中已经提到的那样,默认的确认对话框无法更改,并且本地化的浏览器应该具有本地化的消息。

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

10-06 00:07