As the title says: How would you translate...

  • _n()
  • _n_noop()
  • _nc()
  • _nx()
  • _nx_noop()

...in your .mo files?

2 Answers 2


Step 1

Open your file in PoEdit.

Step 2

Go to "Catalogue" » "Settings"

Step 3

Fill in "Language" and "Country" 1).

Step 4

Fill "Pluralform" (last field).

// For 2 plural forms
nplurals=2; plural=n != 1;

// For 3 plural forms (for e.g. russian), use:
nplurals=3; plural=(n%10==1 && n%100!=11) ? 0 : ((n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20)) ? 1 : 2);

// For 4 plural forms (for e.g. slovenian), use:
nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;

Step 4

Go to the 3rd tab "Keywords".

Add the following list. 2) Of course you have to extend to 1,2,3 for languages with three different plural forms and so on.



  • This article from Mark Jaquith may be interesting.
  • Heiko Rabe explains where very well how to work with translation files (german language). He also offers an interesting PDF.


This Plugin by (again) Heiko Rabe does a pretty good job with helping translating your plugin.


1) For e.g. UK & U.S.A. have different forms of "colour/color"

2) Every row goes in a single (new) entry.

  • 1
    _nc is deprecated in WP, it's the same as _n Nov 9, 2011 at 15:10
  • 1
    "For e.g. UK & U.S.A. have different forms of "colour/color"" - And many many more. Americans like to spell many words with Z rather than S ;) Hence why the en_GB and en_US locals.
    – Scott
    Nov 9, 2011 at 15:16
  • @OneTrickPony Saw _c depreacated and other stuff, but oversaw that one. Thanks.
    – kaiser
    Nov 9, 2011 at 15:17
  • 1
    "Of course you have to extend to 1,2,3 for languages with three different plural forms and so on." This is not true at all, gettext API remains the same regardless of the translation's language. Read the docs. Jul 21, 2015 at 12:12

You just need to define the plural form of the language your translating in your PO file (which gets compiled to MO).

For example English has two forms, so your PO file should have two "msgstr" definitions for each string with msgid_plural.

If you're using PoEdit it's easier, just paste the plural form definition in the catalog settings and you'll get extra fields for plural strings...

  • 2
    Wasn't that easy. You have to know how to setup the po file...
    – kaiser
    Nov 9, 2011 at 15:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.