javascript - Yii 提交按钮 i18n

标签 javascript internationalization yii

我找到了如何国际化提交按钮的消息,例如:

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

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

最佳答案

使用 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;'));
    

当然,此对话框看起来与默认的浏览器/js 确认对话框不同,但如果需要,可以使用它。正如 ors 在评论中已经提到的,默认的确认对话框无法更改,本地化的浏览器应该有本地化的消息。

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

关于javascript - Yii 提交按钮 i18n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11200224/

相关文章:

javascript - 隐藏/显示 V 数据表中的多列

javascript - jQuery 选择器作为属性存储在命名空间中

java - JAVA中的特殊字符

cakephp - 使用 CakePHP + TwigView + i18n 进行翻译

Django 模板 : Best practice for translating text block with HTML in it

php - CDbConnection 和大括号

postgresql - 没有可用的缓冲空间

javascript - 动画化这个标志

mysql - 优化 MySQL 查询的运行时间

Javascript:是否有 CSS 转换开始事件?