MediaWiki  1.23.15
LanguageKk.php
Go to the documentation of this file.
1 <?php
24 require_once __DIR__ . '/../LanguageConverter.php';
25 require_once __DIR__ . '/LanguageKk_cyrl.php';
26 
27 define( 'KK_C_UC', 'АӘБВГҒДЕЁЖЗИЙКҚЛМНҢОӨПРСТУҰҮФХҺЦЧШЩЪЫІЬЭЮЯ' ); # Kazakh Cyrillic uppercase
28 define( 'KK_C_LC', 'аәбвгғдеёжзийкқлмнңоөпрстуұүфхһцчшщъыіьэюя' ); # Kazakh Cyrillic lowercase
29 define( 'KK_L_UC', 'AÄBCÇDEÉFGĞHIİÏJKLMNÑOÖPQRSŞTUÜVWXYÝZ' ); # Kazakh Latin uppercase
30 define( 'KK_L_LC', 'aäbcçdeéfgğhıiïjklmnñoöpqrsştuüvwxyýz' ); # Kazakh Latin lowercase
31 // define( 'KK_A', 'ٴابپتجحدرزسشعفقكلمنڭەوۇۋۆىيچھ' ); # Kazakh Arabic
32 define( 'H_HAMZA', 'ٴ' ); # U+0674 ARABIC LETTER HIGH HAMZA
33 // define( 'ZWNJ', '‌' ); # U+200C ZERO WIDTH NON-JOINER
34 
40 class KkConverter extends LanguageConverter {
41 
43 
51  function __construct( $langobj, $maincode,
52  $variants = array(),
53  $variantfallbacks = array(),
54  $flags = array() ) {
55  parent::__construct( $langobj, $maincode,
56  $variants, $variantfallbacks, $flags );
57 
58  // No point delaying this since they're in code.
59  // Waiting until loadDefaultTables() means they never get loaded
60  // when the tables themselves are loaded from cache.
61  $this->loadRegs();
62  }
63 
64  function loadDefaultTables() {
65  // require __DIR__."/../../includes/KkConversion.php";
66  // Placeholder for future implementing. Remove variables declarations
67  // after generating KkConversion.php
68  $kk2Cyrl = array();
69  $kk2Latn = array();
70  $kk2Arab = array();
71  $kk2KZ = array();
72  $kk2TR = array();
73  $kk2CN = array();
74 
75  $this->mTables = array(
76  'kk-cyrl' => new ReplacementArray( $kk2Cyrl ),
77  'kk-latn' => new ReplacementArray( $kk2Latn ),
78  'kk-arab' => new ReplacementArray( $kk2Arab ),
79  'kk-kz' => new ReplacementArray( array_merge( $kk2Cyrl, $kk2KZ ) ),
80  'kk-tr' => new ReplacementArray( array_merge( $kk2Latn, $kk2TR ) ),
81  'kk-cn' => new ReplacementArray( array_merge( $kk2Arab, $kk2CN ) ),
82  'kk' => new ReplacementArray()
83  );
84  }
85 
86  function postLoadTables() {
87  $this->mTables['kk-kz']->merge( $this->mTables['kk-cyrl'] );
88  $this->mTables['kk-tr']->merge( $this->mTables['kk-latn'] );
89  $this->mTables['kk-cn']->merge( $this->mTables['kk-arab'] );
90  }
91 
92  function loadRegs() {
93 
94  $this->mCyrl2Latn = array(
95  # # Punctuation
96  '/№/u' => 'No.',
97  # # Е after vowels
98  '/([АӘЕЁИОӨҰҮЭЮЯЪЬ])Е/u' => '$1YE',
99  '/([АӘЕЁИОӨҰҮЭЮЯЪЬ])е/ui' => '$1ye',
100  # # leading ЁЮЯЩ
101  '/^Ё([' . KK_C_UC . ']|$)/u' => 'YO$1', '/^Ё([' . KK_C_LC . ']|$)/u' => 'Yo$1',
102  '/^Ю([' . KK_C_UC . ']|$)/u' => 'YU$1', '/^Ю([' . KK_C_LC . ']|$)/u' => 'Yu$1',
103  '/^Я([' . KK_C_UC . ']|$)/u' => 'YA$1', '/^Я([' . KK_C_LC . ']|$)/u' => 'Ya$1',
104  '/^Щ([' . KK_C_UC . ']|$)/u' => 'ŞÇ$1', '/^Щ([' . KK_C_LC . ']|$)/u' => 'Şç$1',
105  # # other ЁЮЯ
106  '/Ё/u' => 'YO', '/ё/u' => 'yo',
107  '/Ю/u' => 'YU', '/ю/u' => 'yu',
108  '/Я/u' => 'YA', '/я/u' => 'ya',
109  '/Щ/u' => 'ŞÇ', '/щ/u' => 'şç',
110  # # soft and hard signs
111  '/[ъЪ]/u' => 'ʺ', '/[ьЬ]/u' => 'ʹ',
112  # # other characters
113  '/А/u' => 'A', '/а/u' => 'a', '/Ә/u' => 'Ä', '/ә/u' => 'ä',
114  '/Б/u' => 'B', '/б/u' => 'b', '/В/u' => 'V', '/в/u' => 'v',
115  '/Г/u' => 'G', '/г/u' => 'g', '/Ғ/u' => 'Ğ', '/ғ/u' => 'ğ',
116  '/Д/u' => 'D', '/д/u' => 'd', '/Е/u' => 'E', '/е/u' => 'e',
117  '/Ж/u' => 'J', '/ж/u' => 'j', '/З/u' => 'Z', '/з/u' => 'z',
118  '/И/u' => 'Ï', '/и/u' => 'ï', '/Й/u' => 'Ý', '/й/u' => 'ý',
119  '/К/u' => 'K', '/к/u' => 'k', '/Қ/u' => 'Q', '/қ/u' => 'q',
120  '/Л/u' => 'L', '/л/u' => 'l', '/М/u' => 'M', '/м/u' => 'm',
121  '/Н/u' => 'N', '/н/u' => 'n', '/Ң/u' => 'Ñ', '/ң/u' => 'ñ',
122  '/О/u' => 'O', '/о/u' => 'o', '/Ө/u' => 'Ö', '/ө/u' => 'ö',
123  '/П/u' => 'P', '/п/u' => 'p', '/Р/u' => 'R', '/р/u' => 'r',
124  '/С/u' => 'S', '/с/u' => 's', '/Т/u' => 'T', '/т/u' => 't',
125  '/У/u' => 'W', '/у/u' => 'w', '/Ұ/u' => 'U', '/ұ/u' => 'u',
126  '/Ү/u' => 'Ü', '/ү/u' => 'ü', '/Ф/u' => 'F', '/ф/u' => 'f',
127  '/Х/u' => 'X', '/х/u' => 'x', '/Һ/u' => 'H', '/һ/u' => 'h',
128  '/Ц/u' => 'C', '/ц/u' => 'c', '/Ч/u' => 'Ç', '/ч/u' => 'ç',
129  '/Ш/u' => 'Ş', '/ш/u' => 'ş', '/Ы/u' => 'I', '/ы/u' => 'ı',
130  '/І/u' => 'İ', '/і/u' => 'i', '/Э/u' => 'É', '/э/u' => 'é',
131  );
132 
133  $this->mLatn2Cyrl = array(
134  # # Punctuation
135  '/#|No\./' => '№',
136  # # Şç
137  '/ŞÇʹ/u' => 'ЩЬ', '/Şçʹ/u' => 'Щь',
138  '/Ş[Çç]/u' => 'Щ', '/şç/u' => 'щ',
139  # # soft and hard signs
140  '/([' . KK_L_UC . '])ʺ([' . KK_L_UC . '])/u' => '$1Ъ$2',
141  '/ʺ([' . KK_L_LC . '])/u' => 'ъ$1',
142  '/([' . KK_L_UC . '])ʹ([' . KK_L_UC . '])/u' => '$1Ь$2',
143  '/ʹ([' . KK_L_LC . '])/u' => 'ь$1',
144  '/ʺ/u' => 'ъ',
145  '/ʹ/u' => 'ь',
146  # # Ye Yo Yu Ya.
147  '/Y[Ee]/u' => 'Е', '/ye/u' => 'е',
148  '/Y[Oo]/u' => 'Ё', '/yo/u' => 'ё',
149  '/Y[UWuw]/u' => 'Ю', '/y[uw]/u' => 'ю',
150  '/Y[Aa]/u' => 'Я', '/ya/u' => 'я',
151  # # other characters
152  '/A/u' => 'А', '/a/u' => 'а', '/Ä/u' => 'Ә', '/ä/u' => 'ә',
153  '/B/u' => 'Б', '/b/u' => 'б', '/C/u' => 'Ц', '/c/u' => 'ц',
154  '/Ç/u' => 'Ч', '/ç/u' => 'ч', '/D/u' => 'Д', '/d/u' => 'д',
155  '/E/u' => 'Е', '/e/u' => 'е', '/É/u' => 'Э', '/é/u' => 'э',
156  '/F/u' => 'Ф', '/f/u' => 'ф', '/G/u' => 'Г', '/g/u' => 'г',
157  '/Ğ/u' => 'Ғ', '/ğ/u' => 'ғ', '/H/u' => 'Һ', '/h/u' => 'һ',
158  '/I/u' => 'Ы', '/ı/u' => 'ы', '/İ/u' => 'І', '/i/u' => 'і',
159  '/Ï/u' => 'И', '/ï/u' => 'и', '/J/u' => 'Ж', '/j/u' => 'ж',
160  '/K/u' => 'К', '/k/u' => 'к', '/L/u' => 'Л', '/l/u' => 'л',
161  '/M/u' => 'М', '/m/u' => 'м', '/N/u' => 'Н', '/n/u' => 'н',
162  '/Ñ/u' => 'Ң', '/ñ/u' => 'ң', '/O/u' => 'О', '/o/u' => 'о',
163  '/Ö/u' => 'Ө', '/ö/u' => 'ө', '/P/u' => 'П', '/p/u' => 'п',
164  '/Q/u' => 'Қ', '/q/u' => 'қ', '/R/u' => 'Р', '/r/u' => 'р',
165  '/S/u' => 'С', '/s/u' => 'с', '/Ş/u' => 'Ш', '/ş/u' => 'ш',
166  '/T/u' => 'Т', '/t/u' => 'т', '/U/u' => 'Ұ', '/u/u' => 'ұ',
167  '/Ü/u' => 'Ү', '/ü/u' => 'ү', '/V/u' => 'В', '/v/u' => 'в',
168  '/W/u' => 'У', '/w/u' => 'у', '/Ý/u' => 'Й', '/ý/u' => 'й',
169  '/X/u' => 'Х', '/x/u' => 'х', '/Z/u' => 'З', '/z/u' => 'з',
170  );
171 
172  $this->mCyLa2Arab = array(
173  # # Punctuation -> Arabic
174  '/#|№|No\./u' => '؀', # &#x0600;
175  '/\,/' => '،', # &#x060C;
176  '/;/' => '؛', # &#x061B;
177  '/\?/' => '؟', # &#x061F;
178  '/%/' => '٪', # &#x066A;
179  '/\*/' => '٭', # &#x066D;
180  # # Digits -> Arabic
181  '/0/' => '۰', # &#x06F0;
182  '/1/' => '۱', # &#x06F1;
183  '/2/' => '۲', # &#x06F2;
184  '/3/' => '۳', # &#x06F3;
185  '/4/' => '۴', # &#x06F4;
186  '/5/' => '۵', # &#x06F5;
187  '/6/' => '۶', # &#x06F6;
188  '/7/' => '۷', # &#x06F7;
189  '/8/' => '۸', # &#x06F8;
190  '/9/' => '۹', # &#x06F9;
191  # # Cyrillic -> Arabic
192  '/Аллаһ/ui' => 'ﷲ',
193  '/([АӘЕЁИОӨҰҮЭЮЯЪЬ])е/ui' => '$1يە',
194  '/[еэ]/ui' => 'ە', '/[ъь]/ui' => '',
195  '/[аә]/ui' => 'ا', '/[оө]/ui' => 'و', '/[ұү]/ui' => 'ۇ', '/[ыі]/ui' => 'ى',
196  '/[и]/ui' => 'ىي', '/ё/ui' => 'يو', '/ю/ui' => 'يۋ', '/я/ui' => 'يا', '/[й]/ui' => 'ي',
197  '/ц/ui' => 'تس', '/щ/ui' => 'شش',
198  '/һ/ui' => 'ح', '/ч/ui' => 'تش',
199  # '/һ/ui' => 'ھ', '/ч/ui' => 'چ',
200  '/б/ui' => 'ب', '/в/ui' => 'ۆ', '/г/ui' => 'گ', '/ғ/ui' => 'ع',
201  '/д/ui' => 'د', '/ж/ui' => 'ج', '/з/ui' => 'ز', '/к/ui' => 'ك',
202  '/қ/ui' => 'ق', '/л/ui' => 'ل', '/м/ui' => 'م', '/н/ui' => 'ن',
203  '/ң/ui' => 'ڭ', '/п/ui' => 'پ', '/р/ui' => 'ر', '/с/ui' => 'س',
204  '/т/ui' => 'ت', '/у/ui' => 'ۋ', '/ф/ui' => 'ف', '/х/ui' => 'ح',
205  '/ш/ui' => 'ش',
206  # # Latin -> Arabic // commented for now...
207  /*'/Allah/ui' => 'ﷲ',
208  '/[eé]/ui' => 'ە', '/[yý]/ui' => 'ي', '/[ʺʹ]/ui' => '',
209  '/[aä]/ui' => 'ا', '/[oö]/ui' => 'و', '/[uü]/ui' => 'ۇ',
210  '/[ï]/ui' => 'ىي', '/[ıIiİ]/u' => 'ى',
211  '/c/ui' => 'تس',
212  '/ç/ui' => 'تش', '/h/ui' => 'ح',
213  #'/ç/ui' => 'چ', '/h/ui' => 'ھ',
214  '/b/ui' => 'ب','/d/ui' => 'د',
215  '/f/ui' => 'ف', '/g/ui' => 'گ', '/ğ/ui' => 'ع',
216  '/j/ui' => 'ج', '/k/ui' => 'ك', '/l/ui' => 'ل', '/m/ui' => 'م',
217  '/n/ui' => 'ن', '/ñ/ui' => 'ڭ', '/p/ui' => 'پ', '/q/ui' => 'ق',
218  '/r/ui' => 'ر', '/s/ui' => 'س', '/ş/ui' => 'ش', '/t/ui' => 'ت',
219  '/v/ui' => 'ۆ', '/w/ui' => 'ۋ', '/x/ui' => 'ح', '/z/ui' => 'ز',*/
220  );
221  }
222 
234  function parseManualRule( $rule, $flags = array() ) {
235  if ( in_array( 'T', $flags ) ) {
236  return parent::parseManualRule( $rule, $flags );
237  }
238 
239  $carray = array();
240  // otherwise ignore all formatting
241  foreach ( $this->mVariants as $v ) {
242  $carray[$v] = $rule;
243  }
244 
245  return $carray;
246  }
247 
258  function findVariantLink( &$link, &$nt, $ignoreOtherCond = false ) {
259  // check for user namespace
260  if ( is_object( $nt ) ) {
261  $ns = $nt->getNamespace();
262  if ( $ns == NS_USER || $ns == NS_USER_TALK ) {
263  return;
264  }
265  }
266 
267  $oldlink = $link;
268  parent::findVariantLink( $link, $nt, $ignoreOtherCond );
269  if ( $this->getPreferredVariant() == $this->mMainLanguageCode ) {
270  $link = $oldlink;
271  }
272  }
273 
283  function autoConvert( $text, $toVariant = false ) {
285  if ( is_object( $wgTitle ) && $wgTitle->getNamespace() == NS_FILE ) {
286  $imagename = $wgTitle->getNsText();
287  if ( preg_match( "/^$imagename:/", $text ) ) {
288  return $text;
289  }
290  }
291  return parent::autoConvert( $text, $toVariant );
292  }
293 
302  function translate( $text, $toVariant ) {
303  global $wgLanguageCode;
304  $text = parent::translate( $text, $toVariant );
305 
306  switch ( $toVariant ) {
307  case 'kk-cyrl':
308  case 'kk-kz':
309  $letters = KK_L_UC . KK_L_LC . 'ʺʹ#0123456789';
310  $wgLanguageCode = 'kk';
311  break;
312  case 'kk-latn':
313  case 'kk-tr':
314  $letters = KK_C_UC . KK_C_LC . '№0123456789';
315  $wgLanguageCode = 'kk-Latn';
316  break;
317  case 'kk-arab':
318  case 'kk-cn':
319  $letters = KK_C_UC . KK_C_LC . /*KK_L_UC.KK_L_LC.'ʺʹ'.*/',;\?%\*№0123456789';
320  $wgLanguageCode = 'kk-Arab';
321  break;
322  default:
323  $wgLanguageCode = 'kk';
324  return $text;
325  }
326  // disable conversion variables like $1, $2...
327  $varsfix = '\$[0-9]';
328 
329  $matches = preg_split( '/' . $varsfix . '[^' . $letters . ']+/u', $text, -1, PREG_SPLIT_OFFSET_CAPTURE );
330  $mstart = 0;
331  $ret = '';
332  foreach ( $matches as $m ) {
333  $ret .= substr( $text, $mstart, $m[1] -$mstart );
334  $ret .= $this->regsConverter( $m[0], $toVariant );
335  $mstart = $m[1] + strlen( $m[0] );
336  }
337  return $ret;
338  }
339 
345  function regsConverter( $text, $toVariant ) {
346  if ( $text == '' ) {
347  return $text;
348  }
349 
350  switch ( $toVariant ) {
351  case 'kk-arab':
352  case 'kk-cn':
353  $letters = KK_C_LC . KK_C_UC/*.KK_L_LC.KK_L_UC*/;
354  $front = 'әөүіӘӨҮІ'/*.'äöüiÄÖÜİ'*/;
355  $excludes = 'еэгғкқЕЭГҒКҚ'/*.'eégğkqEÉGĞKQ'*/;
356  // split text to words
357  $matches = preg_split( '/[\b\s\-\.:]+/', $text, -1, PREG_SPLIT_OFFSET_CAPTURE );
358  $mstart = 0;
359  $ret = '';
360  foreach ( $matches as $m ) {
361  $ret .= substr( $text, $mstart, $m[1] - $mstart );
362  // is matched the word to front vowels?
363  // exclude a words matched to е, э, г, к, к, қ,
364  // them should be without hamza
365  if ( preg_match( '/[' . $front . ']/u', $m[0] ) && !preg_match( '/[' . $excludes . ']/u', $m[0] ) ) {
366  $ret .= preg_replace( '/[' . $letters . ']+/u', H_HAMZA . '$0', $m[0] );
367  } else {
368  $ret .= $m[0];
369  }
370  $mstart = $m[1] + strlen( $m[0] );
371  }
372  $text =& $ret;
373  foreach ( $this->mCyLa2Arab as $pat => $rep ) {
374  $text = preg_replace( $pat, $rep, $text );
375  }
376  return $text;
377  break;
378  case 'kk-latn':
379  case 'kk-tr':
380  foreach ( $this->mCyrl2Latn as $pat => $rep ) {
381  $text = preg_replace( $pat, $rep, $text );
382  }
383  return $text;
384  break;
385  case 'kk-cyrl':
386  case 'kk-kz':
387  foreach ( $this->mLatn2Cyrl as $pat => $rep ) {
388  $text = preg_replace( $pat, $rep, $text );
389  }
390  return $text;
391  break;
392  default:
393  return $text;
394  }
395  }
396 
401  function convertCategoryKey( $key ) {
402  return $this->autoConvert( $key, 'kk' );
403  }
404 
405 }
406 
414 
415  function __construct() {
417  parent::__construct();
418 
419  $variants = array( 'kk', 'kk-cyrl', 'kk-latn', 'kk-arab', 'kk-kz', 'kk-tr', 'kk-cn' );
420  $variantfallbacks = array(
421  'kk' => 'kk-cyrl',
422  'kk-cyrl' => 'kk',
423  'kk-latn' => 'kk',
424  'kk-arab' => 'kk',
425  'kk-kz' => 'kk-cyrl',
426  'kk-tr' => 'kk-latn',
427  'kk-cn' => 'kk-arab'
428  );
429 
430  $this->mConverter = new KkConverter( $this, 'kk', $variants, $variantfallbacks );
431 
432  $wgHooks['PageContentSaveComplete'][] = $this->mConverter;
433  }
434 
442  function ucfirst( $string ) {
443  $variant = $this->getPreferredVariant();
444  if ( ( $variant == 'kk-latn' || $variant == 'kk-tr' ) && $string[0] == 'i' ) {
445  $string = 'İ' . substr( $string, 1 );
446  } else {
447  $string = parent::ucfirst( $string );
448  }
449  return $string;
450  }
451 
459  function lcfirst( $string ) {
460  $variant = $this->getPreferredVariant();
461  if ( ( $variant == 'kk-latn' || $variant == 'kk-tr' ) && $string[0] == 'I' ) {
462  $string = 'ı' . substr( $string, 1 );
463  } else {
464  $string = parent::lcfirst( $string );
465  }
466  return $string;
467  }
468 
474  function convertGrammar( $word, $case ) {
475  wfProfileIn( __METHOD__ );
476 
477  $variant = $this->getPreferredVariant();
478  switch ( $variant ) {
479  case 'kk-arab':
480  case 'kk-cn':
481  $word = parent::convertGrammarKk_arab( $word, $case );
482  break;
483  case 'kk-latn':
484  case 'kk-tr':
485  $word = parent::convertGrammarKk_latn( $word, $case );
486  break;
487  case 'kk-cyrl':
488  case 'kk-kz':
489  case 'kk':
490  default:
491  $word = parent::convertGrammarKk_cyrl( $word, $case );
492  }
493 
494  wfProfileOut( __METHOD__ );
495  return $word;
496  }
497 }
KkConverter\loadRegs
loadRegs()
Definition: LanguageKk.php:92
php
skin txt MediaWiki includes four core it has been set as the default in MediaWiki since the replacing Monobook it had been been the default skin since before being replaced by Vector largely rewritten in while keeping its appearance Several legacy skins were removed in the as the burden of supporting them became too heavy to bear Those in etc for skin dependent CSS etc for skin dependent JavaScript These can also be customised on a per user by etc This feature has led to a wide variety of user styles becoming that gallery is a good place to ending in php
Definition: skin.txt:62
KkConverter\$mLatn2Cyrl
$mLatn2Cyrl
Definition: LanguageKk.php:42
LanguageKk_cyrl
Kazakh (Қазақша)
Definition: LanguageKk_cyrl.php:29
KK_C_LC
const KK_C_LC
Definition: LanguageKk.php:28
H_HAMZA
const H_HAMZA
Definition: LanguageKk.php:32
wfProfileIn
wfProfileIn( $functionname)
Begin profiling of a function.
Definition: Profiler.php:33
$ret
null means default in associative array with keys and values unescaped Should be merged with default with a value of false meaning to suppress the attribute in associative array with keys and values unescaped noclasses & $ret
Definition: hooks.txt:1530
Language\$mConverter
LanguageConverter $mConverter
Definition: Language.php:78
NS_FILE
const NS_FILE
Definition: Defines.php:85
KK_L_UC
const KK_L_UC
Definition: LanguageKk.php:29
KkConverter\autoConvert
autoConvert( $text, $toVariant=false)
An ugly function wrapper for parsing Image titles (to prevent image name conversion)
Definition: LanguageKk.php:283
LanguageKk\__construct
__construct()
Definition: LanguageKk.php:415
Language\getPreferredVariant
getPreferredVariant()
Definition: Language.php:3883
KkConverter\convertCategoryKey
convertCategoryKey( $key)
Definition: LanguageKk.php:401
LanguageKk
class that handles Cyrillic, Latin and Arabic scripts for Kazakh right now it only distinguish kk_cyr...
Definition: LanguageKk.php:413
$wgHooks
$wgHooks['ArticleShow'][]
Definition: hooks.txt:110
$flags
it s the revision text itself In either if gzip is the revision text is gzipped $flags
Definition: hooks.txt:2124
$link
set to $title object and return false for a match for latest after cache objects are set use the ContentHandler facility to handle CSS and JavaScript for highlighting & $link
Definition: hooks.txt:2160
KkConverter\__construct
__construct( $langobj, $maincode, $variants=array(), $variantfallbacks=array(), $flags=array())
Definition: LanguageKk.php:51
KkConverter\postLoadTables
postLoadTables()
Definition: LanguageKk.php:86
LanguageKk\convertGrammar
convertGrammar( $word, $case)
Definition: LanguageKk.php:474
KkConverter
Kazakh (Қазақша) converter routines.
Definition: LanguageKk.php:40
LanguageKk\lcfirst
lcfirst( $string)
It fixes issue with lcfirst for transforming 'I' to 'ı'.
Definition: LanguageKk.php:459
wfProfileOut
wfProfileOut( $functionname='missing')
Stop profiling of a function.
Definition: Profiler.php:46
KkConverter\translate
translate( $text, $toVariant)
It translates text into variant.
Definition: LanguageKk.php:302
array
the array() calling protocol came about after MediaWiki 1.4rc1.
List of Api Query prop modules.
global
when a variable name is used in a it is silently declared as a new masking the global
Definition: design.txt:93
KkConverter\parseManualRule
parseManualRule( $rule, $flags=array())
rules should be defined as -{ekavian | iyekavian-} -or- -{code:text | code:text | ....
Definition: LanguageKk.php:234
KkConverter\$mCyrl2Latn
$mCyrl2Latn
Definition: LanguageKk.php:42
NS_USER_TALK
const NS_USER_TALK
Definition: Defines.php:82
ReplacementArray
Replacement array for FSS with fallback to strtr() Supports lazy initialisation of FSS resource.
Definition: StringUtils.php:411
$matches
if(!defined( 'MEDIAWIKI')) if(!isset( $wgVersion)) $matches
Definition: NoLocalSettings.php:33
KkConverter\findVariantLink
findVariantLink(&$link, &$nt, $ignoreOtherCond=false)
A function wrapper:
Definition: LanguageKk.php:258
Makefile.translate
def translate(text, conv_table)
Definition: Makefile.py:216
KK_L_LC
const KK_L_LC
Definition: LanguageKk.php:30
KK_C_UC
const KK_C_UC
Definition: LanguageKk.php:27
KkConverter\regsConverter
regsConverter( $text, $toVariant)
Definition: LanguageKk.php:345
as
This document is intended to provide useful advice for parties seeking to redistribute MediaWiki to end users It s targeted particularly at maintainers for Linux since it s been observed that distribution packages of MediaWiki often break We ve consistently had to recommend that users seeking support use official tarballs instead of their distribution s and this often solves whatever problem the user is having It would be nice if this could such as
Definition: distributors.txt:9
NS_USER
const NS_USER
Definition: Defines.php:81
KkConverter\loadDefaultTables
loadDefaultTables()
Definition: LanguageKk.php:64
LanguageKk\ucfirst
ucfirst( $string)
It fixes issue with ucfirst for transforming 'i' to 'İ'.
Definition: LanguageKk.php:442
KkConverter\$mCyLa2Arab
$mCyLa2Arab
Definition: LanguageKk.php:42
$wgTitle
if(! $wgRequest->checkUrlExtension()) if(! $wgEnableAPI) $wgTitle
Definition: api.php:63