Как я могу заставить мое веб-приложение понимать разницу между единственным и множественным числом? - PullRequest
2 голосов
/ 22 мая 2011

Когда пользователь на популярном веб-сайте получает ответ, ему (довольно неловко) говорят, что у него есть «1 ответ» (см. Иллюстрацию).

Я уверен, что должно быть легко определить, есть ли у них один ответ и убрать 's' из конца слова.

Ответы [ 2 ]

3 голосов
/ 22 мая 2011

Для английского языка это, как правило, не сложнее, чем:

if number == 1:
    print "1 response"
else:
    print "%s responses" % number

Для других разговорных языков это может быть довольно сложно, потому что не всегда нужно просто добавлять s.Техника остается той же, хотя.Вы должны добавить код для проверки номера и отображения правильной формы.

Часто я буду использовать совершенно другую формулировку для случая нуля («у вас нет ответов»), 1 («у вас есть только один»).ответ ") или 2+ (у вас есть N ответов).Очевидно, что в приведенном вами конкретном примере это неприменимо.

В приведенном вами конкретном примере можно утверждать, что реализация верна.Это вкладка «ответы» с маркером для номера.Это не английское предложение, а название вкладки.Таким образом, независимо от того, сколько существует ответов, это всегда будет вкладка «ответы».Это расщепляет прекрасные волосы, хотя, и я думаю, что если бы это был мой сайт, я бы, вероятно, изменил бы его на «1 ответ».

2 голосов
/ 22 мая 2011

Это зависит от языка / структуры, которую вы используете. Например, в Rails есть помощник pluralize, который дает:

pluralize(1, 'response') => "1 response"
pluralize(2, 'response') => "2 responses"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...