1<?php 2/** 3 * Karakalpak (Qaraqalpaqsha) specific code. 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; either version 2 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License along 16 * with this program; if not, write to the Free Software Foundation, Inc., 17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 * http://www.gnu.org/copyleft/gpl.html 19 * 20 * @file 21 * @ingroup Language 22 */ 23 24/** 25 * Karakalpak (Qaraqalpaqsha) 26 * 27 * @ingroup Language 28 */ 29class LanguageKaa extends Language { 30 31 # Convert from the nominative form of a noun to some other case 32 # Invoked with {{GRAMMAR:case|word}} 33 34 /** 35 * Cases: genitive, dative, accusative, locative, ablative, comitative + possessive forms 36 * 37 * @param string $word 38 * @param string $case 39 * 40 * @return string 41 */ 42 public function convertGrammar( $word, $case ) { 43 global $wgGrammarForms; 44 if ( isset( $wgGrammarForms['kaa'][$case][$word] ) ) { 45 return $wgGrammarForms['kaa'][$case][$word]; 46 } 47 /* Full code of function convertGrammar() is in development. Updates coming soon. */ 48 return $word; 49 } 50 51 /** 52 * It fixes issue with ucfirst for transforming 'i' to 'İ' 53 * 54 * @param string $string 55 * 56 * @return string 57 */ 58 public function ucfirst( $string ) { 59 if ( substr( $string, 0, 1 ) === 'i' ) { 60 return 'İ' . substr( $string, 1 ); 61 } 62 return parent::ucfirst( $string ); 63 } 64 65 /** 66 * It fixes issue with lcfirst for transforming 'I' to 'ı' 67 * 68 * @param string $string 69 * 70 * @return mixed|string 71 */ 72 public function lcfirst( $string ) { 73 if ( substr( $string, 0, 1 ) === 'I' ) { 74 return 'ı' . substr( $string, 1 ); 75 } 76 return parent::lcfirst( $string ); 77 } 78 79} 80