(bug 14312) Update LanguageKaa.php for handling transform issues
[lhc/web/wiklou.git] / languages / classes / LanguageCs.php
1 <?php
2
3 /** Czech (česky)
4 *
5 * @ingroup Language
6 */
7 class LanguageCs extends Language {
8 # Grammatical transformations, needed for inflected languages
9 # Invoked by putting {{grammar:case|word}} in a message
10 function convertGrammar( $word, $case ) {
11 global $wgGrammarForms;
12 if ( isset($wgGrammarForms['cs'][$case][$word]) ) {
13 return $wgGrammarForms['cs'][$case][$word];
14 }
15 # allowed values for $case:
16 # 1sg, 2sg, ..., 7sg -- nominative, genitive, ... (in singular)
17 switch ( $word ) {
18 case 'Wikibooks':
19 case 'Wikiknihy':
20 switch ( $case ) {
21 case '2sg':
22 return 'Wikiknih';
23 case '3sg':
24 return 'Wikiknihám';
25 case '6sg':
26 return 'Wikiknihách';
27 case '7sg':
28 return 'Wikiknihami';
29 default:
30 return 'Wikiknihy';
31 }
32 case 'Wikipedia':
33 case 'Wikipedie':
34 switch ( $case ) {
35 case '3sg':
36 case '4sg':
37 case '6sg':
38 return 'Wikipedii';
39 case '7sg':
40 return 'Wikipedií';
41 default:
42 return 'Wikipedie';
43 }
44 case 'Wiktionary':
45 case 'Wikcionář':
46 case 'Wikislovník':
47 switch ( $case ) {
48 case '2sg':
49 case '3sg':
50 case '5sg':
51 case '6sg':
52 return 'Wikislovníku';
53 case '7sg':
54 return 'Wikislovníkem';
55 default:
56 return 'Wikislovník';
57 }
58 case 'Wikiquote':
59 case 'Wikicitáty':
60 switch ( $case ) {
61 case '2sg':
62 return 'Wikicitátů';
63 case '3sg':
64 return 'Wikicitátům';
65 case '6sg':
66 return 'Wikicitátech';
67 default:
68 return 'Wikicitáty';
69 }
70 case 'Wikinews':
71 case 'Wikizprávy':
72 switch ( $case ) {
73 case '2sg':
74 return 'Wikizpráv';
75 case '3sg':
76 return 'Wikizprávám';
77 case '6sg':
78 return 'Wikizprávách';
79 case '7sg':
80 return 'Wikizprávami';
81 default:
82 return 'Wikizprávy';
83 }
84 case 'Wikiversity':
85 case 'Wikiverzita':
86 switch ( $case ) {
87 case '2sg':
88 return 'Wikiverzity';
89 case '3sg':
90 case '6sg':
91 return 'Wikiverzitě';
92 case '4sg':
93 return 'Wikiverzitu';
94 case '5sg':
95 return 'Wikiverzito';
96 case '7sg':
97 return 'Wikiverzitou';
98 default:
99 return 'Wikiverzita';
100 }
101 case 'Wikispecies':
102 case 'Wikidruhy':
103 switch ( $case ) {
104 case '2sg':
105 return 'Wikidruhů';
106 case '3sg':
107 return 'Wikidruhům';
108 case '6sg':
109 return 'Wikidruzích';
110 default:
111 return 'Wikidruhy';
112 }
113 }
114 # unknown
115 return $word;
116 }
117
118 function convertPlural( $count, $forms ) {
119 if ( !count($forms) ) { return ''; }
120 $forms = $this->preConvertPlural( $forms, 3 );
121
122 switch ( $count ) {
123 case 1:
124 return $forms[0];
125 case 2:
126 case 3:
127 case 4:
128 return $forms[1];
129 default:
130 return $forms[2];
131 }
132 }
133 }