#user-interface #web-applications #user-experience #plural
#пользовательский интерфейс #веб-приложения #множественное
Вопрос:
Когда пользователь на популярном веб-сайте получает ответ, ему (довольно неловко) сообщают, что у него «1 ответ» (см. иллюстрацию).
Я уверен, что должно быть легко определить, есть ли у них один ответ, и убрать ‘s’ с конца слова.
Комментарии:
1. @Johnsyweb Вы всегда можете проверить наличие числа, если число больше 1, тогда используйте множественное число, иначе используйте единственное число.
2. @Johnsyweb В таком случае, возможно, вы со мной не согласитесь. Я бы просто отобразил
responses
, чтобы отобразить предыдущий ответ (ы).3. Я хотел бы добавить 1000 к этому вопросу. Использование слова во множественном числе после цифры 1 является дилетантской ошибкой. Еще хуже мерзость «1 ответ (ы)».
4. @Spectre: собственно вопрос в названии: «Как я могу заставить свое веб-приложение понимать разницу между единственным и множественным числом»
5. Самое простое, что можно сделать, это найти себе гигантскую букву S . Затем сообщите своим пользователям, что вы чувствуете .
Ответ №1:
Для английского языка это обычно не сложнее, чем:
if number == 1:
print "1 response"
else:
print "%s responses" % number
Для других разговорных языков это может быть довольно сложно, потому что не всегда нужно просто добавлять s. Однако методика остается той же. Вы должны добавить код, чтобы проверить число и отобразить правильную форму.
Часто я использую совершенно другую формулировку для случая нуля («у вас нет ответов»), 1 («у вас есть только один ответ») или 2 (у вас N ответов). Очевидно, что в конкретном примере, который вы приводите, это неприменимо.
Однако в конкретном примере, который вы приводите, можно утверждать, что реализация правильная. Это вкладка «ответы» с маркером для числа. Это не английское предложение, а скорее название вкладки. Итак, независимо от того, сколько ответов есть, это всегда будет вкладка «ответы». Хотя это слишком сложно, и я думаю, что если бы это был мой веб-сайт, я бы, вероятно, изменил его на «1 ответ».
Ответ №2:
Это зависит от используемого вами языка / фреймворка. Например, в Rails есть pluralize
помощник, который дает:
pluralize(1, 'response') => "1 response"
pluralize(2, 'response') => "2 responses"
Комментарии:
1. Для PHP есть нечто подобное: kuwamoto.org/2007/12/17 /…