私の問題は、日付を英語からロシア語に翻訳できないことです。私はこのガイドに従いました:
私は AppController.php にこのコードを書きました:
function beforeFilter() {
parent::beforeFilter();
setlocale(LC_ALL, "ru_RU.utf8");
Configure::write('Config.language', 'rus');
CakeSession::write('Config.language', 'rus');
}
「Locale\rus\LC_MESSAGES」フォルダーを追加し、default.po ファイル内に配置します。ところで、すべてのメッセージを単一のファイルに抽出しました。
しかし実際には:
<?php echo $this->Time->timeAgoInWords($feedback['Feedback']['created']); ?>
何もしませんでした。
<?php echo __d('default', $this->Time->timeAgoInWords($feedback['Feedback']['created']), true); ?>
文字列 'just now' のみをロシア語に翻訳しますが、他の時間形式は英語のままです。default.po からの翻訳の例を以下に示します。
成功
#: Lib\Cake\Utility\CakeTime.php:842
#: Utility\CakeTime.php:842
msgid "just now"
msgstr "translate"
不合格
#: Lib\Cake\Utility\CakeTime.php:829
#: Utility\CakeTime.php:829
msgid "%d week"
msgid_plural "%d weeks"
msgstr[0] "%d translate"
msgstr[1] "%d translate"
私が間違っていることを理解できません。