我找到了如何国际化提交按钮的消息,例如:
echo CHtml::submitButton(Yii::t('tr','Print'),array('confirm'=>Yii::t('tr','Please confirm printing'),));
然后设置语言也可以很好地翻译系统消息 但是如何翻译提交确认弹出消息框的取消/确定按钮呢?
最佳答案
使用 CJuiDialog 的替代解决方案:
代码 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'); ?>
为提交按钮的
onclick
事件显示此对话框:echo CHtml::submitButton(Yii::t('tr','Print'),array('onclick'=>'$("#mydialog").dialog("open"); return false;'));
当然,此对话框看起来与默认的浏览器/js 确认对话框不同,但如果需要,可以使用它。正如 ors 在评论中已经提到的,默认的确认对话框无法更改,本地化的浏览器应该有本地化的消息。
在此示例中,我刚刚提交了一个 id 为 myform-id
的表单,但是可以在“确定”按钮的功能中完成任何操作。
关于javascript - Yii 提交按钮 i18n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11200224/