次のような送信ボタンのメッセージを国際化する方法を見つけました。
echo CHtml::submitButton(Yii::t('tr','Print'),array('confirm'=>Yii::t('tr','Please confirm printing'),));
次に、言語を設定するとシステムメッセージもうまく翻訳されますが、送信確認ポップアップメッセージボックスのキャンセル/OKボタンを翻訳するにはどうすればよいですか?
次のような送信ボタンのメッセージを国際化する方法を見つけました。
echo CHtml::submitButton(Yii::t('tr','Print'),array('confirm'=>Yii::t('tr','Please confirm printing'),));
次に、言語を設定するとシステムメッセージもうまく翻訳されますが、送信確認ポップアップメッセージボックスのキャンセル/OKボタンを翻訳するにはどうすればよいですか?
CJuiDialogを使用した代替ソリューション:
jqueryui ダイアログのコード(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 がコメントで既に述べたように、デフォルトの確認ダイアログは変更できず、ローカライズされたブラウザにはローカライズされたメッセージが必要です。
このサンプルでは、フォームを idmyform-id
で送信しましたが、OK ボタンの機能で何でもできます。