(svn r12417) -Fix: Add a new plural rule for Icelandic.
authormaedhros
Tue, 25 Mar 2008 17:39:02 +0000
changeset 9229 7fa9ce47e9c0
parent 9228 e7f3b7bf239a
child 9230 1c0a7c2ee6e5
(svn r12417) -Fix: Add a new plural rule for Icelandic.
src/lang/icelandic.txt
src/strgen/strgen.cpp
src/strings.cpp
--- a/src/lang/icelandic.txt	Tue Mar 25 12:10:13 2008 +0000
+++ b/src/lang/icelandic.txt	Tue Mar 25 17:39:02 2008 +0000
@@ -1,7 +1,7 @@
 ##name Icelandic
 ##ownname Íslenska
 ##isocode is_IS
-##plural 0
+##plural 9
 ##gender karlkyn kvenkyn hvorugkyn
 
 #
--- a/src/strgen/strgen.cpp	Tue Mar 25 12:10:13 2008 +0000
+++ b/src/strgen/strgen.cpp	Tue Mar 25 17:39:02 2008 +0000
@@ -103,7 +103,7 @@
 static int _numcases;
 
 // for each plural value, this is the number of plural forms.
-static const byte _plural_form_counts[] = { 2, 1, 2, 3, 3, 3, 3, 3, 4 };
+static const byte _plural_form_counts[] = { 2, 1, 2, 3, 3, 3, 3, 3, 4, 2 };
 
 static const char *_cur_ident;
 
--- a/src/strings.cpp	Tue Mar 25 12:10:13 2008 +0000
+++ b/src/strings.cpp	Tue Mar 25 17:39:02 2008 +0000
@@ -462,6 +462,12 @@
 	 *   Slovenian */
 	case 8:
 		return n % 100 == 1 ? 0 : n % 100 == 2 ? 1 : n % 100 == 3 || n % 100 == 4 ? 2 : 3;
+
+	/* Two forms; singular used for everything ending in 1 but not in 11.
+	 * Used in:
+	 *   Icelandic */
+	case 9:
+		return n % 10 == 1 && n % 100 != 11 ? 0 : 1;
 	}
 }