2015-05-11 5 views
0

У меня есть система управления контентом, которая использует флектор Take для вывода записей с плюрализацией, если обнаруживаю, что доступно более одного доступного.CakePHP Inflector на некоторых словах возвращает обменные буквы

if ($amt >= 2) 
$object_name = Inflector::pluralize($object_name); 

Это хорошо работает для любого объекта, если он не находится в «нерегулярном» списке Inflector.

http://inflector.cakephp.org/The%20Purple%20Cow возвращается «The Purple буксирует» http://inflector.cakephp.org/Purple%20Cow возвращает «Фиолетовые военнопленные» http://inflector.cakephp.org/The%20Purple%20Goose возвращает «Пурпурная Тиз» http://inflector.cakephp.org/Purple%20How возвращает «Фиолетовые Хау», как ожидается,

По какой-то причине это подставляя последний слово-х первая письмо с первая слово первая письмо, затем добавление S, как ожидалось.

ОБНОВЛЕНИЕ: Ошибка CakePHP, documented here. Будет исправлена ​​в 2.6.5. Вопрос был изменен, чтобы избежать путаницы.

+0

Похоже, что билет, который вы открыли, сразу же закрылся, потому что они считали, что это слишком большая проблема, основанная на использовании «Фиолетового», который не имеет ничего общего с ошибкой. –

+0

Думаю, он пронесся над моим вопросом, поэтому я дал ему более привлекательный пример. Что смешно, так это то, что я не могу понять, почему корова даже должна быть в списке, например «секс». «Секс» превращается в «Секса», что имеет смысл. –

ответ

0

Кажется, это ошибка, характерная для слова Корова в последней позиции. «Purple Hen» и «Purple Hen» отлично работают. «Cow Fence» отлично работает. Но «Большая корова» или «Большая корова» воспроизводят ошибку.

Я бы рекомендовал изучить вопрос о открытии авиабилета, используя их рекомендации here.

Вам понадобится search existing tickets, связанный с инфлектором, чтобы узнать, было ли это сообщено. Есть еще несколько проблем с инфлектором, но я ничего не нашел при поиске термина «корова».

+0

Это довольно интересно! Фактически, я тестировал больше, чем корову: «Фиолетовый гусь», и он все еще это сделал! Итак, я искал Коуу через lib cakephp, и получается, что и корова, и гусь - это специальные записи под «нерегулярными». Наверное, у меня была фермерская жизнь, когда я узнал, как цыплята производят яйца. Им не нужна сперма петуха, чтобы сделать съедобные яйца. –

+0

Странно, что корова находится в нерегулярном списке, где она просто показывает «корову» => «коров» в их коде. –