As the title says: How would you translate…
_n()_n_noop()_nc()_nx()_nx_noop()
…in your .mo files?
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
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.
_n:1,2 _n_noop:1,2 _nx:1,2 _nx_noop:1,2
Links
- 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.
Plugins
This Plugin by (again) Heiko Rabe does a pretty good job with helping translating your plugin.
Footnotes
1) For e.g. UK & U.S.A. have different forms of “colour/color”
2) Every row goes in a single (new) entry.
Method 2
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…
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0