2

当流行网站上的用户收到回复时,他们(相当尴尬地)被告知他们有“1 个回复”(参见插图)。

我确信很容易确定他们是否有一个响应并从单词的末尾去掉“s”。

4

2 回答 2

3

对于英语来说,它通常不会比以下更难:

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

对于其他口语,这可能相当困难,因为它并不总是仅仅附加一个 s 的问题。不过,该技术保持不变。您必须添加代码以检查号码并显示正确的表格。

对于零(“你没有回应”)、1(“你只有一个回应”)或 2+(你有 N 个回应)的情况,我通常会使用完全不同的措辞。显然,在您给出的具体示例中并不适用。

但是,在您给出的具体示例中,人们可能会争辩说实现是正确的。它是带有数字标记的“响应”选项卡。这不是一个英文句子,而是一个选项卡的名称。因此,无论有多少响应,它始终是“响应”选项卡。不过,这有点令人毛骨悚然,我想如果这是我的网站,我可能会将其更改为“1 个响应”。

于 2011-05-22T14:26:10.720 回答
2

这取决于您使用的语言/框架。例如,在 Rails 中有一个pluralize助手,它给出:

pluralize(1, 'response') => "1 response"
pluralize(2, 'response') => "2 responses"
于 2011-05-22T12:27:20.073 回答