Perform a language translation with singular and plural versions

Example

$items = array(...);
$qty = count($items);
echo _n('Found one item', 'Found multiple items', $qty);
echo sprintf(_n('Found one item', 'Found %d items', $qty), $qty);

Usage

// basic usage
$string = _n(string $textSingular, string $textPlural, int $count);

// usage with all arguments
$string = _n(string $textSingular, string $textPlural, int $count, string $textdomain = null);

Arguments

NameType(s)Description
textSingularstring

Singular version of text (when there is 1 item)

textPluralstring

Plural version of text (when there are multiple items or 0 items)

countint

Quantity of items, should be 0 or more.

textdomain (optional)string

Textdomain for the text, may be class name, filename, or something made up by you. If omitted, a debug backtrace will attempt to determine automatically.

Return value

string

Translated text or original text if translation not available.

See Also


Functions methods and properties

API reference based on ProcessWire core version 3.0.155

Twitter updates

  • This post covers a few of the bigger updates in ProcessWire 3.0.154+3.0.155. This includes new live replacement of text in core and modules, a new method for creating canonical URLs, and some major upgrades to our input->urlSegment() method! More
    24 April 2020
  • A brief look at what's new in ProcessWire 3.0.154 in this forum post: More
    17 April 2020
  • This week we’ve got a few new and interesting core updates in progress, though none quite ready to release just yet. So rather than releasing version 3.0.154 today, I thought we'd instead take a brief look at what’s coming over the next few weeks… More
    3 April 2020

Latest news

  • ProcessWire Weekly #310
    The 310th issue of ProcessWire Weekly is going to be short and sweet: in this issue we'll walk you through the latest core updates, introduce a third party module called Twack, and check out a really gorgeous new site of the week. Read on!
    Weekly.pw / 18 April 2020
  • ProcessWire updates and additions in progress
    This week we’ve got a few new and interesting core updates in progress, though none quite ready to release just yet. So rather than releasing version 3.0.154 today, I thought we'd instead take a brief look at what’s coming over the next few weeks. This post covers all the details.
    Blog / 3 April 2020
  • Subscribe to weekly ProcessWire news

“The end client and designer love the ease at which they can update the website. Training beyond how to log in wasn’t even necessary since ProcessWire’s default interface is straightforward.” —Jonathan Lahijani