This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
more info about plural forms
- From: Bruno Haible <bruno at clisp dot org>
- To: libc-alpha at sources dot redhat dot com
- Date: Mon, 28 Apr 2003 13:12:27 +0200 (CEST)
- Subject: more info about plural forms
Here is more info about plural forms, that was reported to me or to
bug-glibc-manual over time from various people.
2003-04-27 Bruno Haible <bruno at clisp dot org>
* manual/message.texi (Advanced gettext functions): Add information
about Korean, Portuguese, Latvian. Gaeilge is also known as Irish.
Add section about Lithuanian, reported by Ricardas Cepas
<rch at richard dot eu dot org>.
Add information about Croatian.
Ukrainian is like Russian, reported by Andy Rysin <arysin at yahoo dot com>.
Remove remark about continuation lines that is not true for PO files.
Fix formula for Slovenian, reported by Roman Maurer
<roman dot maurer at amis dot net>.
--- glibc-20030425.orig/manual/message.texi Thu Jul 25 13:18:04 2002
+++ glibc-20030425/manual/message.texi Sun Apr 27 14:48:40 2003
@@ -1236,7 +1236,7 @@
@item Finno-Ugric family
Hungarian
@item Asian family
-Japanese
+Japanese, Korean
@item Turkic/Altaic family
Turkish
@end table
@@ -1265,7 +1265,7 @@
@item Semitic family
Hebrew
@item Romance family
-Italian, Spanish
+Italian, Portuguese, Spanish
@item Artificial
Esperanto
@end table
@@ -1282,7 +1282,22 @@
@table @asis
@item Romanic family
-French
+French, Brazilian Portuguese
+ at end table
+
+ at item Three forms, special case for zero
+The header entry would be:
+
+ at smallexample
+Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;
+ at end smallexample
+
+ at noindent
+Languages with this property include:
+
+ at table @asis
+ at item Baltic family
+Latvian
@end table
@item Three forms, special cases for one and two
@@ -1297,7 +1312,24 @@
@table @asis
@item Celtic
-Gaeilge
+Gaeilge (Irish)
+ at end table
+
+ at item Three forms, special case for numbers ending in 1[2-9]
+The header entry would look like this:
+
+ at smallexample
+Plural-Forms: nplurals=3; \
+ plural=n%10==1 && n%100!=11 ? 0 : \
+ n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2;
+ at end smallexample
+
+ at noindent
+Languages with this property include:
+
+ at table @asis
+ at item Baltic family
+Lithuanian
@end table
@item Three forms, special cases for numbers ending in 1 and 2, 3, 4, except those ending in 1[1-4]
@@ -1313,7 +1345,7 @@
@table @asis
@item Slavic family
-Czech, Russian
+Croatian, Czech, Russian, Ukrainian
@end table
@item Three forms, special cases for 1 and 2, 3, 4
@@ -1341,8 +1373,6 @@
n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;
@end smallexample
-(Continuation in the next line is possible.)
-
@noindent
Languages with this property include:
@@ -1351,12 +1381,12 @@
Polish
@end table
- at item Four forms, special case for one and all numbers ending in 2, 3, or 4
+ at item Four forms, special case for one and all numbers ending in 02, 03, or 04
The header entry would look like this:
@smallexample
Plural-Forms: nplurals=4; \
- plural=n==1 ? 0 : n%10==2 ? 1 : n%10==3 || n%10==4 ? 2 : 3;
+ plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;
@end smallexample
@noindent