Stackoverflow ユーザーの Casimir et Hippolyte は、 [[ 何か ]]のような文字列を$this->_()関数で返されるローカライズされた文字列に置き換える素晴らしい関数をくれました。
$that = $this;
$view = preg_replace_callback('~\[\[\K(?>[^]]++|](?!]))*~', function ($m) use ($that) {
return $that->__($m[0]); }, $view);
ブラケットを置き換えないことを除いて機能します。したがって、I18n ファイルに"Yes|Ja"を指定し、ビュー ファイルに[[ Yes ]]と記述した場合、[[ Ja ]]が表示されます。
グーグルで数時間試してみましたが、残念ながら何もありませんでした。何か案は?