summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lang/icelandic.txt2
-rw-r--r--src/strgen/strgen.cpp2
-rw-r--r--src/strings.cpp6
3 files changed, 8 insertions, 2 deletions
diff --git a/src/lang/icelandic.txt b/src/lang/icelandic.txt
index 3efbd0208..262d675c6 100644
--- a/src/lang/icelandic.txt
+++ b/src/lang/icelandic.txt
@@ -1,7 +1,7 @@
##name Icelandic
##ownname Íslenska
##isocode is_IS
-##plural 0
+##plural 9
##gender karlkyn kvenkyn hvorugkyn
#
diff --git a/src/strgen/strgen.cpp b/src/strgen/strgen.cpp
index 1147e7aec..d05f0e796 100644
--- a/src/strgen/strgen.cpp
+++ b/src/strgen/strgen.cpp
@@ -103,7 +103,7 @@ static char _cases[MAX_NUM_CASES][16];
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;
diff --git a/src/strings.cpp b/src/strings.cpp
index 9338c99a4..32f2a297c 100644
--- a/src/strings.cpp
+++ b/src/strings.cpp
@@ -462,6 +462,12 @@ static int DeterminePluralForm(int64 cnt)
* 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;
}
}