From 2023f5954122a7dbb66963cfaa54678719aae011 Mon Sep 17 00:00:00 2001 From: maedhros Date: Tue, 25 Mar 2008 17:39:02 +0000 Subject: [PATCH] (svn r12417) -Fix: Add a new plural rule for Icelandic. --- src/lang/icelandic.txt | 2 +- src/strgen/strgen.cpp | 2 +- src/strings.cpp | 6 ++++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/lang/icelandic.txt b/src/lang/icelandic.txt index 3efbd02080..262d675c6f 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 1147e7aecc..d05f0e796a 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 9338c99a4d..32f2a297cf 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; } }