Все представления, созданные выпечкой торта, которые вызывают 'format' => __(), возвращают следующую ошибку:
vsprintf(): Too few arguments [CORE/Cake/basics.php, line 565]
Я посмотрел basics.php, строка 565. Это часть функции __(). В документации по коду указано, что целью этой функции является «возврат переведенной строки, если она найдена; в противном случае — отправленное сообщение».
Речь идет о строке:
return vsprintf($translated, $args);
Я посмотрел vsprintf в документах php. vsprintf принимает 2 аргумента. Первый — это формат, а следующий — массив значений. ' Вызов функции в представлении:
'format' => __('Some Text',true);
Я отладил $translated и $args.
Я получаю $translated = 'Some Text'
и $args = array((int)0=>true)
.
Из того, что я вижу, cakephp передает правильное количество аргументов vsprintf.
Как исправить эту ошибку, или это баг?
Что я пробовал, что приводит к исчезновению ошибки: измените вызов функции на 'format' => __('Some Text')
- опустив true. Что приводит к тому, что функция просто возвращает $translated, пропуская вызов vsprintf()
.