You are here

“7 product(s) is currently unavailable”

Messages like "Sorry, 7 product(s) is currently unavailable in this page" make me cringe.

When small details like this are overlooked, I wonder what else might be broken on a web site.

Easily fixed in code

The following message is from Tesco's shopping list page.

As a programmer myself, I know that there's no good reason for these kinds of messages.

In PHP, it's a simple change to generate a message when you don't know how many things will be referred to. Here's my quick but dirty example.


$msg = "Sorry, $num product(s) is currently unavailable in this page";


$msg = "Sorry, $num product"
. ($num == 1 ? " is" : "s are")
. " currently unavailable on this page";


  • Sorry, 0 product are currently unavailable on this page
  • Sorry, 1 product is currently unavailable on this page
  • Sorry, 2 products are currently unavailable on this page
  • Sorry, 3 products ...

Variable messaging like a pro

The next screenshot is from a product page on Amazon. A selection of customer reviews are followed by a link to the reviews page, such as "See all 643 customer reviews".

But what happens when there is just one review? Will it say "See all 1 customer reviews"?

Let's find out in the next screenshot.

No, it doesn't. It displays wording specific to one review: "See the customer review"

And when there are two reviews? See the next screenshot.

It has text specific to the condition of two reviews: "See both customer reviews".


So close, yet so far

Amazon's approach is nice. However, I don't think it's 100% right.

In the examples above, the link to see the reviews is redundant because the reviews page doesn't show any extra information; the product page shows all the reviews in full.

Long reviews are truncated on product pages and are shown in full on the dedicated reviews page, However, they were shown in full in both these examples.

I would suppress the link when all the reviews have already been displayed in full.

What do you think? Am I being too fussy?

Leave a reply

Your e-mail address will not be published. Required fields are marked*