MediaWiki
REL1_19
|
00001 <?php 00002 00009 class LanguageKsh extends Language { 00010 static $familygender = array( 00011 // Do not add male wiki families, since that's the default. 00012 // No need add neuter wikis having names ending in -wiki. 00013 'wikipedia' => 'f', 00014 'wikiversity' => 'f', 00015 'wiktionary' => 'n', 00016 'wikibooks' => 'n', 00017 'wikiquote' => 'n', 00018 'wikisource' => 'n', 00019 'wikitravel' => 'n', 00020 'wikia' => 'f', 00021 'translatewiki.net' => 'n', 00022 ); 00023 00070 function convertGrammar( $word, $case ) { 00071 $lord = strtolower( $word ); 00072 $gender = 'm'; // Nuutnaarel // default 00073 if ( preg_match ( '/wiki$/', $lord ) ) { 00074 $gender = 'n'; // Dat xyz-wiki 00075 } 00076 if ( isset( self::$familygender[$lord] ) ) { 00077 $gender = self::$familygender[$lord]; 00078 } 00079 $case = ' ' . strtolower( $case ); 00080 if ( preg_match( '/ [is]/', $case ) ) { 00081 # däm WikiMaatplaz singe, dä Wikipeedija iere, däm Wikiwööterbooch singe 00082 # dem/em WikiMaatplaz singe, de Wikipeedija iere, dem/em Wikiwööterbooch singe 00083 # däm WikiMaatplaz sing, dä Wikipeedija ier, däm Wikiwööterbooch sing 00084 # dem/em WikiMaatplaz sing, de Wikipeedija ier, dem/em Wikiwööterbooch sing 00085 $word = ( preg_match( '/ b/', $case ) 00086 ? ( $gender=='f' ? 'dä' : 'däm' ) 00087 : ( $gender=='f' ? 'de' : 'dem' ) 00088 ) . ' ' . $word . ' ' . 00089 ( $gender=='f' ? 'ier' : 'sing' ) . 00090 ( preg_match( '/ m/', $case ) ? 'e' : '' 00091 ); 00092 } elseif ( preg_match( '/ e/', $case ) ) { 00093 # en dämm WikiMaatPlaz, en dä Wikipeedija, en dämm Wikiwööterbooch 00094 # em WikiMaatplaz, en de Wikipeedija, em Wikiwööterbooch 00095 if ( preg_match( '/ b/', $case ) ) { 00096 $word = 'en '.( $gender == 'f' ? 'dä' : 'däm' ) . ' ' . $word; 00097 } else { 00098 $word = ( $gender == 'f' ? 'en de' : 'em' ) . ' ' . $word; 00099 } 00100 } elseif ( preg_match( '/ [fv]/', $case ) || preg_match( '/ [2jg]/', $case ) ) { 00101 # vun däm WikiMaatplaz, vun dä Wikipeedija, vun däm Wikiwööterbooch 00102 # vum WikiMaatplaz, vun de Wikipeedija, vum Wikiwööterbooch 00103 if ( preg_match( '/ b/', $case ) ) { 00104 $word = 'vun ' . ( $gender == 'f' ? 'dä' : 'däm' ) . ' ' . $word; 00105 } else { 00106 $word = ( $gender== 'f' ? 'vun de' : 'vum' ) . ' ' . $word; 00107 } 00108 } elseif ( preg_match( '/ [3d]/', $case ) ) { 00109 # dämm WikiMaatPlaz, dä Wikipeedija, dämm Wikiwööterbooch 00110 # dem/em WikiMaatplaz, de Wikipeedija, dem/em Wikiwööterbooch 00111 if ( preg_match( '/ b/', $case ) ) { 00112 $word = ( $gender == 'f' ? 'dää' : 'dämm' ) .' ' . $word; 00113 } else { 00114 $word = ( $gender == 'f' ? 'de' : 'dem' ) . ' ' . $word; 00115 } 00116 } else { 00117 # dä WikiMaatPlaz, di Wikipeedija, dat Wikiwööterbooch 00118 # der WikiMaatplaz, de Wikipeedija, et Wikiwööterbooch 00119 if ( preg_match( '/ b/', $case ) ) { 00120 switch ( $gender ) { 00121 case 'm': 00122 $lord = 'dä'; 00123 break ; 00124 case 'f': 00125 $lord = 'di'; 00126 break; 00127 default: 00128 $lord = 'dat'; 00129 } 00130 } else { 00131 switch ( $gender ) { 00132 case 'm': 00133 $lord = 'der'; 00134 break; 00135 case 'f': 00136 $lord = 'de'; 00137 break; 00138 default: 00139 $lord = 'et'; 00140 } 00141 } 00142 $word = $lord.' '.$word; 00143 } 00144 return $word; 00145 } 00146 00154 public function commafy( $_ ) { 00155 if ( !preg_match( '/^\d{1,4}$/', $_ ) ) { 00156 return strrev( (string)preg_replace( '/(\d{3})(?=\d)(?!\d*\.)/', '$1,', strrev( $_ ) ) ); 00157 } else { 00158 return $_; 00159 } 00160 } 00161 00170 function convertPlural( $count, $forms ) { 00171 if ( !count( $forms ) ) { return ''; } 00172 $forms = $this->preConvertPlural( $forms, 3 ); 00173 00174 if ( $count == 1 ) { 00175 return $forms[0]; 00176 } elseif ( $count == 0 ) { 00177 return $forms[2]; 00178 } else { 00179 return $forms[1]; 00180 } 00181 } 00182 }