MediaWiki
REL1_22
|
00001 <?php 00029 class LanguageKk_cyrl extends Language { 00030 00031 # Convert from the nominative form of a noun to some other case 00032 # Invoked with {{GRAMMAR:case|word}} 00033 00041 function convertGrammarKk_cyrl( $word, $case ) { 00042 global $wgGrammarForms; 00043 if ( isset( $wgGrammarForms['kk-kz'][$case][$word] ) ) { 00044 return $wgGrammarForms['kk-kz'][$case][$word]; 00045 } 00046 if ( isset( $wgGrammarForms['kk-cyrl'][$case][$word] ) ) { 00047 return $wgGrammarForms['kk-cyrl'][$case][$word]; 00048 } 00049 // Set up some constants... 00050 // Vowels in last syllable 00051 $frontVowels = array( "е", "ө", "ү", "і", "ә", "э", "я", "ё", "и" ); 00052 $backVowels = array( "а", "о", "ұ", "ы" ); 00053 $allVowels = array( "е", "ө", "ү", "і", "ә", "э", "а", "о", "ұ", "ы", "я", "ё", "и" ); 00054 // Preceding letters 00055 $Nasals = array( "м", "н", "ң" ); 00056 $Sonants = array( "и", "й", "л", "р", "у", "ю" ); 00057 $Consonants = array( "п", "ф", "к", "қ", "т", "ш", "с", "х", "ц", "ч", "щ", "б", "в", "г", "д" ); 00058 $Sibilants = array( "ж", "з" ); 00059 $Sonorants = array( "и", "й", "л", "р", "у", "ю", "м", "н", "ң", "ж", "з" ); 00060 00061 // Possessives 00062 $firstPerson = array( "м", "ң" ); // 1st singular, 2nd unformal 00063 $secondPerson = array( "з" ); // 1st plural, 2nd formal 00064 $thirdPerson = array( "ы", "і" ); // 3rd 00065 00066 $lastLetter = $this->lastLetter( $word, $allVowels ); 00067 $wordEnding =& $lastLetter[0]; 00068 $wordLastVowel =& $lastLetter[1]; 00069 00070 // Now convert the word 00071 switch ( $case ) { 00072 case "dc1": 00073 case "genitive": # ilik 00074 if ( in_array( $wordEnding, $Consonants ) ) { 00075 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00076 $word = $word . "тің"; 00077 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00078 $word = $word . "тың"; 00079 } 00080 } elseif ( in_array( $wordEnding, $allVowels ) || in_array( $wordEnding, $Nasals ) ) { 00081 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00082 $word = $word . "нің"; 00083 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00084 $word = $word . "ның"; 00085 } 00086 } elseif ( in_array( $wordEnding, $Sonants ) || in_array( $wordEnding, $Sibilants ) ) { 00087 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00088 $word = $word . "дің"; 00089 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00090 $word = $word . "дың"; 00091 } 00092 } 00093 break; 00094 case "dc2": 00095 case "dative": # barıs 00096 if ( in_array( $wordEnding, $Consonants ) ) { 00097 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00098 $word = $word . "ке"; 00099 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00100 $word = $word . "қа"; 00101 } 00102 } elseif ( in_array( $wordEnding, $allVowels ) || in_array( $wordEnding, $Sonorants ) ) { 00103 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00104 $word = $word . "ге"; 00105 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00106 $word = $word . "ға"; 00107 } 00108 } 00109 break; 00110 case "dc21": 00111 case "possessive dative": # täweldık + barıs 00112 if ( in_array( $wordEnding, $firstPerson ) ) { 00113 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00114 $word = $word . "е"; 00115 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00116 $word = $word . "а"; 00117 } 00118 } elseif ( in_array( $wordEnding, $secondPerson ) ) { 00119 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00120 $word = $word . "ге"; 00121 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00122 $word = $word . "ға"; 00123 } 00124 } elseif ( in_array( $wordEnding, $thirdPerson ) ) { 00125 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00126 $word = $word . "не"; 00127 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00128 $word = $word . "на"; 00129 } 00130 } 00131 break; 00132 case "dc3": 00133 case "accusative": # tabıs 00134 if ( in_array( $wordEnding, $Consonants ) ) { 00135 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00136 $word = $word . "ті"; 00137 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00138 $word = $word . "ты"; 00139 } 00140 } elseif ( in_array( $wordEnding, $allVowels ) ) { 00141 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00142 $word = $word . "ні"; 00143 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00144 $word = $word . "ны"; 00145 } 00146 } elseif ( in_array( $wordEnding, $Sonorants ) ) { 00147 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00148 $word = $word . "ді"; 00149 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00150 $word = $word . "ды"; 00151 } 00152 } 00153 break; 00154 case "dc31": 00155 case "possessive accusative": # täweldık + tabıs 00156 if ( in_array( $wordEnding, $firstPerson ) || in_array( $wordEnding, $secondPerson ) ) { 00157 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00158 $word = $word . "ді"; 00159 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00160 $word = $word . "ды"; 00161 } 00162 } elseif ( in_array( $wordEnding, $thirdPerson ) ) { 00163 $word = $word . "н"; 00164 } 00165 break; 00166 case "dc4": 00167 case "locative": # jatıs 00168 if ( in_array( $wordEnding, $Consonants ) ) { 00169 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00170 $word = $word . "те"; 00171 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00172 $word = $word . "та"; 00173 } 00174 } elseif ( in_array( $wordEnding, $allVowels ) || in_array( $wordEnding, $Sonorants ) ) { 00175 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00176 $word = $word . "де"; 00177 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00178 $word = $word . "да"; 00179 } 00180 } 00181 break; 00182 case "dc41": 00183 case "possessive locative": # täweldık + jatıs 00184 if ( in_array( $wordEnding, $firstPerson ) || in_array( $wordEnding, $secondPerson ) ) { 00185 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00186 $word = $word . "де"; 00187 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00188 $word = $word . "да"; 00189 } 00190 } elseif ( in_array( $wordEnding, $thirdPerson ) ) { 00191 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00192 $word = $word . "нде"; 00193 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00194 $word = $word . "нда"; 00195 } 00196 } 00197 break; 00198 case "dc5": 00199 case "ablative": # şığıs 00200 if ( in_array( $wordEnding, $Consonants ) ) { 00201 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00202 $word = $word . "тен"; 00203 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00204 $word = $word . "тан"; 00205 } 00206 } elseif ( in_array( $wordEnding, $allVowels ) || in_array( $wordEnding, $Sonants ) || in_array( $wordEnding, $Sibilants ) ) { 00207 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00208 $word = $word . "ден"; 00209 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00210 $word = $word . "дан"; 00211 } 00212 } elseif ( in_array( $wordEnding, $Nasals ) ) { 00213 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00214 $word = $word . "нен"; 00215 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00216 $word = $word . "нан"; 00217 } 00218 } 00219 break; 00220 case "dc51": 00221 case "possessive ablative": # täweldık + şığıs 00222 if ( in_array( $wordEnding, $firstPerson ) || in_array( $wordEnding, $thirdPerson ) ) { 00223 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00224 $word = $word . "нен"; 00225 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00226 $word = $word . "нан"; 00227 } 00228 } elseif ( in_array( $wordEnding, $secondPerson ) ) { 00229 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00230 $word = $word . "ден"; 00231 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00232 $word = $word . "дан"; 00233 } 00234 } 00235 break; 00236 case "dc6": 00237 case "comitative": # kömektes 00238 if ( in_array( $wordEnding, $Consonants ) ) { 00239 $word = $word . "пен"; 00240 } elseif ( in_array( $wordEnding, $allVowels ) || in_array( $wordEnding, $Nasals ) || in_array( $wordEnding, $Sonants ) ) { 00241 $word = $word . "мен"; 00242 } elseif ( in_array( $wordEnding, $Sibilants ) ) { 00243 $word = $word . "бен"; 00244 } 00245 break; 00246 case "dc61": 00247 case "possessive comitative": # täweldık + kömektes 00248 if ( in_array( $wordEnding, $Consonants ) ) { 00249 $word = $word . "пенен"; 00250 } elseif ( in_array( $wordEnding, $allVowels ) || in_array( $wordEnding, $Nasals ) || in_array( $wordEnding, $Sonants ) ) { 00251 $word = $word . "менен"; 00252 } elseif ( in_array( $wordEnding, $Sibilants ) ) { 00253 $word = $word . "бенен"; 00254 } 00255 break; 00256 default: # dc0 #nominative #ataw 00257 } 00258 return $word; 00259 } 00260 00266 function convertGrammarKk_latn( $word, $case ) { 00267 global $wgGrammarForms; 00268 if ( isset( $wgGrammarForms['kk-tr'][$case][$word] ) ) { 00269 return $wgGrammarForms['kk-tr'][$case][$word]; 00270 } 00271 if ( isset( $wgGrammarForms['kk-latn'][$case][$word] ) ) { 00272 return $wgGrammarForms['kk-latn'][$case][$word]; 00273 } 00274 // Set up some constants... 00275 // Vowels in last syllable 00276 $frontVowels = array( "e", "ö", "ü", "i", "ä", "é" ); 00277 $backVowels = array( "a", "o", "u", "ı" ); 00278 $allVowels = array( "e", "ö", "ü", "i", "ä", "é", "a", "o", "u", "ı" ); 00279 // Preceding letters 00280 $Nasals = array( "m", "n", "ñ" ); 00281 $Sonants = array( "ï", "y", "ý", "l", "r", "w" ); 00282 $Consonants = array( "p", "f", "k", "q", "t", "ş", "s", "x", "c", "ç", "b", "v", "g", "d" ); 00283 $Sibilants = array( "j", "z" ); 00284 $Sonorants = array( "ï", "y", "ý", "l", "r", "w", "m", "n", "ñ", "j", "z" ); 00285 00286 // Possessives 00287 $firstPerson = array( "m", "ñ" ); // 1st singular, 2nd unformal 00288 $secondPerson = array( "z" ); // 1st plural, 2nd formal 00289 $thirdPerson = array( "ı", "i" ); // 3rd 00290 00291 $lastLetter = $this->lastLetter( $word, $allVowels ); 00292 $wordEnding =& $lastLetter[0]; 00293 $wordLastVowel =& $lastLetter[1]; 00294 00295 // Now convert the word 00296 switch ( $case ) { 00297 case "dc1": 00298 case "genitive": # ilik 00299 if ( in_array( $wordEnding, $Consonants ) ) { 00300 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00301 $word = $word . "tiñ"; 00302 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00303 $word = $word . "tıñ"; 00304 } 00305 } elseif ( in_array( $wordEnding, $allVowels ) || in_array( $wordEnding, $Nasals ) ) { 00306 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00307 $word = $word . "niñ"; 00308 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00309 $word = $word . "nıñ"; 00310 } 00311 } elseif ( in_array( $wordEnding, $Sonants ) || in_array( $wordEnding, $Sibilants ) ) { 00312 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00313 $word = $word . "diñ"; 00314 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00315 $word = $word . "dıñ"; 00316 } 00317 } 00318 break; 00319 case "dc2": 00320 case "dative": # barıs 00321 if ( in_array( $wordEnding, $Consonants ) ) { 00322 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00323 $word = $word . "ke"; 00324 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00325 $word = $word . "qa"; 00326 } 00327 } elseif ( in_array( $wordEnding, $allVowels ) || in_array( $wordEnding, $Sonorants ) ) { 00328 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00329 $word = $word . "ge"; 00330 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00331 $word = $word . "ğa"; 00332 } 00333 } 00334 break; 00335 case "dc21": 00336 case "possessive dative": # täweldık + barıs 00337 if ( in_array( $wordEnding, $firstPerson ) ) { 00338 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00339 $word = $word . "e"; 00340 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00341 $word = $word . "a"; 00342 } 00343 } elseif ( in_array( $wordEnding, $secondPerson ) ) { 00344 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00345 $word = $word . "ge"; 00346 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00347 $word = $word . "ğa"; 00348 } 00349 } elseif ( in_array( $wordEnding, $thirdPerson ) ) { 00350 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00351 $word = $word . "ne"; 00352 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00353 $word = $word . "na"; 00354 } 00355 } 00356 break; 00357 case "dc3": 00358 case "accusative": # tabıs 00359 if ( in_array( $wordEnding, $Consonants ) ) { 00360 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00361 $word = $word . "ti"; 00362 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00363 $word = $word . "tı"; 00364 } 00365 } elseif ( in_array( $wordEnding, $allVowels ) ) { 00366 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00367 $word = $word . "ni"; 00368 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00369 $word = $word . "nı"; 00370 } 00371 } elseif ( in_array( $wordEnding, $Sonorants ) ) { 00372 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00373 $word = $word . "di"; 00374 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00375 $word = $word . "dı"; 00376 } 00377 } 00378 break; 00379 case "dc31": 00380 case "possessive accusative": # täweldık + tabıs 00381 if ( in_array( $wordEnding, $firstPerson ) || in_array( $wordEnding, $secondPerson ) ) { 00382 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00383 $word = $word . "di"; 00384 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00385 $word = $word . "dı"; 00386 } 00387 } elseif ( in_array( $wordEnding, $thirdPerson ) ) { 00388 $word = $word . "n"; 00389 } 00390 break; 00391 case "dc4": 00392 case "locative": # jatıs 00393 if ( in_array( $wordEnding, $Consonants ) ) { 00394 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00395 $word = $word . "te"; 00396 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00397 $word = $word . "ta"; 00398 } 00399 } elseif ( in_array( $wordEnding, $allVowels ) || in_array( $wordEnding, $Sonorants ) ) { 00400 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00401 $word = $word . "de"; 00402 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00403 $word = $word . "da"; 00404 } 00405 } 00406 break; 00407 case "dc41": 00408 case "possessive locative": # täweldık + jatıs 00409 if ( in_array( $wordEnding, $firstPerson ) || in_array( $wordEnding, $secondPerson ) ) { 00410 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00411 $word = $word . "de"; 00412 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00413 $word = $word . "da"; 00414 } 00415 } elseif ( in_array( $wordEnding, $thirdPerson ) ) { 00416 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00417 $word = $word . "nde"; 00418 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00419 $word = $word . "nda"; 00420 } 00421 } 00422 break; 00423 case "dc5": 00424 case "ablative": # şığıs 00425 if ( in_array( $wordEnding, $Consonants ) ) { 00426 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00427 $word = $word . "ten"; 00428 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00429 $word = $word . "tan"; 00430 } 00431 } elseif ( in_array( $wordEnding, $allVowels ) || in_array( $wordEnding, $Sonants ) || in_array( $wordEnding, $Sibilants ) ) { 00432 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00433 $word = $word . "den"; 00434 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00435 $word = $word . "dan"; 00436 } 00437 } elseif ( in_array( $wordEnding, $Nasals ) ) { 00438 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00439 $word = $word . "nen"; 00440 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00441 $word = $word . "nan"; 00442 } 00443 } 00444 break; 00445 case "dc51": 00446 case "possessive ablative": # täweldık + şığıs 00447 if ( in_array( $wordEnding, $firstPerson ) || in_array( $wordEnding, $thirdPerson ) ) { 00448 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00449 $word = $word . "nen"; 00450 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00451 $word = $word . "nan"; 00452 } 00453 } elseif ( in_array( $wordEnding, $secondPerson ) ) { 00454 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00455 $word = $word . "den"; 00456 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00457 $word = $word . "dan"; 00458 } 00459 } 00460 break; 00461 case "dc6": 00462 case "comitative": # kömektes 00463 if ( in_array( $wordEnding, $Consonants ) ) { 00464 $word = $word . "pen"; 00465 } elseif ( in_array( $wordEnding, $allVowels ) || in_array( $wordEnding, $Nasals ) || in_array( $wordEnding, $Sonants ) ) { 00466 $word = $word . "men"; 00467 } elseif ( in_array( $wordEnding, $Sibilants ) ) { 00468 $word = $word . "ben"; 00469 } 00470 break; 00471 case "dc61": 00472 case "possessive comitative": # täweldık + kömektes 00473 if ( in_array( $wordEnding, $Consonants ) ) { 00474 $word = $word . "penen"; 00475 } elseif ( in_array( $wordEnding, $allVowels ) || in_array( $wordEnding, $Nasals ) || in_array( $wordEnding, $Sonants ) ) { 00476 $word = $word . "menen"; 00477 } elseif ( in_array( $wordEnding, $Sibilants ) ) { 00478 $word = $word . "benen"; 00479 } 00480 break; 00481 default: # dc0 #nominative #ataw 00482 } 00483 return $word; 00484 } 00485 00491 function convertGrammarKk_arab( $word, $case ) { 00492 global $wgGrammarForms; 00493 if ( isset( $wgGrammarForms['kk-cn'][$case][$word] ) ) { 00494 return $wgGrammarForms['kk-cn'][$case][$word]; 00495 } 00496 if ( isset( $wgGrammarForms['kk-arab'][$case][$word] ) ) { 00497 return $wgGrammarForms['kk-arab'][$case][$word]; 00498 } 00499 // Set up some constants... 00500 // Vowels in last syllable 00501 $frontVowels = array( "ە", "ٶ", "ٷ", "ٸ", "ٵ", "ە" ); 00502 $backVowels = array( "ا", "و", "ۇ", "ى" ); 00503 $allVowels = array( "ە", "ٶ", "ٷ", "ٸ", "ٵ", "ە", "ا", "و", "ۇ", "ى" ); 00504 // Preceding letters 00505 $Nasals = array( "م", "ن", "ڭ" ); 00506 $Sonants = array( "ي", "ي", "ل", "ر", "ۋ" ); 00507 $Consonants = array( "پ", "ف", "ك", "ق", "ت", "ش", "س", "ح", "تس", "چ", "ب", "ۆ", "گ", "د" ); 00508 $Sibilants = array( "ج", "ز" ); 00509 $Sonorants = array( "ي", "ي", "ل", "ر", "ۋ", "م", "ن", "ڭ", "ج", "ز" ); 00510 00511 // Possessives 00512 $firstPerson = array( "م", "ڭ" ); // 1st singular, 2nd unformal 00513 $secondPerson = array( "ز" ); // 1st plural, 2nd formal 00514 $thirdPerson = array( "ى", "ٸ" ); // 3rd 00515 00516 $lastLetter = $this->lastLetter( $word, $allVowels ); 00517 $wordEnding = $lastLetter[0]; 00518 $wordLastVowel = $lastLetter[1]; 00519 00520 // Now convert the word 00521 switch ( $case ) { 00522 case "dc1": 00523 case "genitive": # ilik 00524 if ( in_array( $wordEnding, $Consonants ) ) { 00525 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00526 $word = $word . "تٸڭ"; 00527 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00528 $word = $word . "تىڭ"; 00529 } 00530 } elseif ( in_array( $wordEnding, $allVowels ) || in_array( $wordEnding, $Nasals ) ) { 00531 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00532 $word = $word . "نٸڭ"; 00533 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00534 $word = $word . "نىڭ"; 00535 } 00536 } elseif ( in_array( $wordEnding, $Sonants ) || in_array( $wordEnding, $Sibilants ) ) { 00537 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00538 $word = $word . "دٸڭ"; 00539 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00540 $word = $word . "دىڭ"; 00541 } 00542 } 00543 break; 00544 case "dc2": 00545 case "dative": # barıs 00546 if ( in_array( $wordEnding, $Consonants ) ) { 00547 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00548 $word = $word . "كە"; 00549 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00550 $word = $word . "قا"; 00551 } 00552 } elseif ( in_array( $wordEnding, $allVowels ) || in_array( $wordEnding, $Sonorants ) ) { 00553 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00554 $word = $word . "گە"; 00555 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00556 $word = $word . "عا"; 00557 } 00558 } 00559 break; 00560 case "dc21": 00561 case "possessive dative": # täweldık + barıs 00562 if ( in_array( $wordEnding, $firstPerson ) ) { 00563 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00564 $word = $word . "ە"; 00565 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00566 $word = $word . "ا"; 00567 } 00568 } elseif ( in_array( $wordEnding, $secondPerson ) ) { 00569 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00570 $word = $word . "گە"; 00571 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00572 $word = $word . "عا"; 00573 } 00574 } elseif ( in_array( $wordEnding, $thirdPerson ) ) { 00575 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00576 $word = $word . "نە"; 00577 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00578 $word = $word . "نا"; 00579 } 00580 } 00581 break; 00582 case "dc3": 00583 case "accusative": # tabıs 00584 if ( in_array( $wordEnding, $Consonants ) ) { 00585 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00586 $word = $word . "تٸ"; 00587 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00588 $word = $word . "تى"; 00589 } 00590 } elseif ( in_array( $wordEnding, $allVowels ) ) { 00591 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00592 $word = $word . "نٸ"; 00593 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00594 $word = $word . "نى"; 00595 } 00596 } elseif ( in_array( $wordEnding, $Sonorants ) ) { 00597 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00598 $word = $word . "دٸ"; 00599 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00600 $word = $word . "دى"; 00601 } 00602 } 00603 break; 00604 case "dc31": 00605 case "possessive accusative": # täweldık + tabıs 00606 if ( in_array( $wordEnding, $firstPerson ) || in_array( $wordEnding, $secondPerson ) ) { 00607 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00608 $word = $word . "دٸ"; 00609 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00610 $word = $word . "دى"; 00611 } 00612 } elseif ( in_array( $wordEnding, $thirdPerson ) ) { 00613 $word = $word . "ن"; 00614 } 00615 break; 00616 case "dc4": 00617 case "locative": # jatıs 00618 if ( in_array( $wordEnding, $Consonants ) ) { 00619 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00620 $word = $word . "تە"; 00621 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00622 $word = $word . "تا"; 00623 } 00624 } elseif ( in_array( $wordEnding, $allVowels ) || in_array( $wordEnding, $Sonorants ) ) { 00625 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00626 $word = $word . "دە"; 00627 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00628 $word = $word . "دا"; 00629 } 00630 } 00631 break; 00632 case "dc41": 00633 case "possessive locative": # täweldık + jatıs 00634 if ( in_array( $wordEnding, $firstPerson ) || in_array( $wordEnding, $secondPerson ) ) { 00635 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00636 $word = $word . "دە"; 00637 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00638 $word = $word . "دا"; 00639 } 00640 } elseif ( in_array( $wordEnding, $thirdPerson ) ) { 00641 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00642 $word = $word . "ندە"; 00643 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00644 $word = $word . "ندا"; 00645 } 00646 } 00647 break; 00648 case "dc5": 00649 case "ablative": # şığıs 00650 if ( in_array( $wordEnding, $Consonants ) ) { 00651 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00652 $word = $word . "تەن"; 00653 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00654 $word = $word . "تان"; 00655 } 00656 } elseif ( in_array( $wordEnding, $allVowels ) || in_array( $wordEnding, $Sonants ) || in_array( $wordEnding, $Sibilants ) ) { 00657 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00658 $word = $word . "دەن"; 00659 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00660 $word = $word . "دان"; 00661 } 00662 } elseif ( in_array( $wordEnding, $Nasals ) ) { 00663 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00664 $word = $word . "نەن"; 00665 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00666 $word = $word . "نان"; 00667 } 00668 } 00669 break; 00670 case "dc51": 00671 case "possessive ablative": # täweldık + şığıs 00672 if ( in_array( $wordEnding, $firstPerson ) || in_array( $wordEnding, $thirdPerson ) ) { 00673 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00674 $word = $word . "نەن"; 00675 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00676 $word = $word . "نان"; 00677 } 00678 } elseif ( in_array( $wordEnding, $secondPerson ) ) { 00679 if ( in_array( $wordLastVowel, $frontVowels ) ) { 00680 $word = $word . "دەن"; 00681 } elseif ( in_array( $wordLastVowel, $backVowels ) ) { 00682 $word = $word . "دان"; 00683 } 00684 } 00685 break; 00686 case "dc6": 00687 case "comitative": # kömektes 00688 if ( in_array( $wordEnding, $Consonants ) ) { 00689 $word = $word . "پەن"; 00690 } elseif ( in_array( $wordEnding, $allVowels ) || in_array( $wordEnding, $Nasals ) || in_array( $wordEnding, $Sonants ) ) { 00691 $word = $word . "مەن"; 00692 } elseif ( in_array( $wordEnding, $Sibilants ) ) { 00693 $word = $word . "بەن"; 00694 } 00695 break; 00696 case "dc61": 00697 case "possessive comitative": # täweldık + kömektes 00698 if ( in_array( $wordEnding, $Consonants ) ) { 00699 $word = $word . "پەنەن"; 00700 } elseif ( in_array( $wordEnding, $allVowels ) || in_array( $wordEnding, $Nasals ) || in_array( $wordEnding, $Sonants ) ) { 00701 $word = $word . "مەنەن"; 00702 } elseif ( in_array( $wordEnding, $Sibilants ) ) { 00703 $word = $word . "بەنەن"; 00704 } 00705 break; 00706 default: # dc0 #nominative #ataw 00707 } 00708 return $word; 00709 } 00710 00716 function lastLetter( $word, $allVowels ) { 00717 $lastLetter = array(); 00718 00719 // Put the word in a form we can play with since we're using UTF-8 00720 $ar = preg_split( '//u', parent::lc( $word ), -1, PREG_SPLIT_NO_EMPTY ); 00721 00722 // Here's an array with the order of the letters in the word reversed 00723 // so we can find a match quicker *shrug* 00724 $wordReversed = array_reverse( $ar ); 00725 00726 // Here's the last letter in the word 00727 $lastLetter[0] = $ar[count( $ar ) - 1]; 00728 00729 // Find the last vowel in the word 00730 $lastLetter[1] = NULL; 00731 foreach ( $wordReversed as $xvalue ) { 00732 foreach ( $allVowels as $yvalue ) { 00733 if ( strcmp( $xvalue, $yvalue ) == 0 ) { 00734 $lastLetter[1] = $xvalue; 00735 break; 00736 } else { 00737 continue; 00738 } 00739 } 00740 if ( $lastLetter[1] !== NULL ) { 00741 break; 00742 } else { 00743 continue; 00744 } 00745 } 00746 00747 return $lastLetter; 00748 } 00749 00757 function commafy( $_ ) { 00758 if ( !preg_match( '/^\d{1,4}$/', $_ ) ) { 00759 return strrev( (string)preg_replace( '/(\d{3})(?=\d)(?!\d*\.)/', '$1,', strrev( $_ ) ) ); 00760 } else { 00761 return $_; 00762 } 00763 } 00764 }