summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsmatz <smatz@openttd.org>2009-04-07 00:05:44 +0000
committersmatz <smatz@openttd.org>2009-04-07 00:05:44 +0000
commit1eeb1d6ceeb65ac95efdc58a4f8e4dc555a25ca0 (patch)
tree4a06a98a051194d267a557f8acc628333ce89a12
parentc738978dae5eb8880d062d1cb815b19236d11a5e (diff)
downloadopenttd-1eeb1d6ceeb65ac95efdc58a4f8e4dc555a25ca0.tar.xz
(svn r15965) -Change: use recent Czech language for plural form (it has been official for years anyway)
-rw-r--r--src/lang/czech.txt2
-rw-r--r--src/strgen/strgen.cpp2
-rw-r--r--src/strings.cpp8
3 files changed, 9 insertions, 3 deletions
diff --git a/src/lang/czech.txt b/src/lang/czech.txt
index cf8edc05b..759245685 100644
--- a/src/lang/czech.txt
+++ b/src/lang/czech.txt
@@ -3,7 +3,7 @@
##isocode cs_CZ
##winlangid 0x0405
##grflangid 0x15
-##plural 6
+##plural 10
##case nom gen dat acc voc loc ins big small
##gender m f n
diff --git a/src/strgen/strgen.cpp b/src/strgen/strgen.cpp
index 04a59b387..6bec63094 100644
--- a/src/strgen/strgen.cpp
+++ b/src/strgen/strgen.cpp
@@ -99,7 +99,7 @@ static char _cases[MAX_NUM_CASES][16];
static uint _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, 2 };
+static const byte _plural_form_counts[] = { 2, 1, 2, 3, 3, 3, 3, 3, 4, 2, 3 };
static const char *_cur_ident;
diff --git a/src/strings.cpp b/src/strings.cpp
index f3179573b..7cf2d730a 100644
--- a/src/strings.cpp
+++ b/src/strings.cpp
@@ -439,7 +439,7 @@ static int DeterminePluralForm(int64 count)
/* Three forms, special cases for numbers ending in 1 and 2, 3, 4, except those ending in 1[1-4]
* Used in:
- * Croatian, Czech, Russian, Slovak, Ukrainian */
+ * Croatian, Russian, Slovak, Ukrainian */
case 6:
return n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2;
@@ -460,6 +460,12 @@ static int DeterminePluralForm(int64 count)
* Icelandic */
case 9:
return n % 10 == 1 && n % 100 != 11 ? 0 : 1;
+
+ /* Three forms, special cases for one and 2, 3, or 4
+ * Used in:
+ * Czech */
+ case 10:
+ return n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2;
}
}